1. 完成自定义监控脚本的编写(windows或linux脚本)
脚本要求:(1)既然是监控,那必然要有输出结果值(字符串,数字皆可)
(2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件)
(3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数
2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下两个参数
UnsafeUserParameters=0 =>UnsafeUserParameters=1并去掉前面的注释符
UserParameter= =>UserParameter=aaa.bbb[*], /usr/local/script/monitor.sh $1 $2 …
说明:aaa.bbb[*] ---zabbix服务器添加监控信息时需要用到的key值,
格式:aaa.bbb[*](例:system.file.size[*])
/usr/local/script/monitor.sh ----监控脚本绝对路径
为了便于灵活监控,有时脚本需要传入参数,此参数可从zabbix服务器端传入,所有参数按顺序分别从$1-$9表示
注:(1)若无需传入参数,则红色部分可省略
(2)该自定义脚本可由zabbix服务器控制收集数据的频率(如:每30s运行一次),无需再添加计划任务
(3)以上参数请根据实际情况填写,并注意去除参数前注释符(#)
(4)注意在key值和后面的脚本之间有个逗号隔开
至此,自定义监控脚本zabbix agent端配置结束
3. 测试
测试命令: /usr/local/bin/zabbix_agentd -t key[参数]
示例:/usr/local/bin/zabbix_agentd -t system.file.size[/etc/a.txt,abc,…]
4. 监控脚本举例:
脚本名称:/usr/local/script/monitor.sh
脚本内容:echo `date +"%F %T"`
脚本要求:必须在控制台输出值,该值将作为返回值返回给zabbix服务器端
一、从网上下载相应脚本与XML定义文件。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
看到上述为成功
查看DAT的文件。上传的数据
1. cat /tmp/zabbix_mysql.dat
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)