Zabbix添加自定义监控项之(监控mysql状态)
一、实验环境
Zabbixserver 192.168.1.103 版本:V3.0.4
ZabbixAgent 192.168.1.128
Mysql 192.168.1.102
二、监控需求
监控mysql的状态,当状态发生异常,发出报警
三、mysql添加监控监控脚本
3.1、使用mysqladmin工具来检测mysql状态
root@mysql01:~# mysqladmin -uroot -p1qaz#EDC ping
说明:如果MySQL状态正常,会显示mysqld is alive,否则会提示连接不上。对于服务器端,mysqld is alive这样的句子不好理解,服务器端最好只接收1和0,1表示服务可用,0表示服务不可用。那么再改进一下这个命令
3.2、命令改进
root@mysql01:~# mysqladmin -uroot -p1qaz#EDC ping | grep -c alive
注意:用户名和密码放在命令中对于以后的维护不好,所以我们在/var/lib/zabbix下创建一个包含MySQL用户名和密码的配置文件“.my.cnf”
3.2.1、过程如下
root@mysql01: # mkdir /var/lib/zabbix/
root@mysql01: # vim /var/lib/zabbix/.my.cnf #“注意是 .my.cnf,文件名前面是有小数点,代表此文件是一个隐藏文件”
添加如下内容:
测试一下
root@mysql01:# HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
3.3、将这个监控命令添加到Zabbix Agent中,并与一个Key对应
3.3.1、在Agentd配置文件中去掉Include配置项的注释
root@mysql01:~# vim /usr/local/etc/zabbix_agentd.conf
3.3.2、创建子配置文件
root@mysql01:~# cd /usr/local/etc/zabbix_server.conf.d/
root@mysql01:/usr/local/etc/zabbix_server.conf.d# vim userparameter_mysql.conf
添加如下内容:
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
说明:
这个命令中”UserParameter”表示这是一个用户自定义的脚本;“=”号后是脚本的内容;“mysql.ping”是Key,“,”号后的命令会在Zabbix Server向Agent发起获取“mysql.ping”这个key的请求时被调用,并将返回值返回给Server。
3.4、测试是否正常
zabbix_agentd -t mysql.ping
3.5、在Server端也可以使用使用zabbix_get命令来测试从Server端获取指定的Client端的数据
zabbix_get -s 127.0.0.1 -p 10050 -I 192.168.1.103 -k mysql.ping
说明:我这里的 –I 192.168.1.103 为源IP,因为我这里是同过虚拟IP访问server端
4、在管理员面板添加监控项
4.1、可以添加一个自定义的模板,创建模板
4.2定义模板名称后,点击add
4.3、在自定义的模板里创建一个我们刚才自定义的监控项(添加自定义key),点击items
4.4、创建items,之后点击add
4.5、将刚才自定义添加的模板关联给一台被监控的host
到此为止配置完成,那么可以配置触发器来判断获取到的数据库状态的值,从而来产生告警,或将告警信息通过邮件方式或调用短信接口发送给管理员
本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1866023