专栏首页用户2544583的专栏Zabbix 检测Mysql数据库的主从同步

Zabbix 检测Mysql数据库的主从同步

在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节。

MySQL同步功能由3个线程(master上1个,slave上2个)来实现,简单的说就是:master发送日志一个,slave接收日志一个,slave运行日志一个。

首先,我们解释一下 show slave status  中重要的几个参数:    

Slave_IO_Running: I/O线程是否被启动并成功地连接到主服务器上。
Slave_SQL_Running: SQL线程是否被启动。
Seconds_Behind_Master:本字段是从属服务器“落后”多少的一个指示。当从属SQL线程正在运行时(处理更新),本字段为在主服务器上由此线程执行的最近的一个事件的时间标记开始,已经过的秒数。当此线程被从属服务器I/O线程赶上,并进入闲置状态,等待来自I/O线程的更多的事件时,本字段为零。总之,本字段测量从属服务器SQL线程和从属服务器I/O线程之间的时间差距,单位以秒计。

那么如何监控从服务器是否正常运行呢?

1、创建监控MYSQL的账号

mysql -uroot -p密码
mysql> grant replication client on *.* to 'zabbix'@'localhost';

2、写一个监控脚本

这个脚本主要用于获取MYSQL主从同步信息;

我们先执行一个命令

mysql -u zabbix -e 'show slave status\G'

我们在输出的信息中选择

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这两项来监控,我测试了一下,当操作的数据出现异常的时候,Slave_SQL_Running就会变成No,当执行slave stop的时候,两个都会变成No;

脚本内容如下

#!/bin/bash
mysql -uzabbix -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

我只写了一条命令,这里详细说明一下它的意思;

先用zabbix这个用户来获取slave的所有状态,然后grep出这两个状态,然后再输出第二列,最后查看有几个Yes状态的,正常情况下有两个Yes状态。

3、在zabbix agent里面添加监控项

文件的最后添加如下一行

UserParameter=mysql.replication,/home/zabbix/mysql-replication.sh

等号后面的字符串中,逗号前面是Key,后面是执行的脚本(脚本不要忘了执行权限)

添加好之后,就重启agent程序

4、Server端添加监控项

zabbix_get -s 192.168.0.34 -k "mysql.replication"
2

这里的192.168.0.34 是我的agent的IP,如果主从复制正常,就会返回2 (代表两个状态都是Yes),现在就说明Server已经可以从agent获取状态了,现在在管理界面中先添加监控项:

配置--模板

先创建一个模板,这个模板的主要功能是用于监视MYSQL主从复制的状态;

添加触发器

当返回的值小于2时,说明只存在1个YES或0个YES,这时候说明MYSQL主从同步出现异常,即产生报警;

获取最新数据

在这里可以看到,已经获取了最新的监控数据,说明监控添加成功;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows Server 2012 R2 WSB功能安装与配置之01 WSB安装与裸机恢复功能测试

    Windows Server Backup我们可以将它理解成是一种快照技术,在XP的年代就已经存在这种快照技术,我常常用到来备份系统,但是在微软一直未被应用,直...

    木子-Lee
  • vCSA6.0 数据库的备份与恢复方法

    vCSA全称:vCenter Server Appliance,是一个基于Linux的虚拟化管理平台,与vCSA5.x不同的是,在vCSA5.x的时候我们只需要...

    木子-Lee
  • 让Veritas数据高可用容灾释放你的双手

    简介:在大数据以PB增长的时代,保证数据高可用的同时,确保数据安全已经成为企业IT领导者及数据管理人员所急迫需解决的问题,Veritas深入地了解用户的各种存...

    木子-Lee
  • Python同学们有福了,效率神器Kite

    Kite是一款免费Python开发必备神器,AI智能自动补全代码,帮助文档,示例代码模板等功能于一身。

    YP小站
  • 重新思考深度学习里的泛化

    2017 ICLR提交的“UnderstandingDeep Learning required Rethinking Generalization”必然会打乱...

    哒呵呵
  • 同步工具类 Java并发编程实战 学习笔记

    同步工具类都包含特定的结构化属性,封装了一些状态,这些状态觉得指定同步工具类的线程是继续执行还是等待。同时,提供了操作状态的方法。

  • 市北创新城市治理模式17000个古力盖全部连上大数据

    某条路上的古力盖缺失,各个部门不必再跑去现场查看权属和型号,只要在城市治理网格化系统平台上查看,就能确定该古力盖的产权单位 、型号等信息 ,直接由该部门前往现场...

    企鹅号小编
  • 我对RF的理解

    用户2149234
  • 环境监控场景的 IoT 物联网开发实战

    MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的支持在各方之间异步通信的消息协议。MQTT 在空间和时间上将消息发送者与接收者分离,因此可以在...

    用户1737318
  • 重学 Java 设计模式:实战中介者模式「按照Mybaits原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」

    同样的幼儿园、同样的小学、一样的书本、一样的课堂,有人学习好、有人学习差。不只是上学,几乎人生处处都是赛道,发令枪响起的时刻,也就把人生的差距拉开。编程开发这条...

    小傅哥

扫码关注云+社区

领取腾讯云代金券