博客 / 詳情

返回

觀測雲全面兼容 Prometheus 生態

前言

雲原生技術,如 Kubernetes 和容器化,已經成為現代應用部署和管理的標準。Prometheus 作為雲原生生態中的核心監控工具,其設計初衷就是為了與這些技術無縫集成。許多雲原生工具和平台,如 Kubernetes、Istio 和 Envoy,已經內置了對 Prometheus 的支持。而且原生應用通常是動態和彈性的,Prometheus 的監控系統能夠適應這種動態性,提供實時的監控數據,這對於確保應用的高可用性和性能至關重要。

Prometheus 擁有一個活躍的開源社區,不斷有新的 Exporter 和集成被開發和貢獻。這種廣泛的社區支持使得 Prometheus 能夠監控幾乎任何類型的服務和應用,並且由於 Prometheus 的開源特性,企業可以利用 Prometheus 及其生態系統中的免費工具來構建監控解決方案,從而降低成本。此外,Prometheus 的社區支持和廣泛的文檔資源也有助於降低學習成本。

觀測雲是一個強大的監控和觀測平台,它通過深度集成 Prometheus 生態系統,為用户提供了一個全面而靈活的監控解決方案。觀測雲通過全面支持 Prometheus 生態的關鍵組件,如 Exporter、Pushgateway、Remote Write、Prometheus CRD 和 PromQL,為用户提供了一個強大而靈活的監控平台。這種支持不僅確保了與 Prometheus 生態的兼容性,還擴展了觀測雲的監控能力和靈活性,使其成為企業和開發者在監控和觀測方面的理想選擇。

Prometheus Exporter 支持

Prometheus Exporter 是一種工具,用於將各種服務的指標數據暴露給 Prometheus,從而實現監控。支持 Prometheus Exporter 對於兼容 Prometheus 生態至關重要,它能夠允許觀測雲直接接入 Prometheus 社區廣泛使用的監控工具和指標,極大地擴展了觀測雲的監控能力。對於 Prometheus Exporter,觀測雲支持如下特性:

  • 指標採集:觀測雲 DataKit 可以配置 Prometheus Exporter 的 URL,自動採集指標數據。
  • 自定義配置:用户可以通過修改 DataKit 的配置文件,來指定 Exporter 的採集間隔、標籤過濾等。
  • 指標集管理:觀測雲將 Prometheus 的指標名稱轉換為指標集和字段,方便管理和查詢。

具體配置可參考觀測雲文檔:https://docs.guance.com/integrations/prom/

圖片

Prometheus Pushgateway 支持

Pushgateway 是 Prometheus 生態系統中的一個組件,主要用於解決 Prometheus 默認的 pull(拉取)模式在某些情況下無法獲取數據的問題,監控源通過主動發送監控數據到 Pushgateway,再由 Prometheus 定時拉取指標。觀測雲通過 DataKit 支持 Pushgateway,提供了一個簡單而高效的方式來接收和處理這些指標數據,支持如下特性:

  • 配置靈活:可以通過配置文件或環境變量來開啓 Pushgateway 採集器,並指定路由前綴、指標集名稱等。
  • 數據解碼:支持解碼 gzip 數據,並處理 Prometheus 文本數據和 Protobuf 數據。
  • 標籤處理:在 Pushgateway URL 上可以指定 labels 和 base64 labels,也可以指定指標集名稱。
  • 完全 push 模式:解決了原生 Prometheus Pushgateway 單點故障,數據清理以及監控狀態不準確的問題。

具體配置可參考觀測雲文檔:https://docs.guance.com/integrations/pushgateway/

圖片

Prometheus Remote Write 支持

在雲原生生態中,Prometheus 的 Remote Write 功能是一個關鍵特性,它允許 Prometheus 將數據異步地寫入到其他存儲系統中。觀測雲 DataKit 支持 Prometheus 通過 Remote Write 的方式將數據寫入,提供全面的指標管理能力,主要支持特性如下:

  • 配置靈活:觀測雲對 Prometheus Remote Write 寫入配置提供了全面的兼容,包括上傳協議的支持,以及對 snappy 壓縮協議的支持等。
  • 標籤處理:觀測雲提供了靈活的標籤管理功能,包括忽略特定標籤、使用正則表達式忽略標籤、標籤白名單以及標籤重命名,使用户能夠精確控制數據的標籤信息。
  • 指標管理:觀測雲提供對指標過濾的能力,可以通過指定指標集和指標名來選擇性上傳所需要的指標。

具體配置可參考觀測雲文檔:https://docs.guance.com/integrations/prom_remote_write/

圖片

Prometheus CRD 支持

Prometheus-Operator 提供了一種在 Kubernetes 集羣中管理 Prometheus 實例的方法。觀測雲通過 DataKit 支持 Prometheus-Operator 的 CRD(自定義資源定義),如 PodMonitor 和 ServiceMonitor,進一步擴展了其在 Kubernetes 環境中的監控能力。觀測雲支持特性如下:

  • CRD 資源支持:DataKit 支持 Prometheus-Operator 的 PodMonitor 和 ServiceMonitor CRD。
  • 自動發現:根據 CRD 實例的配置,DataKit 可以自動發現並採集指標。
  • 指標集管理:支持將指標名稱轉換為指標集和字段,方便管理和查詢,並可以自定義指標集。

具體配置可參考觀測雲文檔:https://docs.guance.com/integrations/kubernetes-prometheus-op...

圖片

PromQL 查詢支持

PromQL 是 Prometheus 的查詢語言,用於查詢和分析監控數據。觀測雲查詢語言支持 PromQL,允許用户使用這種強大的查詢語言來檢索和處理監控數據。對於 PromQL 的支持,觀測雲主要提供以下的能力:

  • 指標分析:觀測雲指標分析模式支持用户輸入 PromQL 語法對指標數據進行分析。
  • 儀表板支持:觀測雲儀表支持 PromQL 語法拉取數據,支持25+圖表組件,能力媲美 Grafana。
  • 監控告警支持:觀測雲監控器支持 PromQL 語法創建告警,相對於 AlertManager,配置更加直觀,支持能力更加豐富。

圖片

圖片

Grafana 面板導入支持

在 Prometheus 生態中,Grafana 已成為展示和分析監控數據的黃金標準。觀測雲對 Grafana 導入的全面支持,不僅提供了一種高效的數據遷移工具,更在監控生態系統中架起了一座橋樑。

Guance CLI 工具是觀測雲提供的 Grafana 儀表板導入工具,主要支持以下能力:

  • 支持 Grafana 實例搜索並導入:通過 Grafana 實例的 URL 和 API 密鑰,執行特定命令來搜索並導入儀表板到觀測雲。
  • 支持從 Grafana 模板導入:支持從 Grafana Dashboard Templates 下載儀表板並導入到觀測雲。
  • 支持從文件導入:將 Grafana 的儀表板 JSON 模型保存到本地文件, 執行命令從文件直接導入到觀測雲。
  • 支持導出 Terraform 文件:支持 Observability as Code 的最佳實踐,Guance CLI 可以將 Grafana 儀表板導出為 Terraform 文件,可使用 Terraform 來管理觀測雲儀表板。

具體參考文檔:https://cli.guance.io/docs/how-to-guides/grafana
Demo 體驗:https://killercoda.com/guance-cloud/course/official/grafana-i...

圖片

結語

觀測雲對 Prometheus 生態的全面兼容,為用户提供了一個強大、靈活且可擴展的監控平台。這種深度集成不僅簡化了 Prometheus 的使用,也使得用户能夠充分利用 Prometheus 生態系統的強大功能。隨着雲原生技術的不斷髮展,觀測雲將繼續致力於提供與 Prometheus 生態系統兼容的先進監控解決方案。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.