一直在研究使用zabbix监控mysql数据库,由于zabbix官方的模板支持监控mysql,但是直接使用自带的模板不可用的,需要做一些设置才能够使用。如果你对mysql的监控需求比较简单,那么直接使用zabbix自带的模板即可,如果你的监控需求较高那么将自己编写相关的脚本来实现。
以下乃使用zabbix自带的模板监控mysql步骤:
环境如下:CentOS release 6.5 zabbix-2.2.9 mysql-5.1.73
1. 在zabbix的web访问页面中为主机添加mysql监控模板(默认的MYSQL template name为:Template App MySQL)。
2. 在abbix的客户端配置文件(zabbix_agentd.cnf)中添加如下信息:(以下内容制定zabbix_agentd获取mysql数据)
1. UnsafeUserParameters=1 #启用自定义KEY 2. UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=‘$1‘")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=‘$2‘");" | HOME=/usr/local/zabbix/etc mysql -N 3. UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive 4. UserParameter=mysql.version,mysql -V 5. UserParameter=mysql.status[*],echo "show global status where Variable_name=‘$1‘;" | HOME=/usr/local/zabbix/etc mysql -N | awk ‘{print $$2}‘
备注:以上代码中的HOME=/usr/local/zabbix/etc/为制定zabbix_agentd访问数据库的信息,不可出错
3. 配置mysql数据库创建一个用户来获取监控mysql的相关数据:
GRANT USAGE ON *.* TO ‘mysql_data‘@‘localhost‘ IDENTIFIED BY ‘p@ssw0rd‘; Query OK, 0 rows affected (0.00 sec) flush privileges; Query OK, 0 rows affected (0.00 sec)
4. 添加完账户之后新建/usr/local/zabbix/etc/.my.cnf来提供zabbix agentd访问数据库,内容如下
# vim /usr/local/zabbix/etc/.my.cnf [mysql] host = localhost user = mysql_data password = p@ssw0rd socket = /var/lib/mysql/mysql.sock [mysqladmin] host = localhost user = mysql_data password = p@ssw0rd socket = /var/lib/mysql/mysql.sock
5. 修改完如上信息后即重启zabbix_agentd即可。
6. 以上信息修改后,即可在监控页面查看的mysql的监控信息图形。
如何安装zabbix及添加模板链接下一篇内容。
本文出自 “Aestheticism” 博客,请务必保留此出处http://cctian.blog.51cto.com/10445650/1665070
原文地址:http://cctian.blog.51cto.com/10445650/1665070