使用夜鶯和 Categraf 快速建設 MySQL 監控

SRETalk發表於2024-07-11

之前翻譯過一篇文章,介紹 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 給社群,一起共建。程式碼提交到這裡:

https://github.com/ccfos/nightingale/tree/main/integrations

可以參考 MySQL 目錄下的內容,按照格式提交即可。

相關文章