6、zabbix自定义监控项

一、概述

为什么需要自定义监控呢?

虽然zabbix已经给我们准备好了很多的模板,但是有的东西还是无法监控,这时候就要我们自定义监控了。

自定义监控的思路

比如我们现在想要监控这个值,如下所示,模板里面并没有。

二、步骤

 第一步:我们首先要把需要的值取出来

iostat | awk '/^sda/{print $2}'
4.11

第二步:在被监控端增加增加监控项

[root@web01 ~]#yum -y install zabbix-agent 
[root@web01 ~]#systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbx-agent
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf 
Format: UserParameter=<key>,<shell command>  #这就是格式
Include=/etc/zabbix/zabbix_agentd.d/*.conf   
Server 192.168.80.22 #修改这一处即可,这时的IP是zabbix端的IP,而不是被监控端的,就是告诉被监控端,把数据交给谁。
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/iotop.conf UserParameter=iotop,iostat | awk '/^sda/{print $2}'
[root@web01 ~]# systemctl restart zabbix-agent #重启 [root@web01 ~]# zabbix_agentd -p | grep iotop #验证是否生效 iotop [t|3.96]

第三步:在zabbix-server上验证zabbix-agent是否有对应的监控项

[root@zabbix ~]# yum -y install zabbix-get
[root@zabbix ~]# zabbix_get -s 192.168.80.240 -p10050 -k iotop
3.91

第四步:在zabbix-web界面进行关联对应的主机

 

 

 

 

 单位和更新时间随便写,单位可以自定义,写”个“,”帧“都可以,没问题。

更新时间就是多长时间刷新一次。

历史保留时长不要搞太长,动不动就很长时间,如果着急取一个值,但是数据库满了,数据放不进进去了,web界面也无法显示,到时候干瞪眼!!

这个查看值值得说一下:

 

 

 

 

错误总结

问题一:

 后来再复现这个实验时出了问题,什么问题呢?zabbix通过zabbix_get 命令控测被监控端老是报错:

Check access restrictions in Zabbix agent configuration

检查过程当中也没有发现什么错误,到最后在agent端上看日志时发现了这么一条:

22640:20191230:111447.722 failed to accept an incoming connection: connection from "192.168.80.173" rejected, allowed hosts: "192.168.80.22"

原来代理仅允许80.22访问,而zabbix有两个网卡,一个网卡是80.22另一个网卡是80.173,zabbix探测agent的时候是通过80.173网卡过去的,结果被agent端给拒绝了,其实也很好解决这个问题,在zabbix把带有173地址的那个网卡在down了就可以了,怎么down呢?ifconfig eth1 down。

问题2:

在配置agent代理时,我们要进入agent的配置文件设置ansible-server的IP地址,原本以为这个地址的意思是将收集好的信息交给哪台主机?后来通过查看日志之后发现不是这样,server的意思是我只允许哪台服务器从我这里面通过zabbix协议获取信息,默认的日志地址:var/log/zabbix/zabbix_agentd.log ,这同时也说明了为什么只有zabbix的服务端才能使用zabbix-get命令。

posted @ 2019-12-06 09:51  张贺贺呀  阅读(261)  评论(0编辑  收藏  举报