Mysql 的主从监控主要就是查看
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
如果这两个值 等于Yes 就表示主从状态正常,那么我们只需要统计这两个值的 Yes "数量"
即
- mysql -uuser -Pport -ppasswd -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
统计Slave_IO_Running|Slave_SQL_Running 这两个值的 Yes 数量, 由于可能有多个从故而将端口定义为变量 ,这里自动发现不适用一个主机可以开启多个数据库端口,但是不是每一个都有主从所有手动配置;
cd /etc/zabbix/shell (这是我的脚本放置目录,进入你自己定义的脚本目录)
vim mysql_slave_status.sh
- #!/bin/bash
- mysql_username="Mysql User"
- mysql_password="Mysql Password"
- mysql_host='Mysql Host'
- mysql_port=$1
- mysql -u$mysql_username -h$mysql_host -P$mysql_port -p$mysql_password -e 'show slave status\G' |grep -E
- "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
保存 赋权
- chmod 755 mysql_slave_status.sh
测试结果
mysql_slave_status.sh 3306
[root@localhost ~]# ./mysql_slave_status.sh 3306
2
2
zabbix 配置
cat /etc/zabbix/zabbix_agent.d/slave_mysql.conf
- UserParameter=mysql.slave[*],/etc/zabbix/shell/mysql_slave_status.sh $1
重启 zabbix_agent
测试
[root@localhost ~]# zabbix_get -s 127.0.0.1 -k mysql.slave[6603]
2
2
得到值 2 表示成功 , 接下来就是添加模版了
不过呢 我觉得这样很单调 所以把主从的主信息也加上了配置如下 :
cd /etc/zabbix/shell
cat mysql_slave_message.sh
- #!/bin/bash
- mysql_username="Mysql User"
- mysql_password="Mysql Password"
- mysql_host='Mysql Host'
- mysql_port=$1
- requirements=$2;
- #STATUS=$(mysql -u$mysql_username -h$mysql_host -P$mysql_port -p$mysql_password -e 'show slave status\G')
- #echo $STATUS;
- message_slave(){
- STATUS=$(mysql -u$mysql_username -h$mysql_host -P$mysql_port -p$mysql_password -e 'show slave status\G'| grep
- "$requirements" | awk '{print $2}')
- echo $STATUS;
- }
- message_slave
保存赋权
- chmod 755 mysql_slave_message.sh
测试
[root@localhost ~]# ./mysql_slave_message.sh 3306 Master_Host
192.168.11.212
192.168.11.212
zabbix 配置
cat /etc/zabbix/zabbix_agent.d/slave_mysql.conf
- UserParameter=mysql.slave[*],/etc/zabbix/shell/mysql_slave_status.sh $1
- UserParameter=mysql_slave[*],/etc/zabbix/shell/slave.sh $1 $2
重启 zabbix_agent
测试
[root@localhost ~]# zabbix_get -s 127.0.0.1 -k mysql_slave[3306,Master_Host]
192.168.11.212
192.168.11.212
模版文件的配置 :
创建模版:
创建监控项
创建触发器 主从断开恢复 发送邮件
导出模板为 mysql_slave.xml
最终效果图如下:
没有评论