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
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/509553.html
標籤:其他
上一篇:MySQL資料庫-資料表
