Heim >Datenbank >MySQL-Tutorial >Zabbix监控MySQL主从复制

Zabbix监控MySQL主从复制

WBOY
WBOYOriginal
2016-06-07 17:22:521221Durchsuche

zabbix可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道。登陆

起因:zabbix可能监控到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    'zabbix'@'%' identified by 'zabbix';   
mysql> flush privileges;
 2、登陆从服务器验证一下,,看是否正常。操作为:
mysql -uzabbix -pzabbix -e "show slave stutas\G"   
3、在从服务器安装 zabbix_agentd,然后在配置文件zabbix_agentd.conf加入一行
 UserParameter=mysql.slave,/opt/scripts/check_mysql_slave |grep OK -c
 4、编写脚本/opt/scripts/check_mysql_slave(这是监控其作用的核心),其内容如下:
 #!/bin/sh
 declare -a    slave_is
 slave_is=($(/usr/local/mysql/bin/mysql -uzabbix -pzabbix    -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、修改配置item、trigger,并测试。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn