您的位置:首页 > 数据库 > SQL

zabbix使用自带模板监控mysql

2015-06-24 15:13 801 查看
一直在研究使用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” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: