nagios监控mysql主从同步状态-创新互联

http://blog.163.com/ly_89/blog/static/18690229920111129113543770/

创新互联是一家专注于成都网站制作、网站设计与策划设计,新抚网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:新抚等地区。新抚做网站价格咨询:18980820575

作为一名运维人员,对于 Mysql 的主从同步我们并不陌生。我们如何能得知主从库是否在实时的同步呢?每隔一分钟登录到数据库到数据库执行 show slave status\G  显然是不靠谱。不要忘记我们有监控之神 nagios,我们可以通过 nagios 来监控主从库的同步状态。那如何来实现nagios 监控 mysql 主从同步状态呢?

我们都知道登录到 mysql 数据库之后,通过 show slave status\G 查看其输出,即可以判断主从复制是否正常,下面来看某个服务器懂得输出

mysql> show slave status\G
*************************** 1. row ***************************
      Slave_IO_State: Waiting for master to send event
        Master_Host: 172.16.117.251
        Master_User: test1
        Master_Port: 3306
       Connect_Retry: 60
      Master_Log_File: mysql-bin.000008
    Read_Master_Log_Pos: 16755097
      Relay_Log_File: Slave_sql-relay-bin.000728
       Relay_Log_Pos: 235
   Relay_Master_Log_File: mysql-bin.000008
Slave_IO_Running: Yes
     Slave_SQL_Running: Yes
      Replicate_Do_DB:
    Replicate_Ignore_DB:
    Replicate_Do_Table:
  Replicate_Ignore_Table:
  Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
        Last_Errno: 0
        Last_Error:
       Skip_Counter: 0
    Exec_Master_Log_Pos: 16755097
      Relay_Log_Space: 235
      Until_Condition: None
      Until_Log_File:
       Until_Log_Pos: 0
    Master_SSL_Allowed: No
    Master_SSL_CA_File:
    Master_SSL_CA_Path:
      Master_SSL_Cert:
     Master_SSL_Cipher:
      Master_SSL_Key:
   Seconds_Behind_Master: 0
1 row in set (0.00 sec)

这个输出,最关键处就是"Slave_IO_Running: Yes“和“Slave_SQL_Running: Yes”,这两个值全是"Yes"就表明主从库同步成功

##############################################################################################

nagios 监控 Mysql 主从同步的操作步骤:

第一部分:客户端配置

1. 编写脚本/usr/local/nagios/libexec/check_mysql_slave (这个脚本是监控mysql 主从同步状态的核心)

#!/bin/sh
slave_is=($(/usr/local/mysql/bin/mysql -uroot -pabc  -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

2. 编辑 /usr/local/nagios/libexec/etc/nrpe.cfg 加入监控 mysql 主从状态同步的命令

command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave

3. 启动 nrpe 服务,并检查其端口是否监听

[root@Slave_sql libexec]#  /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d [root@Slave_sql libexec]# netstat -npl | grep nrpe
tcp     0    0 0.0.0.0:5666         0.0.0.0:*          LISTEN    27500/nrpe

4. 启动 mysql 服务手动执行该脚本

[root@Slave_sql libexec]#  ./check_mysql_slave

OK C2-slave is running

 5. 关闭 mysql 服务手动执行该脚本

 [root@Slave_sql libexec]#  ./check_mysql_slave

Critical C2-slave is error

第二部分:服务器端的配置:

1. 编辑 /usr/local/nagios/etc/objects/host.cfg 定义监控的 client

define host {

use           linux-server
host_name        195-Slave-mysql
address           192.35.91.195
check_command      check-host-alive
max_check_attempts    3
normal_check_interval  2
retry_check_interval   2
check_period       24x7
notification_interval  300
notification_period   24x7
notification_options   d,u,r
contact_groups      admins
process_perf_data    1
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
}

2. 编辑 /usr/local/nagios/etc/objects/ service.cfg

define service {
use          generic-service
host_name       195-Slave-mysql
service_description  check_mysql_replication_status
check_command     check_nrpe!check_mysql_slave

max_check_attempts   2
normal_check_interval 2
retry_check_interval  2
check_period      24x7
notification_interval 10
notification_period  24x7
notification_options  w,u,c,r
contact_groups     admins
process_perf_data   1
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
}

3. 重启 nagios 和 apache 服务

[root@node2 objects]# /etc/init.d/nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.
[root@node2 objects]# /etc/init.d/httpd restart
Stopping httpd: [  OK  ]
Starting httpd: [  OK  ]

查看 nagios 监控图像

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:nagios监控mysql主从同步状态-创新互联
网页URL:http://myzitong.com/article/dhpcig.html