nagios监控mysql主从同步
2011-01-06 12:59
369 查看
nagios监控mysql主从同步
在网上看了很多多文章大多出自一个人
作者:田逸(sery@163.com)
,不过有几处错误也不够详细 ,在这自己写详细点。
最近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、在被监控的从服务器增加一个用户,给予较低的权限,操作为 :
注:Replication client 有此权限可以查询master server、slave server状态。
mysql > grant Replication client on *.* to nagios@localhost identified by 'nagios';
mysql> flush privileges;
2、验证一下,看是否正常, .
mysql -unagios -pnagios -e "show slave stutas\G"
注意:这个操作是在 shell下操作的!!
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行
vi /usr/local/nagios/etc/nrpe.cfg
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave
4、编写脚本/usr/local/nagios/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 C2-slave is running"
exit 0
else
echo "Critical C2-slave is error"
exit 2
fi
注意权限执行权限
5、手动运行这个脚本,观察输出。
6、执行
/usr/local/nagios/libexec/check_nrpe -H 被监控端机器 -c check_mysql_slave
在nagios执行的
------------------------------------------------------------------------------------------------------------------------------
下面在nagios配置文件
vi /usr/local/nagios/services/nagios.conf
define service{
use service
host_name 被监控段的IP 地址必须有nrpe
service_description check_mysql_slave nagios显示的名字
check_command check_nrpe!check_mysql_slave 查找的插件
notification_options w,u,c,r 状态
contact_groups 联系组
}
vi /usr/local/nagios/hosts/nagios.conf
define host{
use host
host_name IP
alias check_alive
address IP
contact_groups 组
}
![](http://blog.51cto.com/attachment/201101/131745402.jpg)
在网上看了很多多文章大多出自一个人
作者:田逸(sery@163.com)
,不过有几处错误也不够详细 ,在这自己写详细点。
最近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、在被监控的从服务器增加一个用户,给予较低的权限,操作为 :
注:Replication client 有此权限可以查询master server、slave server状态。
mysql > grant Replication client on *.* to nagios@localhost identified by 'nagios';
mysql> flush privileges;
2、验证一下,看是否正常, .
mysql -unagios -pnagios -e "show slave stutas\G"
注意:这个操作是在 shell下操作的!!
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行
vi /usr/local/nagios/etc/nrpe.cfg
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave
4、编写脚本/usr/local/nagios/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 C2-slave is running"
exit 0
else
echo "Critical C2-slave is error"
exit 2
fi
注意权限执行权限
5、手动运行这个脚本,观察输出。
6、执行
/usr/local/nagios/libexec/check_nrpe -H 被监控端机器 -c check_mysql_slave
在nagios执行的
------------------------------------------------------------------------------------------------------------------------------
下面在nagios配置文件
vi /usr/local/nagios/services/nagios.conf
define service{
use service
host_name 被监控段的IP 地址必须有nrpe
service_description check_mysql_slave nagios显示的名字
check_command check_nrpe!check_mysql_slave 查找的插件
notification_options w,u,c,r 状态
contact_groups 联系组
}
vi /usr/local/nagios/hosts/nagios.conf
define host{
use host
host_name IP
alias check_alive
address IP
contact_groups 组
}
![](http://blog.51cto.com/attachment/201101/131745402.jpg)
相关文章推荐
- nagios系列(七)nagios通过自定义脚本的方式监控mysql主从同步
- nagios系列(七)nagios通过自定义脚本的方式监控mysql主从同步
- nagios监控内网mysql主从同步
- zabbix监控mysql-如何使用zabbix自带的模板监控-nagios监控mysql主从
- nagios监控mysql主从复制
- shell监控mysql主从同步
- 监控MySQL主从同步是否异常并报警企业案例模拟
- mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
- nagios3.20安装配置笔记(带飞信短信报警,mssql和mysql监控)
- nagios监控mysql主机,nginx,磁盘IO,网卡流量
- nagios监控mysql的connections和processlist
- nagios监控mysql主从复制
- zabbix监控mysql主从同步
- 将Nagios监控信息存入Mysql
- nagios监控mysql主从复制 推荐
- Nagios监控远端的mysql
- nagios监控mysql主从,并且邮件告警!
- nagios使用check_mysql监控mysql
- nagios监控mysql主机,nginx,磁盘IO,网卡流量
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课