| 起因: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;
2、登陆从服务器验证一下,看是否正常。操作为 # mysql -unagios -pnagios -e “show slave stutas\G” 注意:这个操作是在 shell下操作的!!
3、在从服务器安装 nrpe,然后加入一行”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 ip -c check_mysql_slave 观察其输出。
7、修改nagios,并测试。
8、功能测试(略)
本日志由 flyinweb 于 2010-05-27 17:37:43 发表,目前已经被浏览 4665 次,评论 0 次;
作者添加了以下标签: nagios,mysql replication;
引用通告:http://www.517sou.net/Article/453/Trackback.ashx
而且直接配置文件是效率最高的,通过其它驱动效率都相对较低,BDB
这个测试不太准确,看官方的测试结果:http://bind-dlz.sourceforg
为什么使用BDB时QPS这么低? 我在bind版本基本相似的环境中测试的
It is quite useful and interesting too.
VIRT 的上限是64G,也就是36位, cat /proc/cpuinfo的结果是:addre
昨天要准备用线程重写webbench,试验了下Fedora Linux 2.6.35.14
不明白您的具体的意思是什么?
已经发送到你QQ邮箱