Zabbix Script 报警监控Mysql Slave服务器

监控Mysql Slave 数据库状态
#############################################################################
修改zabbix_server.conf,如下:
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:报警目录
AlertScriptsPath=/zabbix/server/alertscripts

在mysql slave上添加用户:
FLUSH PRIVILEGES;
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix'; 
FLUSH PRIVILEGES;

在/zabbix/server/alertscripts问题件夹下添加脚本
linux mail 命令: http://www.cnblogs.com/JemBai/archive/2012/01/24/2329136.html
vim mysqlSlaveStatus.sh
#!/bin/bash
#define mysql variable
mysql_user="zabbix"
mysql_pass="zabbix"
ip="192.168.126.133"
#mysql_status=`netstat -nl | awk 'NR>2{if ($4 ~ /.*:3306/) {print "Yes";exit 0}}'`
#echo "mysql status:"$mysql_status;
slave_status=`mysql -h${ip} -u${mysql_user} -p${mysql_pass} -e"show slave status\G" | grep "Slave_IO_Running\|Slave_SQL_Running:" | awk '{if ($2 != "Yes") {print "No";exit 1}}'`
#echo "salve status:"$slave_status
if [ "$slave_status" == "No" ];then
        #echo "slave is not working!"
echo "the slave($ip) is not  working " | mail -s "problem:slave" [email protected]
fi
如果想用短信可以在shell,使用curl call SMS的HTTP地址即可。

配置系统Media Type:


注意脚本文件名带后缀.sh

配置用户:



创建触发器:
我们以可连通最为触发器,因为检查mysql slave的状态是以可联通作为前提条件



创建action:



查看事件状态:



查看email:



问题1:找不到脚本文件/zabbix/server/alertscripts/mysqlSlaveStatus: [2] No such file or directory
查看系统脚本的文件名后缀是否.sh,查看报警目录下是否有对应的报警脚本。


问题2:时间超时timeout while executing a shell script
这个问题是由,zabbix执行shell超时引起的不必过分在意,会重新执行的


监控mysql Slave物理机状态
#########################################################################
创建不可达触发器:



email报警参考: http://donald-draper.iteye.com/blogs/2316456












猜你喜欢

转载自donald-draper.iteye.com/blog/2316673