Akemi

zabbix自定义报警——mysql主从复制状态检查

2024/09/18

准备脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat >/etc/zabbix/mysql_status.sh<<'EOF'
#!/bin/bash
echo "************zabbix获取mysql主从复制状态脚本***************"
# 变量定义
mysql_user=root
mysql_password=root
mysql_host=127.0.0.1
slave_status=$(mysql -u$mysql_user -p$mysql_password -h $mysql_host -e 'show slave status\G;')
# 主函数
echo $slave_status | grep -q "Slave_IO_Running: Yes"
[ $? -eq 0 ] && echo "IO线程运行正常" || exit 1
echo $slave_status | grep -q "Slave_SQL_Running: Yes"
[ $? -eq 0 ] && echo "SQL线程运行正常" || exit 1
EOF
chmod +x /etc/zabbix/mysql_status.sh

agent添加自定义监控项

1
2
3
4
cat >/etc/zabbix/zabbix_agent2.d/mysql.conf<<'EOF'
UserParameter=MYSQL_REP_STATUS,./etc/zabbix/mysql_status.sh > /dev/null 2>&1;echo $?
EOF
systemctl restart zabbix-agent2.service

web添加自定义监控项

1.添加一个模板mysql_rep
略过

2.为模板添加监控项

3.为模板添加触发器

4.mysql主机关联模板mysql_rep

测试

测试mysql主机关闭slave
mysql -uroot -proot -e "stop slave";

CATALOG
  1. 1. 准备脚本
  2. 2. agent添加自定义监控项
  3. 3. web添加自定义监控项
  4. 4. 测试