本文介紹如何使用Prometheus監控TiDB。
前提條件
已將VPC執行個體接入可觀測監控 Prometheus 版。具體操作,請參見Prometheus執行個體 for ECS。
自建Prometheus觀測TiDB的痛點
使用自建Prometheus監控VPC內ECS上自建TiDB時,可能面臨的典型問題有以下幾點:
由於安全、組織管理等因素,您的業務通常部署在多個相互隔離的VPC,因此這需要您在多個VPC內都重複、獨立部署Prometheus,導致部署和營運成本較高。
每套完整的自建監控系統都需要安裝並配置Prometheus、Grafana、AlertManager等,其過程複雜、實施周期長。
缺少與阿里雲ECS快速整合的服務發現(ServiceDiscovery)機制,因此無法根據ECS標籤來靈活定義抓取Targets。如果自行實作類別似功能,則需要您使用Golang語言開發代碼調用阿里雲ECS POP介面,以整合開源Prometheus代碼,然後通過編譯打包後部署,這種方式實現門檻高、過程複雜、且版本升級困難。
常用開源Grafana大盤無法結合觀測組件的原理與最佳實務進行深入定製。
缺少TiDB警示項目範本,需要您自行配置警示規則,導致消耗的工作量較大,且技術實現困難。
自建Prometheus與阿里雲Prometheus的對比
可觀測監控 Prometheus 版與ECS無縫整合,預設提供了TiDB的各個組件(包括:TiDB、TiPD、TiKV、TiConsole等)的核心監控指標採集,同時提供了對應的監控大盤和警示指標,為您提供了開箱即用的TiDB監控能力。
TiDB監控情境下,自建Prometheus與可觀測監控 Prometheus 版的詳細對比如下:
對比項 | 自建Prometheus | 可觀測監控 Prometheus 版 |
部署、維護成本 | 多個VPC內,需要您自購ECS部署Prometheus、Grafana、AlertManager,營運成本高。 | 可觀測監控 Prometheus 版、Grafana及警示中心的一體化、全託管、免營運、開箱即用。 |
可用性、效能、資料容量 | 高可用能力不足、效能低、資料容量規模小。 | 高可用、高效能、巨量資料容量。 |
服務發現 | ECS環境下,通過開源Static_Configs、三方註冊中心等方式採集服務發現,使用不便,且維護成本高 | 內建了aliyun_sd_configs,方便您使用ECS標籤進行目標ECS匹配,達到與Kubernetes情境的LabelSelector一致體驗,極大簡化服務發現的配置和維護複雜度。 |
Grafana大盤 | 開源Grafana TiDB大盤通常較單一,大多隻是直接展示採集的Metric,缺少結合TiDB原理和最佳實務進行深入最佳化。 | 提供專業TiDB大盤模板,方便您快速、精準掌握TiDB全鏈路運行情況,並定位排查問題。 |
警示規則 | 缺少TiDB警示指標模板,需要使用者自行研究、配置警示規則。 | 根據TiDB監控實踐,提供專業、靈活的警示指標模板,您可以白屏化配置各警示規則。 |
通過上述對比可以看出,使用可觀測監控 Prometheus 版觀測TiDB可以極大的簡化您的營運流程並降低營運成本,使用可觀測監控 Prometheus 版觀測TiDB具體操作,請參見下文使用Prometheus監控TiDB。
使用Prometheus監控TiDB
步驟一:接入TiDB
登入ARMS控制台。
在左側導覽列單擊接入中心,然後在資料庫地區,單擊TIDB,在彈出的頁面根據控制台指引完成組件接入。
根據需求選擇所屬環境類型,監控目標的環境可以選擇Container Service環境或者ECS(VPC),然後選擇Container Service叢集或者選擇VPC。
開始下方的配置資訊相關參數設定,並單擊確定。
參數
說明
接入名稱
自訂接入名稱。
TIDB 叢集名稱
TIDB 叢集名稱(每次接入,需使用不同的叢集名稱,以防止指標重複採集導致大盤展示錯誤)
命名空間
自訂命名空間。
PD Server Container 名稱
若存在多個容器名稱,則可以用管道符號"|"分隔來進行"或運算"匹配,例如:"pd|pd1"。
PD Metrics 連接埠
PD、TiDB、TiKV各組件Metric的監聽連接埠,以便可觀測監控 Prometheus 版訪問這些連接埠擷取監控資料。以及Metric的HTTP採集路徑,通常是
/metrics。PD Metrics 採集路徑
TiDB Server Container 名稱
TiDB Metrics 連接埠
TiDB Metrics 採集路徑
TiKV Server Container 名稱
TiKV Metrics 連接埠
TiKV Metrics 採集路徑
Metric 採集間隔(單位/秒)
可觀測監控 Prometheus 版採集TiDB監控資料的時間間隔,預設30秒。
說明在採集指標頁簽可查看監控指標。
已接入的組件可單擊ARMS控制台左側導覽列中的接入管理查看。接入管理頁麵包括已接入環境、已接入組件和大盤查詢頁簽,您可以查看Targets、指標、大盤、警示等資訊。
步驟二:查看TiDB大盤資料
可觀測監控 Prometheus 版預設整合了TiDB常用的20多個Grafana大盤,您無需單獨安裝Grafana,即可查看TiDB各個組件的觀測大盤。
在接人管理頁面,選擇目的地組群,然後單擊大盤頁簽可以查看該組件的大盤,單擊超連結進入阿里雲Grafana頁面,查看對應觀測大盤。
步驟三:配置TiDB監控警示
在接入管理頁面,選擇目的地組群,然後單擊警示規則頁簽,查看TiDB組件的所有Prometheus警示規則。
可觀測監控 Prometheus 版會自動建立TiDB各組件關鍵的30多個警示規則,然後需要您手動修改警示規則閾值後啟動即可。您還可以根據業務需求新增警示規則。建立Prometheus警示規則的具體操作,請參見建立Prometheus警示規則。