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同步延迟外,还可监控所有基于数据库的数据,如订单量监控,新增用户数监控等各种业务指标监控,对监控的数据也可以配置报告,定时推送监控指标。

 

传送门:https://dataalert.cn

 

posted on 2022-09-25 20:09  迷你软件  阅读(647)  评论(0编辑  收藏  举报

本网站绝大部分资源来源于Internet,本站所有作品版权归原创作者所有!!如有以下内容:章节错误、非法内容、作者署名出错、版权疑问、作品内容有违相关法律等请及时与我联系. 我将在第一时间做出响应!本站所有文章观点不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。