之前翻譯過一篇文章,介紹 MySQL 監控的一些原理,本文側重實操,使用夜鶯 v7.beta12.1 版本為大家做一個演示,採集器使用 Categraf,先看一下最終儀錶盤效果: 下麵開工。 1. 安裝夜鶯和 Categraf 夜鶯的安裝可以參考 夜鶯官方文檔,Categraf 的安裝可以參考 Ca ...
之前翻譯過一篇文章,介紹 MySQL 監控的一些原理,本文側重實操,使用夜鶯 v7.beta12.1 版本為大家做一個演示,採集器使用 Categraf,先看一下最終儀錶盤效果:
下麵開工。
1. 安裝夜鶯和 Categraf
夜鶯的安裝可以參考 夜鶯官方文檔,Categraf 的安裝可以參考 Categraf官方文檔。這裡就不贅述了。
2. 配置 Categraf
點擊 MySQL 集成,打開【採集說明】這個 tab,裡面有詳細的操作步驟,按照步驟操作即可。
比如我們要監控某個 MySQL 實例,該實例在 10.1.2.3 機器上,那我們就到 10.1.2.3 的機器上安裝 Categraf,並且按照【採集說明】中的配置來配置 MySQL 的連接地址,因為是本機的 Categraf 連到本機的 MySQL 實例上採集監控數據,所以 address 大概率是配置成 127.0.0.1:3306
,預設配置給的用戶名和密碼是 root 、1234,生產環境下,通常不會這麼乾,而是創建一個只讀的 MySQL 賬號專門給監控採集器使用。比如:
CREATE USER 'categraf'@'127.0.0.1' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'categraf'@'127.0.0.1';
如果 MySQL 是雲上的實例,沒法登錄 MySQL 所在機器部署 Categraf,此時可以選一臺和 MySQL 實例網路質量比較好的虛機,在虛機上部署 Categraf,監控遠端的 MySQL 實例。這個 Categraf 可能同時監控了多個 MySQL 實例,所以要配置多個
[[instances]]
段(採集說明頁面下麵也給出了樣例),每個配置段中都要給出 instance 標簽來區分不同的實例。
如果驗證 Categraf 是否採集到了數據?使用如下命令:
./categraf --test --inputs mysql
如果正常列印了採集到的指標,重啟 Categraf 即可,或者給 Categraf 發個 HUP 信號,讓其重載配置。
kill -HUP `pidof categraf`
3. 查看 MySQL 監控指標
在夜鶯的指標視圖或者即時查詢中都可以看到 MySQL 的監控指標,只要能查到,就說明數據正常上報了,比如即時查詢:
輸入 MySQL 關鍵字之後,立馬提示了很多指標,這就說明這些指標都採集上來了。直接寫 promql 對很多人來講有難度,可以使用指標視圖,使用內置的 promql 查看監控數據:
點擊某個指標,側拉板里就會發起查詢:
預設打開的是 Table 視圖,也可以點擊 Graph 切換成圖表視圖。
4. 導入 MySQL 模板
重新回到夜鶯模板中心,搜索 MySQL,找到儀錶盤那個 tab,導入儀錶盤,我這個例子里是在 MySQL 對應的機器上部署的 Categraf,所以導入的是“MySQL 儀錶盤”,如果是遠端監控的 MySQL 實例,那就導入“MySQL 儀錶盤(遠端)”。
然後去業務組下找到剛纔導入的儀錶盤,點開查看即可:
5. 導入告警規則
回到模板中心,找到 MySQL 的告警規則 tab,全選,把告警規則導入自己的業務組下即可。
完活。
模板中心已經內置了一些模板,使用起來比較方便。當然,中間件、資料庫種類比較多,也不是每個都整理的很完備,歡迎大家一起整理這些採集說明、儀錶盤、告警規則、指標說明,提 PR 給社區,一起共建。代碼提交到這裡:
可以參考 MySQL 目錄下的內容,按照格式提交即可。