MySQL 主从同步延迟监控
MySQL5.7和8.0支持通过 replication_applier_status 表获同步延迟时间,当从库出现延迟后,该表中的字段 REMAINING_DELAY 记录延迟秒数,当没有延迟时,该字段值为NULL,官方对该字段介绍如下:
REMAINING_DELAY If the replica is waiting for DESIRED_DELAY seconds to pass since the source applied an event, this field contains the number of delay seconds remaining. At other times, this field is NULL. (The DESIRED_DELAY value is stored in the replication_applier_configuration table.)
官方介绍:https://dev.mysql.com/doc/mysql-perfschema-excerpt/5.7/en/performance-schema-replication-applier-status-table.html
因此,我们可以监控该字段判断是否有延迟,当有延迟时,通知相关人处理。
最简单的办法是通过现有的监控工具来监控。
第一步:
注册监控账号,有邮箱就能注册,很简单,网址:https://dataalert.cn/
第二步:
选择数据源,点击右上角添加
注意:数据源中的数据库需要指定 performance_schema
第三步:
选择监控配置,点击右上角添加
上面配置表示从早上8:00到晚上20:59之间,每10分钟监控一次 replication_applier_status 表中的 REMAINING_DELAY 字段的值。
第四步:
配置异常告警,点击告警规则进行配置
上面配置表示,只要监控的REMAINING_DELAY值大于1,就会进行报警。
第五步:
配置报警接收人,先配置订阅者,再到监控配置中选择订阅
注:订阅地址为钉钉群的自定义机器人Webhook,获取方式参考(只看文章中的步骤一): https://open.dingtalk.com/document/robots/custom-robot-access
选择上一步配置好的订阅者即可,此时,当有告警时会通知到对应的钉钉群,可以在群里直接进行告警后续出处理。
至此,监控搞定~
你也可以在首页看到相关统计数据即告警信息等。
当然,该方法除了监控MySQL同步延迟外,还可监控所有基于数据库的数据,如订单量监控,新增用户数监控等各种业务指标监控,对监控的数据也可以配置报告,定时推送监控指标。
相关文章
- 干货 | Oracle数据库有把TX锁,如何定位锁在哪?
- 区块链VS数据库——解决方案选哪个?
- 优化MySQL: 3个简单的小调整
- Redis在当前软件中的5个用法
- MySQL数据库锁定机制?这篇文章告诉你
- 区块链技术关键词解读:“区块”和“链”
- Oracle在云市场虚张声势,掩饰其在数据库领域的绝望?
- 面试问题 | MySQL修改哪些配置文件可以进行优化?
- MySQL 一千个不用 Null 的理由
- 为初学者准备的MariaDB管理命令
- 打好Redis的基础,你可能需要这些常用命令
- 这套方法论,彻底终结MySQL同步延迟问题!
- Tech Neo技术沙龙第18期专题回顾 ——智能化运维发展趋势(含视频、PPT)
- 深入解析和定制Oracle优化工具
- 一文读懂大数据时代的结构化存储数据库——HBase
- MySQL数据库开发常见问题及优化
- 数据库的七种武器,快来看看!
- 关系型数据库RDBMS的旧与新 -- 谈谈NewSQL
- 干货满满 | MongoDB集群实战攻略
- 《深入分布式缓存》之“从实际案例看Redis的使用”