zabbix自定义监控和告警(如编写脚本监控硬盘,raid,电源)

一.安装好agent
二. 在目录/etc/zabbix/zabbix_agentd.d 新建配置文件,如check_machine.conf,根据自己监控的项,写好脚本和返回参数。
注意:脚本最好全路径,返回参数如disk.check.xor要在zabbix 唯一
UserParameter=disk.check.xor,/opt/MegaRAID/MegaCli/MegaCli64 -pdlist -a0 | grep -w Online  | wc -l
UserParameter=raid.check.xor,/opt/MegaRAID/MegaCli/MegaCli64 -LDinfo -LALL -a0 | grep -w Optimal |  wc -l
UserParameter=power.check.xor,/usr/sbin/dmidecode  | grep -w Safe |wc -l
三.重启agent和测试
根据操作系统的版本可能有所不同
centos 6.5 重启脚本
service zabbix-agent restart
测试,如果返回值跟自己预估的一样表示配置正确:
本机上进行测试
zabbix_agentd -t  disk.check.xor
在zabbix server上进行测试
/usr/local/zabbix-server/bin/zabbix_get -s 192.168.3.2 -p 10050 -k disk.check.xor
四 .zabbix上进行配置

1在您监控的host上增加item

2 输入参数,根据自己的要求进行配置,key 一定要跟配置文件check_machine.conf中的参数一致。

3. 状态一定要enable,如果不是enable,请检查各种配置和查找原因。

4.  根据自己的要求,输入触发报警的条件。

五. 返回值不正确遇到的问题如何处理
1. 修改agent的配置文件  ,加入
AllowRoot=1
重启agent
此次遇到返回值不能正确返回,跟这个配置有关,进行配置后,能取到正确的数值。
2。可能是 sudo不允许远程执行,需要将 /etc/sudoers中的一行注释就可以了。如下
#Defaults   requiretty   #这行注释就可以了
3.这台agent 无法通过从服务端执行zabbix_get 获取到数据,可能是配置文件没有正确配置,配置文件中加入
Server=127.0.0.1,ServerIP
重启agentd

六 相关命令

 zabbix命令之:zabbix_get命令
zabbix_get命令是在server端用来检查agent端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用zabbix_get来检查能否采集到数据,以便判断问题症结所在。
zabbix_get 参数说明:
-s --host: 指定客户端主机名或者IP
-p --port:客户端端口,默认10050
-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k --key:你想获取的key
至于使用长参数还是短的,自己选,我经常使用-s而不是-host,
如果不知道key参数可以使用 zabbix_agentd -p 寻找自己想要找的参数
[root@host~]# zabbix_agentd -p | grep system.cpu.load
system.cpu.load[all,avg1]                     [d|0.040000]
如果不知道zabbix_get在什么路径,可以使用find / -name zabbix_get查找
[root@host ~]# find / -name zabbix_get
/usr/local/zabbix/bin/zabbix_get
/data/tools/zabbix-4.0.3/src/zabbix_get
/data/tools/zabbix-4.0.3/src/zabbix_get/zabbix_get
/usr/local/zabbix-server/bin/zabbix_get -s 192.168.3.2 -p 10050 -k sanguo.check.ssh

扫描二维码关注公众号,回复: 12539592 查看本文章

猜你喜欢

转载自blog.csdn.net/wzlsunice88/article/details/111470085
今日推荐