2015年(27)
分类: LINUX
2015-02-13 20:01:27
原文地址:zabbix全面监控mysql 作者:gron
zabbix全面监控mysql实施起来还是比较给力的!
一、从网上下载相应脚本与XML定义文件。
下载地址:
Template_MySQL_Server.xml
Template_MySQL_Replication_Master.xml
Template_MySQL_Replication_Slave.xml
和执行脚本:mysql.php
二、把mysql.php上传至配置文件目录/etc/zabbix/
chmod 755 mysql.php
三、修改mysql.php文件
根据本机环境。
第一行加入:#!/usr/bin/php
在最后一行加入:?>
关闭调试:define('DEBUG',true); 为 define('DEBUG',False);
修改日志、数据文件路径:
define('LOG',"/tmp/zabbix_".SYSTEM.".log");
define('DAT',"/tmp/zabbix_".SYSTEM.".dat");
define('UTIME',"/tmp/.zabbix_".SYSTEM.".utime");
define('DTIME',"/tmp/.zabbix_".SYSTEM.".dtime");
修改:define('SYSTEM','mysql'.(DEBUG ? "-debug" : "")); 为:define('SYSTEM','mysql');
打开系统日志功能://system("zabbix_sender -z $server -i ".DAT." >> ".LOG); 为:system("zabbix_sender -z $server -i ".DAT." >> ".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:主要针对性能方面的监控。
七、测试监控是否成功
删除 定时文件
rm /tmp/.zabbix_mysql-debug.dtime;
取的每天的监控数据
php /etc/zabbix/mysql.php daily root *****
取即时数据
php /etc/zabbix/mysql.php live root *****
查看日志
cat /tmp/zabbix_mysql.log
Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.006261"
sent: 1; skipped: 0; total: 1
Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.004047"
sent: 1; skipped: 0; total: 1
Info from server: "Processed 0 Failed 106 Total 106 Seconds spent 0.045790"
sent: 106; skipped: 0; total: 106
看到上述为成功,
查看DAT的文件。上传的数据
cat /tmp/zabbix_mysql.dat
八、最后查看zabbix 的最新数据
这时会看到新增加的监控项。
接下去就是绘制图形。
你们邀按上面的一步一步走,我们就可以用zabbix进行全全面监控mysql!