前言
云原生技術(shù),如 Kubernetes 和容器化,已經(jīng)成為現(xiàn)代應(yīng)用部署和管理的標(biāo)準(zhǔn)。Prometheus 作為云原生生態(tài)中的核心監(jiān)控工具,其設(shè)計(jì)初衷就是為了與這些技術(shù)無縫集成。許多云原生工具和平臺(tái),如 Kubernetes、Istio 和 Envoy,已經(jīng)內(nèi)置了對(duì) Prometheus 的支持。而且原生應(yīng)用通常是動(dòng)態(tài)和彈性的,Prometheus 的監(jiān)控系統(tǒng)能夠適應(yīng)這種動(dòng)態(tài)性,提供實(shí)時(shí)的監(jiān)控?cái)?shù)據(jù),這對(duì)于確保應(yīng)用的高可用性和性能至關(guān)重要。
Prometheus 擁有一個(gè)活躍的開源社區(qū),不斷有新的 Exporter 和集成被開發(fā)和貢獻(xiàn)。這種廣泛的社區(qū)支持使得 Prometheus 能夠監(jiān)控幾乎任何類型的服務(wù)和應(yīng)用,并且由于 Prometheus 的開源特性,企業(yè)可以利用 Prometheus 及其生態(tài)系統(tǒng)中的免費(fèi)工具來構(gòu)建監(jiān)控解決方案,從而降低成本。此外,Prometheus 的社區(qū)支持和廣泛的文檔資源也有助于降低學(xué)習(xí)成本。
觀測云是一個(gè)強(qiáng)大的監(jiān)控和觀測平臺(tái),它通過深度集成 Prometheus 生態(tài)系統(tǒng),為用戶提供了一個(gè)全面而靈活的監(jiān)控解決方案。觀測云通過全面支持 Prometheus 生態(tài)的關(guān)鍵組件,如 Exporter、Pushgateway、Remote Write、Prometheus CRD 和 PromQL,為用戶提供了一個(gè)強(qiáng)大而靈活的監(jiān)控平臺(tái)。這種支持不僅確保了與 Prometheus 生態(tài)的兼容性,還擴(kuò)展了觀測云的監(jiān)控能力和靈活性,使其成為企業(yè)和開發(fā)者在監(jiān)控和觀測方面的理想選擇。
Prometheus Exporter 支持
Prometheus Exporter 是一種工具,用于將各種服務(wù)的指標(biāo)數(shù)據(jù)暴露給 Prometheus,從而實(shí)現(xiàn)監(jiān)控。支持 Prometheus Exporter 對(duì)于兼容 Prometheus 生態(tài)至關(guān)重要,它能夠允許觀測云直接接入 Prometheus 社區(qū)廣泛使用的監(jiān)控工具和指標(biāo),極大地?cái)U(kuò)展了觀測云的監(jiān)控能力。對(duì)于 Prometheus Exporter,觀測云支持如下特性:
•指標(biāo)采集: 觀測云 DataKit 可以配置 Prometheus Exporter 的 URL,自動(dòng)采集指標(biāo)數(shù)據(jù)。
•自定義配置: 用戶可以通過修改 DataKit 的配置文件,來指定 Exporter 的采集間隔、標(biāo)簽過濾等。
•指標(biāo)集管理: 觀測云將 Prometheus 的指標(biāo)名稱轉(zhuǎn)換為指標(biāo)集和字段,方便管理和查詢。
具體配置可參考觀測云文檔:https://docs.guance.com/integrations/prom/
Prometheus Pushgateway 支持
Pushgateway 是 Prometheus 生態(tài)系統(tǒng)中的一個(gè)組件,主要用于解決 Prometheus 默認(rèn)的 pull(拉?。┠J皆谀承┣闆r下無法獲取數(shù)據(jù)的問題,監(jiān)控源通過主動(dòng)發(fā)送監(jiān)控?cái)?shù)據(jù)到 Pushgateway,再由 Prometheus 定時(shí)拉取指標(biāo)。觀測云通過 DataKit 支持 Pushgateway,提供了一個(gè)簡單而高效的方式來接收和處理這些指標(biāo)數(shù)據(jù),支持如下特性:
•配置靈活: 可以通過配置文件或環(huán)境變量來開啟 Pushgateway 采集器,并指定路由前綴、指標(biāo)集名稱等。
•數(shù)據(jù)解碼: 支持解碼 gzip 數(shù)據(jù),并處理 Prometheus 文本數(shù)據(jù)和 Protobuf 數(shù)據(jù)。
•標(biāo)簽處理: 在 Pushgateway URL 上可以指定 labels 和 base64 labels,也可以指定指標(biāo)集名稱。
•完全 push 模式: 解決了原生 Prometheus Pushgateway 單點(diǎn)故障,數(shù)據(jù)清理以及監(jiān)控狀態(tài)不準(zhǔn)確的問題。
具體配置可參考觀測云文檔:https://docs.guance.com/integrations/pushgateway/
Prometheus Remote Write 支持
在云原生生態(tài)中,Prometheus 的 Remote Write 功能是一個(gè)關(guān)鍵特性,它允許 Prometheus 將數(shù)據(jù)異步地寫入到其他存儲(chǔ)系統(tǒng)中。觀測云 DataKit 支持 Prometheus 通過 Remote Write 的方式將數(shù)據(jù)寫入,提供全面的指標(biāo)管理能力,主要支持特性如下:
•配置靈活: 觀測云對(duì) Prometheus Remote Write 寫入配置提供了全面的兼容,包括上傳協(xié)議的支持,以及對(duì) snappy 壓縮協(xié)議的支持等。
•標(biāo)簽處理: 觀測云提供了靈活的標(biāo)簽管理功能,包括忽略特定標(biāo)簽、使用正則表達(dá)式忽略標(biāo)簽、標(biāo)簽白名單以及標(biāo)簽重命名,使用戶能夠精確控制數(shù)據(jù)的標(biāo)簽信息。
•指標(biāo)管理: 觀測云提供對(duì)指標(biāo)過濾的能力,可以通過指定指標(biāo)集和指標(biāo)名來選擇性上傳所需要的指標(biāo)。
具體配置可參考觀測云文檔:https://docs.guance.com/integrations/prom_remote_write/
Prometheus CRD 支持
Prometheus-Operator 提供了一種在 Kubernetes 集群中管理 Prometheus 實(shí)例的方法。觀測云通過 DataKit 支持 Prometheus-Operator 的 CRD(自定義資源定義),如 PodMonitor 和 ServiceMonitor,進(jìn)一步擴(kuò)展了其在 Kubernetes 環(huán)境中的監(jiān)控能力。觀測云支持特性如下:
•CRD 資源支持 :DataKit 支持 Prometheus-Operator 的 PodMonitor 和 ServiceMonitor CRD。
•自動(dòng)發(fā)現(xiàn): 根據(jù) CRD 實(shí)例的配置,DataKit 可以自動(dòng)發(fā)現(xiàn)并采集指標(biāo)。
•指標(biāo)集管理: 支持將指標(biāo)名稱轉(zhuǎn)換為指標(biāo)集和字段,方便管理和查詢,并可以自定義指標(biāo)集。
具體配置可參考觀測云文檔:https://docs.guance.com/integrations/kubernetes-prometheus-operator-crd/
PromQL 查詢支持
PromQL 是 Prometheus 的查詢語言,用于查詢和分析監(jiān)控?cái)?shù)據(jù)。觀測云查詢語言支持 PromQL,允許用戶使用這種強(qiáng)大的查詢語言來檢索和處理監(jiān)控?cái)?shù)據(jù)。對(duì)于 PromQL 的支持,觀測云主要提供以下的能力:
•指標(biāo)分析: 觀測云指標(biāo)分析模式支持用戶輸入 PromQL 語法對(duì)指標(biāo)數(shù)據(jù)進(jìn)行分析。
•儀表板支持: 觀測云儀表支持 PromQL 語法拉取數(shù)據(jù),支持25+圖表組件,能力媲美 Grafana。
•監(jiān)控告警支持: 觀測云監(jiān)控器支持 PromQL 語法創(chuàng)建告警,相對(duì)于 AlertManager,配置更加直觀,支持能力更加豐富。
Grafana 面板導(dǎo)入支持
在 Prometheus 生態(tài)中,Grafana 已成為展示和分析監(jiān)控?cái)?shù)據(jù)的黃金標(biāo)準(zhǔn)。觀測云對(duì) Grafana 導(dǎo)入的全面支持,不僅提供了一種高效的數(shù)據(jù)遷移工具,更在監(jiān)控生態(tài)系統(tǒng)中架起了一座橋梁。
Guance CLI 工具是觀測云提供的 Grafana 儀表板導(dǎo)入工具,主要支持以下能力:
•支持 Grafana 實(shí)例搜索并導(dǎo)入: 通過 Grafana 實(shí)例的 URL 和 API 密鑰,執(zhí)行特定命令來搜索并導(dǎo)入儀表板到觀測云。
•支持從 Grafana 模板導(dǎo)入: 支持從 Grafana Dashboard Templates 下載儀表板并導(dǎo)入到觀測云。
•支持從文件導(dǎo)入: 將 Grafana 的儀表板 JSON 模型保存到本地文件, 執(zhí)行命令從文件直接導(dǎo)入到觀測云。
•支持導(dǎo)出 Terraform 文件: 支持 Observability as Code 的最佳實(shí)踐,Guance CLI 可以將 Grafana 儀表板導(dǎo)出為 Terraform 文件,可使用 Terraform 來管理觀測云儀表板。
具體參考文檔:https://cli.guance.io/docs/how-to-guides/grafana
Demo 體驗(yàn):https://killercoda.com/guance-cloud/course/official/grafana-importer
結(jié)語
觀測云對(duì) Prometheus 生態(tài)的全面兼容,為用戶提供了一個(gè)強(qiáng)大、靈活且可擴(kuò)展的監(jiān)控平臺(tái)。這種深度集成不僅簡化了 Prometheus 的使用,也使得用戶能夠充分利用 Prometheus 生態(tài)系統(tǒng)的強(qiáng)大功能。隨著云原生技術(shù)的不斷發(fā)展,觀測云將繼續(xù)致力于提供與 Prometheus 生態(tài)系統(tǒng)兼容的先進(jìn)監(jiān)控解決方案。
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!