zabbix监控mysql主从状态
十二宙 人气:1监控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
创建个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 zabbix@'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文件中添加的好处就是在获取主从同步的信息时不会在命令行有使用密码提示的警告
重启agent客户端
systemctl restart zabbix-agent
在zabbix_server端手动测试是否可以获取主从同步信息
zabbix_get -s 192.168.11.5 -k mysql.replication
从结果可以得出,主从状态正常,并且没有了密码警告的问题
-------------------------------------------------------------------------------------------------------------
zabbix页面配置mysql主从状态监控,并发送消息到钉钉
添加mysql从服务器到zabbix页面
zabbix怎么添加主机我就不讲了,mysql从服务器安装zabbix-agent客户端我也不讲了
直接配置
我们可以看到状态是正常的,插一嘴,如果是阿里云服务器麻烦你把10050端口开放了
AandB是并且的意思,mysql服务器发生报警,并且状态为严重的时候,才出发动作
ok了
加载全部内容