zabbix监控mysql主从状态

监控mysql主从机制的原理的是通过从mysql上的zabbix执行show slave status获取
Slave_IO_Running和Slave_SQL_Running状态是否都为Yes来判断主从是否正常。

首先,解释一下 show slave status 中重要的两个参数:
Slave_IO_Running: I/O线程是否被启动并成功地连接到主服务器上。
Slave_SQL_Running: SQL线程是否被启动。


如何监控主从数据库的状态否正常运行,我们可以通过一条命令来获取主从同步信息:
mysql -uzabbix -pzabbix_1527928 -e ‘show slave status\G‘ |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk ‘{print $2}‘|grep -c Yes

主要就是获取以下两个yes来判断主从是否同步
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


zabbix监控mysql主从状态

创建个Mysql的配置文件,在zabbix_agent安装目录下,
cd /etc/zabbix
mkdir etc
cd etc
vim .my.cnf (注意这里是.my.cnf而不是my.cnf,my.cnf是无效的)

[mysql]
host=localhost
user=zabbix
password=zabbix_123456
socket=/tmp/mysql.sock
[mysqladmin]
host=localhost
user=zabbix
password=zabbix_123456
socket=/tmp/mysql.sock

mysql -uroot -pyang_123456 服务器登录mysql
>grant all ON *.* to ‘localhost‘ identified by ‘zabbix_123456‘ 创建zabbix用户和密码并授权


vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 在文件里最后一行添加如下内容

UserParameter=mysql.replication,HOME=/etc/zabbix/etc /usr/local/mysql/bin/mysql -e ‘show slave status\G‘ |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk ‘{print $2}‘|grep -c Yes

在userparameter_mysql.conf文件中添加的好处就是在获取主从同步的信息时不会在命令行有使用密码提示的警告

zabbix监控mysql主从状态

重启agent客户端
systemctl restart zabbix-agent


在zabbix_server端手动测试是否可以获取主从同步信息

zabbix_get -s 192.168.11.5 -k mysql.replication

zabbix监控mysql主从状态

从结果可以得出,主从状态正常,并且没有了密码警告的问题

 -------------------------------------------------------------------------------------------------------------

zabbix页面配置mysql主从状态监控,并发送消息到钉钉

添加mysql从服务器到zabbix页面

zabbix怎么添加主机我就不讲了,mysql从服务器安装zabbix-agent客户端我也不讲了

直接配置

zabbix监控mysql主从状态

zabbix监控mysql主从状态

zabbix监控mysql主从状态

zabbix监控mysql主从状态

zabbix监控mysql主从状态

我们可以看到状态是正常的,插一嘴,如果是阿里云服务器麻烦你把10050端口开放了

zabbix监控mysql主从状态

zabbix监控mysql主从状态

 AandB是并且的意思,mysql服务器发生报警,并且状态为严重的时候,才出发动作

zabbix监控mysql主从状态

zabbix监控mysql主从状态

 zabbix监控mysql主从状态

ok了