如何实施zabbix对mysql全面监控
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实施zabbix对mysql全面监控相关的知识,希望对你有一定的参考价值。
参考技术A 一、从网上下载相应脚本与XML定义文件。下载地址:http://www.zabbix.com/wiki/doku.php?id=extensive_mysql_monitoring_including_replication
1. Template_MySQL_Server.xml
2. Template_MySQL_Replication_Master.xml
3. Template_MySQL_Replication_Slave.xml
和执行脚本:mysql.php
二、把mysql.php上传至配置文件目录/etc/zabbix/
1. chmod 755 mysql.php
三、修改mysql.php文件
根据本机环境。
第一行加入:#!/usr/bin/php
在最后一行加入:?>
关闭调试:define('DEBUG',true); 为 define('DEBUG',False);
修改日志、数据文件路径:
1. define('LOG',"/tmp/zabbix_".SYSTEM.".log");
2. define('DAT',"/tmp/zabbix_".SYSTEM.".dat");
3. define('UTIME',"/tmp/.zabbix_".SYSTEM.".utime");
4. define('DTIME',"/tmp/.zabbix_".SYSTEM.".dtime");
修改:define('SYSTEM','mysql'.(DEBUG ? "-debug" : ""));为:define('SYSTEM','mysql');
打开系统日志功能
> ".LOG); 为
> ".LOG);
在$cmd = "zabbix_sender -z $server -p 10051 -s $host -k ".SYSTEM.".$var -o $val";
下面增加一行:exec($cmd);
四、在zabbix_agentd.conf配置文件中加入
UserParameter=mysql.daily,php /etc/zabbix/mysql.php daily 用户名密码
UserParameter=mysql.live,php /etc/zabbix/mysql.php live 用户名 密码
daily:每天执行一次。
live:按指定时间执行一次。
php :执行php文件
/etc/zabbix/mysql.php:mysql.php文件所在的文件路径
用户名 密码:登录mysql数据库的账户与密码
重启zabbix_agentd
五、在zabbix web管理界面导入xml文件
配置-导入/导出-浏览
六、在主机内增加指定模板
配置-主机-具体主机名-Link with Template-新增-刚导入的模板。
模板分为三种:
template MYSQL_server:监控项最全
template MYSQL_Replication_Master:只监控主要参数,监控功能相对最少
template MYSQL_Replication_Slave:主要针对性能方面的监控。
七、测试监控是否成功
删除 定时文件
1. rm /tmp/.zabbix_mysql-debug.dtime;
取的每天的监控数据
1. php /etc/zabbix/mysql.php daily root *****
取即时数据
1. php /etc/zabbix/mysql.php live root *****
查看日志
1. cat /tmp/zabbix_mysql.log
2. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.006261"
3. sent: 1; skipped: 0; total: 1
4. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.004047"
5. sent: 1; skipped: 0; total: 1
6. Info from server: "Processed 0 Failed 106 Total 106 Seconds spent 0.045790"
7. sent: 106; skipped: 0; total: 106
看到上述为成功
zabbix监控mysql-如何使用zabbix自带的模板监控-nagios监控mysql主从
用zabbix监控mysql(源码安装)安装位置在/usr/local/zabbix/
监控端(server):
在被监控端主机上关联该模板Template App MySQL
中文:组态->主机->名称一栏点击进去->模板,点击链接新模板->添加->Template App MySQL->存档
英文:Configuration->Hosts->Name->Templates,Link new templates->Add->Template App MySQL->Save
2. 被监控端(agent):
1)在源码包../zabbix-2.2.1/conf/zabbix_agentd/ 拷贝模板
cp zabbix-2.2.1/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
2)授予监控mysql信息的用户权限
mysql> grant usage on *.* to [email protected]‘localhost‘ identified by ‘zabbix‘;
3)修改my.cnf
[mysqladmin] host=localhost user=zabbix password=zabbix [mysql] host=localhost user=zabbix password=zabbix
4)修改
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf UserParameter=mysql.status[*],echo "show global status where Variable_name=‘$1‘;" | HOME=/var/lib/zabbix mysql -uzabbix -pzabbix -hlocalhost -N | awk ‘{print $$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=/var/lib/zabbix mysql -uzabbix -pzabbix -hlocalhost -N UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin -uzabbix -pzabbix -hlocalhost ping | grep -c alive UserParameter=mysql.version,mysql -uzabbix -pzabbix -hlocalhost -V
5)
# /etc/init.d/mysqld restart # /etc/init.d/zabbix_agentd restart
6)在server上的查看图像数据
Monitoring->Graphs->MySQL operations
nagios监控主从
ls /usr/local/nagios/etc/objects/commands.cfg # vim /usr/local/nagios/etc/objects/commands.cfg define command { command_name check_mysql_slave command_line $USER1$/check_mysql -H $HOSTADDRESS$ -S -uzabbix -pzabbix } 修改被监控端的配置文件 # vim zabbix_agent.cfg define service{ use local-service host_name zabbix_agent service_description MYSQL_SLAVE check_command check_mysql_slave } /etc/init.d/nagios restart
本文出自 “蚂蚱小子” 博客,请务必保留此出处http://zxlwz.blog.51cto.com/6952946/1853566
以上是关于如何实施zabbix对mysql全面监控的主要内容,如果未能解决你的问题,请参考以下文章