起因:nagios可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道。 下手处:登陆mysql从服务器,通过执行 mysql> show slave status\G 查看其输出,即可判定主从复制是否正常。下面是某个从服务器的输出: mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.93.16 Master_User: rep1 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000004 Read_Master_Log_Pos: 1752541 Relay_Log_File: hy-mysql3-relay-bin.000088 Relay_Log_Pos: 2339 Relay_Master_Log_File: mysql-bin.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: 这个输出,最关键处就是"Slave_IO_Running: Yes“和“Slave_SQL_Running: Yes”,这两个值全是"Yes"就表明主从复制正常,否则就是有问题。 操作步骤: 1、在主数据库服务器增加一个用户,给予较低的权限,操作为 mysql > grant Replication client on *.* to 'nagios'@'%' identified by 'nagios';
mysql> flush privileges; mysql -unagios -pnagios -e "show slave stutas\G"
注意:这个操作是在 shell下操作的!!
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行 command[check_mysql_slave]=/usr/local/nrpe/libexec/chech_mysql_slave
4、编写脚本/usr/local/nrpe/libexec/check_mysql_slave(这是监控其作用的核心),其内容如下:
#!/bin/sh
declare -a slave_is slave_is=($(/usr/local/mysql/bin/mysql -unagios -pnagios -e "show slave status\G"|grep Running |awk '{print $2}')) if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ] then echo "OK -slave is running" exit 0 else echo "Critical -slave is error" exit 2 fi 5、手动运行这个脚本,观察输出。
6、执行 check_nrpe -H 192.168.99.102 -c check_mysql_slave
观察其输出:
7、修改nagios,并测试。 8、功能测试(略) |
nagios监控mysql主从复制
精选 转载
注:转载自http://sery.blog.51cto.com/10037/244794
作者:田逸(sery@163.com)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MySQL-主从复制监控
文章目录官方文档监控主从复制链路的状态监控主从复制延迟监控主从复制数据一致性
主从监控 mysql 主从复制 二进制日志 -
mysql主从复制延迟监控 mysql主从复制速度
前言: 我们考虑到一些大型的数据库数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即SQL查询的瓶颈,我们知道,正常情况下,Insert SQL就是几十个毫秒的时间内写入完成,而系统中的大
mysql主从复制延迟监控 mysql主从配置 mysql主从配置出现的问题 mycat读写分离 服务器