zabbix能监控到的硬盘信息,其实很多了。但是监控ssd的状态,以及预估使用年限方面是没有的。
zabbix监控支持自定义脚本以及自制模板来扩展监控,这里的脚本既可以用shell也可以用python、php等语言,另外自定义了脚本主要目的是获取业务相关的监控数据,还需要结合zabbix web GUI上的模板才能生效,通过自定义程序脚本后,zabbix监控的灵活度,会高很多。
一,修改zabbix-agent2配置
[root@ticdc1 ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=10.0.10.11,127.0.0.1,10.0.10.15
EnableRemoteCommands=1 #远程执行命令的选项
UnsafeUserParameters=1 #允许自定义参数
ServerActive=10.0.10.11
Hostname=ticdc1
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
在这里要注意一下,Server=10.0.10.11,127.0.0.1,10.0.10.15,有三个IP。10.0.10.11这个zabbix服务端IP,剩下二个本地和本机对应的局域网IP。加后面二个IP,是为了在本机能检验zabbix的配置。
如果不加,会报以下错
[root@tikv1 script]# zabbix_get -s 127.0.0.1 -p 10050 -k "blk.status[/dev/sda,status]"
zabbix_get [36161]: Get value error: ZBX_TCP_READ() failed: [104] Connection reset by peer
二,zabbix账户,免密获取root权限
[root@ticdc1 ~]# ps aux |grep zabbix
zabbix 37381 0.3 0.0 2722340 19468 ? Ssl 12月21 4:02 /usr/sbin/zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf
root 43549 0.0 0.0 112680 976 pts/2 S+ 16:21 0:00 grep --color=auto zabbix
[root@ticdc1 ~]# echo 'zabbix ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
三,创建python脚本(网上找的脚本改了改)
1,安装smartmontools
[root@ticdc1 ~]# yum -y install smartmontools
2,硬盘发现脚本
[root@tic