线上服务的监控已经基本搞定了,现在就剩下mysql 主从的状态没有检测,这里要想用zabbix 监控,还得写一个获取主从状态的脚本,然后设置一个key,创建模板套用这个key 获取mysql 的主从状态是否正常。
1.这里把我的脚本贴一下,脚本要给可执行权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#!/bin/bash
user=zabbixagent
passwd
=zabbixagent
port=$1
#自定义函数
function
status {
status=`
/data/mysql_root/mysql/bin/mysql
-u$user -S
/data/mysql_root/mysql/data
$port
/mysql
.socket -p$
passwd
-e
"show slave status\G;"
|
egrep
'Slave_IO_Running|Slave_SQL_Running'
|
awk
'{print $2}'
|
egrep
'Yes'
|
wc
-l`
if
[ $status = 2 ];
then
echo
2
else
echo
1
fi
}
#引用函数
status
|
2.自定义key
cat /etc/zabbix/zabbix_agentd.d/check_mysql.conf
UserParameter=sanguo.check.mysql[*], /data/salt/scripts/check_mysql.sh $1
重启zabbix_agent
3.创建模板并链接主机
(1).创建Applications
(2).创建items 获取3316实例的slave状态,也可以server上用zabbix_get -s ip -k sanguo.check.mysql[3316] 来获取值
(3).创建trigger 如果最后获取的值不等于2 就触发报警
(4).创建触发action
本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1773036,如需转载请自行联系原作者