Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2826
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 52
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-11 21:30
文章分类
文章存档

2013年(2)

我的朋友

分类: 其他平台

2013-08-21 15:29:50

原理:
登陆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;

2、登陆从服务器验证一下,看是否正常。操作为:

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、功能测试(暂略)

  • 本稿件为独家原创稿件,版权所有,引用或转载请注明出处。
  • 文章出处:
阅读(170) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:MySQL如何更改root密码

给主人留下些什么吧!~~