Welcome 微信登录

首页 / 数据库 / MySQL / Zabbix监控MySQL主从复制

起因:zabbix可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道。
 
下手处:登陆mysql从服务器,通过执行 mysql> show slave statusG 查看其输出,即可判定主从复制是否正常。下面是某个从服务器的输出: mysql> show slave statusG
 *************************** 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 stutasG"   
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 statusG"|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,并测试。Oracle后台进程之:Slave ProcessesAIX上用裸设备安装Oracle相关资讯      ZABBIX  MySQL主从复制 
  • CentOS搭建MySQL主从复制,读写分  (今 07:44)
  • MySQL主从复制原理应用基础  (08月27日)
  • MySQL主从复制 实践  (08月22日)
  • MySQL主从复制出现1205错误  (08月31日)
  • MySQL 主从复制原理  (08月22日)
  • 使用XtraBackup进行MySQL不锁表主  (08月09日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数