用zabbix监控mysql数据库全解
由于zabbix-agent本身并没有提供直接对mysql监控的key,所以首先需要通过自定义key来应用这个模板。在默认模板中,key可以分为以下三类:
mysql.status[] mysql.ping mysql.version
mysql监控原理很简单,用mysql的命令show status即可查看相关的性能参数。然后依次取值。
1、 在zabbix-agent端添加mysql的监控脚本
[root@localhost ~]# cat /etc/zabbix/scripts/monitor_mysql
#!/bin/bash
mysql=$(which mysql)
var=$1
MYSQL_USER=zabbix #数据库用户
MYSQL_PASSWORD=zabbix #密码
MYSQL_HOST=127.0.0.1 #主机地址
[ "${var}" = '' ] && echo "" || ${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -e 'show status'|grep -v Variable_name|grep "/b${var}/b"|awk '{print $2}'
[root@localhost ~]# chmod +x /etc/zabbix/scripts/monitor_mysql
脚本测试如下:
如果不能正常运行,则需要检查授权信息是否正确。
2、 修改配置文件
[root@zabbix scripts]# vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/ #子配置文件路径
UnsafeUserParameters=1 #允许特殊字符
修改这俩参数
3、 子配置文件中定义key的名称
步骤:
[root@zabbix conf.d]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix zabbix_agentd.d]# vim mysql_status.conf
UserParameter=mysql.status[*],/etc/zabbix/scripts/monitor_mysql $1
UserParameter=mysql.ping,/usr/bin/mysqladmin -uzabbix –pzabbix ping|grep alive|wc -l
UserParameter=mysql.version,mysql -V |cut -f6 -d" " | sed 's/,//'
4、 在web页面中添加mysql模板:
后记,华安普特公司已经在给广大用户提供免费的监控及报警,可以提供微信,Qq,msn,邮件,短信等报警,有需要可以联系我们。