如何使用 Helm 整合 Prometheus 和 Grafana 第 1 部分在 K8s 上

Mondo 科技 更新 2024-01-30

在這個由三部分組成的系列中,您將了解 習 如何使用 Helm 在 Kubernetes 上整合 Prometheus 和 Grafana,以及如何在 Grafana 上建立簡單的儀表板。 Prometheus 和 Grafana 是 Kubernetes 上最流行的兩個開源監控工具。 了解 習 如何使用 Helm 整合這兩個工具,從而輕鬆監控 Kubernetes 集群並對其進行故障排除。您還將更深入地了解集群的執行狀況和效能,這將跟蹤 Kubernetes 集群上的資源和效能指標。

如前所述,Prometheus 和 Grafana 是用於監控容器編排平台的流行工具。 兩個最流行的容器編排工具是 Docker Swarm 和 Kubernetes。 第一部分將向您介紹使用 Prometheus 和 Grafana 的前提條件,並了解 Prometheus 和 Grafana 是什麼。

要跟上本指南的進度,您需要:

安裝 docker:要在計算機上安裝 docker,請檢視官方 docker 文件

安裝 kubectl:這允許您與 Kubernetes 集群進行通訊。 若要在本地計算機上安裝 Kubectl 工具,請遵循官方 Kubectl 文件指南

Kubernetes 基礎知識:確保您對 Kubernetes 有一定的了解。 您可以通過閱讀 Kubernetes 官方文件來了解有關 K8S 的更多資訊 習。

設定 Kubernetes 集群:在 Kubernetes 集群上安裝 Prometheus 和 Grafana。 本指南將使用 minikube(快速指南這是乙個免費的本地 Kubernetes 集群。

Prometheus 是乙個開源的 DevOps 工具。 它為 Kubernetes 等容器編排平台提供監控和實時告警功能,以時序資料的形式從平台收集和儲存指標。 其次,它具有監控容器編排平台的開箱即用功能,並且是其他資料視覺化庫(如 Grafana)的資料來源。

Prometheus 從 Kubernetes 集群收集的指標包括:

Kubernetes 集群執行狀況。

CPU 狀態。

記憶體使用量。

Kubernetes 節點狀態。

潛在的效能瓶頸報告。

效能指標。 伺服器資源。

Grafana 是乙個多平台、開源**應用程式,用於分析和互動式視覺化。 當您將其連線到受支援的資料來源(如 Prometheus)時,它將提供:

互動式控制面板。

互動式圖表。

可視 化。

網路警報。 無論資料來源是什麼,Grafana 都可以為您查詢、視覺化和理解您的指標。 除了 Prometheus 之外,Grafana 還支援其他幾個資料來源,例如:

influxdb

azuremonitor

datadog

graphite

aws cloudwatch。

postgresql

microsoft sql server (mssql)。

elasticsearch

google cloud monitoring

mysqlalertmanager

Loki 可以選擇從頭開始建立儀表板,或匯入 Grafana 已經提供的儀表板並對其進行自定義以滿足您的需求。 大多數 DevOps 專業人員使用 Grafana 和 Prometheus 建立具有資料視覺化儀表板的強大時間序列資料庫。

在這裡,我們將建立乙個儀表板,用於視覺化從 Prometheus 資料來源收集的指標。

下圖顯示了 Prometheus 的元件及其工作原理

這些都是 Prometheus 的元件:

prometheus server是 Prometheus 架構的核心元件。 這是實際監控工作發生的地方。

alertmanager通過電子郵件和其他通訊渠道(如 Slack)向使用者傳送警報。

pushgateway可以支援臨時任務。 它允許使用者將時間序列資料推送到 Prometheus 目標。 它還處理短期任務的指標。

Prometheus 伺服器可以進一步分為三個元件:

data retrieval worker從容器編排平台抓取和收集指標。 然後,它將指標轉換為時間序列資料。 它從許多指標中收集指標,這些指標在其設定中指定。

time series database儲存來自資料檢索元件的時間序列資料。

http server響應時序資料的請求和 promql 查詢。 然後,它會在 Web 使用者介面或儀表板上顯示資訊。 它既可以使用 Grafana 等第三方平台,也可以使用內建的 Prometheus Web UI。

設定 Prometheus 和 Grafana 進行監控給我們帶來了很多好處:

您將獲得乙個完整的端到端解決方案,用於觀察和監控 Kubernetes 集群。

您可以使用 Prometheus PromQL 查詢語言查詢指標。

如果您有微服務架構,Prometheus 會同時跟蹤您的所有微服務。

當服務出現故障時,會立即發出警報。

Grafana 儀表板提供群集的效能和執行狀況報告。

在 Kubernetes 上整合 Prometheus 和 Grafana 時,開發人員通常採用兩種方法:

手動 Kubernetes 部署:在這種方法中,開發人員需要編寫 Kubernetes 部署和服務 yaml 檔案。 需要為 Prometheus 和 Grafana 應用程式編寫 YAML。 在 yaml 檔案中,指定在 Kubernetes 上整合 Prometheus 和 Grafana 的所有配置。 然後,將這些檔案部署到 Kubernetes 集群,以便 Prometheus 和 Grafana 正常工作。 這種方法的缺點是開發人員可能擁有大量 YAML 檔案,這對大多數 DevOps 從業者來說可能很煩人。 如果您在任何 yaml 檔案中出錯,您將無法在 Kubernetes 上整合 Prometheus 和 Grafana。

使用 helm:這是將應用程式容器部署到 Kubernetes最簡單和最簡單的方法。Helm 是 Kubernetes 的官方包管理器。 借助 Helm,您可以簡化 Kubernetes 應用程式的安裝、部署和管理。 Helm 將 Kubernetes 應用程式打包到 Helm 圖表中。

helm chart 是所有 yaml 檔案的集合:

部署

服務業

鑰匙

configmaps manifests

你將使用這些檔案將應用程式容器部署到 Kubernetes。 Helm 允許使用者擁有帶有清單 YAML 檔案的 Helm 圖表,而不是為每個應用程式容器建立單獨的 YAML 檔案。

相關問題答案

    使用PayPal時如何避免踩到坑

    賬戶安全。確保您的 PayPal 帳戶安全非常重要。使用者需要設定複雜的密碼並定期更改密碼,以防止帳戶被盜啟用雙因素身份驗證 FA 以增加帳戶安全性定期檢查帳戶活動以檢測異常情況並採取適當的安全措施。此外,請避免在公共網路或不安全的網路上登入您的 PayPal 帳戶,以避免帳戶資訊被盜。.交易風險。...

    使用 CAD 軟體時如何將 CAD 單位設定為公釐

    CAD 計算機輔助設計 軟體廣泛應用於建築 機械 電子等各個領域,可以幫助設計師更高效地繪圖和設計。在使用CAD軟體時,單位設定是乙個非常重要的環節,它直接關係到圖紙的準確性和設計的質量。在本文中,我們將仔細研究如何將 CAD 單位設定為公釐,以幫助您更好地利用該軟體進行設計。.CAD單位設定的重要...

    如何使用海竿輪?探索汽車中海竿輪的魔力

    當高階汽車技術遇上傳統漁具,又會產生怎樣的火花?今天,就讓我們一起走進這場精彩的跨界融合,一起探索海竿輪在汽車中的獨特應用。在這裡,您將了解不同車型的特點,海竿輪的使用注意事項,以及相關品牌的精彩介紹。繫好安全帶,我們的旅程就要開始了!.海竿輪 不僅僅是一種捕魚工具 海竿輪原本是釣魚愛好者手中的得力...

    太極散手如何利用虛實在在的反擊,在實戰中取勝?

    利用虛實反擊在實戰中取勝的方法主要包括以下幾個方面 假動作 用假動作或攻擊來迷惑對手,使他們誤判或做出反應,從而為實際的反擊創造機會。乙個錯誤的舉動可以是對對手的某個部位的假裝攻擊,也可以做出乙個看似有缺陷的舉動來引誘對手攻擊。實際攻擊虛空位置 在錯誤移動後,快速改變攻擊目標以擊中錯誤位置。攻擊對手...

    如何使用iOS虛擬機器在電腦上體驗蘋果系統?

    蘋果的iOS系統深受使用者喜愛,但並不是每個人都具備蘋果裝置的條件。幸運的是,有一種方法可以在您的計算機上體驗 iOS,那就是使用 iOS 虛擬機器。本文將向您展示如何使用 iOS 虛擬機器在您的計算機上體驗 Apple。首先,您需要選擇合適的iOS虛擬機器軟體。目前比較知名的iOS虛擬機器有 iP...