使用開源實時監控系統 HertzBeat 對 Mysql 資料庫監控告警實踐

語言: CN / TW / HK

使用開源實時監控系統 HertzBeat 對 Mysql 資料庫監控告警實踐,5分鐘搞定!

Mysql 資料庫介紹

MySQL是一個開源關係型資料庫管理系統,由瑞典MySQL AB 公司開發,屬於 Oracle 旗下產品。MySQL 是最流行的開源關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體之一。

HertzBeat 介紹

HertzBeat 是一款開源,易用友好的實時監控系統,無需Agent,擁有強大自定義監控能力。

  • 監控-告警-通知為一體,支援對應用服務,資料庫,作業系統,中介軟體,雲原生等監控,閾值告警,告警通知(郵件微信釘釘飛書簡訊 Slack Discord Telegram)。
  • 其將Http,Jmx,Ssh,Snmp,Jdbc等協議規範可配置化,只需配置YML就能使用這些協議去自定義採集任何您想要採集的指標。您相信只需配置YML就能立刻適配一個K8s或Docker等新的監控型別嗎?
  • HertzBeat 的強大自定義,多型別支援,易擴充套件,低耦合,希望能幫助開發者和中小團隊快速搭建自有監控系統。

在 HertzBeat 5分鐘搞定對 Mysql 資料庫監控

操作前提,您已擁有 Mysql 環境和 HertzBeat 環境。

在開源監控系統 HertzBeat 監控頁面新增對 Mysql 資料庫監控

  1. 點選新增 Mysql 監控

路徑:選單 -> 資料庫監控 -> Mysql資料庫 -> 新增Mysql資料庫監控

monitor-mysql-1.png

  1. 配置新增監控 Mysql 資料庫所需引數

在監控頁面填寫 Mysql 服務IP監控埠(預設3306),賬戶密碼等,最後點選確定新增即可。
其他引數如採集間隔超時時間等可以參考幫助文件 https://hertzbeat.com/docs/help/mysql/

monitor-mysql-2.png

  1. 完成✅,現在我們已經新增好對 Mysql資料庫 的監控了,檢視監控列表即可看到我們的新增項。

monitor-mysql-1.png

  1. 點選監控列表項的操作->監控詳情圖示 即可瀏覽 Mysql資料庫 的實時監控指標資料。

monitor-mysql-3.png

  1. 點選監控歷史詳情TAB 即可瀏覽 Mysql資料庫 的歷史監控指標資料圖表📈。

monitor-mysql-4.png

DONE!完成啦!通過上面幾步,總結起來其實也就只用一步即可

  • 在 HertzBeat 監控頁面配置IP埠賬戶密碼新增 Mysql 監控即可

通過上面的兩步我們就完成了對 Mysql資料庫 的監控,我們可以在 HertzBeat 隨時檢視監控詳情指標資訊來觀測其服務狀態。
當然只是看肯定是不完美的,監控往往伴隨著告警閾值,當 Mysql 資料庫的指標超出我們的期望值或異常時,能及時的通知到我們對應的負責人,負責人收到通知處理問題,這樣才是一個完整的監控告警流程。

接下來我們就來一步一步演示如何配置 HertzBeat 系統裡的閾值告警通知,讓及時發現 Mysql 資料庫的指標異常時,及時通知給我們

三. 在 HertzBeat 系統新增 Mysql 資料庫指標閾值告警

  1. 對某個重要指標配置告警閾值

路徑:選單 -> 閾值規則 -> 新增閾值

  • 選擇配置的指標物件,Mysql 資料庫監控主要是資料庫效能等相關指標,我們舉例對 查詢快取命中率 cache -> query_cache_hit_rate 這個指標進行閾值設定, 當Mysql的查詢快取命中率很低小於30%時發出告警。
  • 這裡我們就配置當此指標cachequery_cache_hit_rate<30 時發出告警,告警級別為嚴重告警,三次即觸發,具體如下圖。

monitor-mysql-5.png

monitor-mysql-6.png

  1. 新增訊息通知接收人

配置接收人,讓告警訊息知道要發給誰,用什麼方式發。

路徑:選單 -> 告警通知 -> 告警接收人 -> 新增接收人

訊息通知方式支援 郵件,釘釘,企業微信,飛書,WebHook,簡訊等,我們這裡以常用的釘釘為例。

【告警通知】->【新增接收人】 ->【選擇釘釘機器人通知方式】->【設定釘釘機器人ACCESS_TOKEN】-> 【確定】

alert-notice-1.png

  1. 配置關聯的告警通知策略⚠️ 【新增通知策略】-> 【將剛設定的接收人關聯】-> 【確定】

配置告警通知策略,讓告警訊息與接收人繫結,這樣就能決定哪些告警發給哪個人。

alert-notice-2.png

完畢,現在坐等告警訊息過來啦。叮叮叮叮

[HertzBeat告警通知]
告警目標物件 : mysql.cahce.query_cache_hit_rate
所屬監控ID : 205540620394932
所屬監控名稱 : Mysql_localhost
告警級別 : 嚴重告警
告警觸發時間 : 2023-02-11 21:13:44
內容詳情 : mysql db query_cache_hit_rate is too low, now is 20.

小結

這篇實踐文章帶我們體驗瞭如何使用開源實時監控系統 HertzBeat 來監控 Mysql 資料庫指標資料,可以發現集 監控-告警-通知 的 HertzBeat 在操作與使用方面更加的便捷,只需頁面上簡單點一點就能把 Mysql 資料庫納入監控並告警通知,再也不需要部署多個元件編寫配置檔案那些繁瑣操作了。

Mysql Github: https://github.com/mysql/mysql-server
HertzBeat Github: https://github.com/dromara/hertzbeat

歡迎瞭解使用支援Star哦!

只需要一條docker命令即可安裝體驗heartbeat:

docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat