1.准备环境:
系统版本:CentOS Linux release 7.7.1908 (Core)
Mysql版本:mysql Ver 14.12 Distrib 5.0.77, for unknown-linux-gnu (x86_64) using
登录mysql数据库(从)确保slave服务的开启
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.6.147
Master_User: repluser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master147.000001
Read_Master_Log_Pos: 98
Relay_Log_File: localhost-relay-bin.000004
Relay_Log_Pos: 235
Relay_Master_Log_File: master147.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 235
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
2.在mysql数据库(从)上配置
cd /etc/zabbix/script #自定义目录
vim mysql_slave_status.sh #编写监控脚本
#!/bin/bash
USER="root"
PASSWD="123456"
NAME=$1
function IO {
Slave_IO_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'`
if [ $Slave_IO_Running=="Yes" ];then
echo 0
else
echo 1
fi
}
function SQL {
Slave_SQL_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'`
if [ $Slave_SQL_Running=="Yes" ];then
echo 0
else
echo 1
fi
}
case $NAME in
io)
IO
;;
sql)
SQL
;;
*)
echo -e "Usage: $0 [io | sql]"
esac
wq! #保存退出
cd /usr/local/etc/zabbix_agentd.conf.d #创建配置文件用来指定上面脚本路径
vim userparameter_mysql_slave.conf
UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slave_status.sh $1#获取slave监控
格式:UserParameter=自定义key的名称,命令
/etc/init.d/zabbix_agent restart #重启服务
在MySQL服务器(从)测试脚本获取状态,返回0则表示正常
zabbix_get -s 127.0.0.1 -k mysql.slave[sql]
zabbix_get -s 127.0.0.1 -k mysql.slave[io]
3.打开zabbix server端配置
添加对应的监控主机,创建新的监控项
名称自定义
键值是上面定义的key
应用集自定义即可
选择添加