自定义监控MySQL主从状态
首先得配置myslq主从,配置连接:mysql主从配置
然后在从库上,安装zabbix_agentd,安装连接:agintd安装
主从同步完成
MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.48.141
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000001
Read_Master_Log_Pos: 463
Relay_Log_File: myrelay.000003
Relay_Log_Pos: 555
Relay_Master_Log_File: mysql_bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
配置监控脚本
//在被监控端,也就是从库,首先修改配置文件
[root@localhost ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysql_status,/bin/bash /scripts/mysql_status.sh
//重启服务生效配置
[root@localhost ~]# pkill zabbix_agentd
[root@localhost ~]# zabbix_agentd
//再编写脚本
[root@localhost ~]# vim /scripts/mysql_status.sh
#!/bin/bash
yes=`mysql -uroot -p123456 -e " show slave status\G" 2> /dev/null |grep "Running:"|grep -c "Yes"`
if [ $yes == 2 ]; then
echo "0"
else
echo "1"
fi
[root@localhost ~]# chmod +x /scripts/mysql_status.sh
//去服务端检查key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.202.139 -k check_mysql_status
0
添加监控项
添加触发器
手动触发报警
关闭主从
[root@localhost ~]# mysql -uroot -p123456 -e "stop slave;"
自定义监控MySQL延迟
配置监控脚本
监控延迟,我们需要关注 Seconds_Behind_Master这一项
//在被监控端,也就是从库,首先修改配置文件
[root@localhost ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysqlyc,/bin/bash /scripts/mysqlyc.sh
//重启服务生效配置
[root@localhost ~]# pkill zabbix_agentd
[root@localhost ~]# zabbix_agentd
//再编写脚本
[root@localhost ~]# vim /scripts/mysqlyc.sh
#!/bin/bash
yc=`mysql -uroot -p123456 -e "show slave status\G" 2> /dev/null |awk '/Seconds_Behind_Master/ {print $2}' `
echo $yc
[root@localhost ~]# chmod +x /scripts/mysqlyc.sh
//去服务端检查key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.48.151 -k check_mysqlyc
0
添加监控项
添加触发器