Zabbix Script 报警监控Mysql Slave服务器
程序员文章站
2022-03-23 09:07:35
...
监控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" test@qq.com
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
#############################################################################
修改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" test@qq.com
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
上一篇: SSL_1644【取数字问题】
下一篇: 数据流_小记