使用Prometheus和Grafana監(jiān)控Kubernetes集群!
本文轉(zhuǎn)載自微信公眾號(hào)「新鈦云服」,作者黃平安 翻譯。轉(zhuǎn)載本文請(qǐng)聯(lián)系新鈦云服公眾號(hào)。
本文將介紹如何使用Prometheus 和 Grafana 獲取監(jiān)控Kubernetes集群的指標(biāo)。涉及到以下組件:Pop!_OS 20.04、Helm 3、Minikube 1.14.2 和 Kubernetes 1.19。
配置 Minikube
以適合您環(huán)境的任何方式安裝 Minikube。如果你有足夠的資源,我建議讓你的虛擬機(jī) 功率比默認(rèn)內(nèi)存和CPU多一點(diǎn):
然后啟動(dòng)并檢查系統(tǒng)狀態(tài):
安裝 Prometheus
設(shè)置集群后,開始安裝。首先按照以下說明安裝 Prometheus。
首先,在Helm 中添加存儲(chǔ)庫:
然后安裝您的 Prometheus Helm 圖表。你應(yīng)該看到:
通過在同一個(gè) shell 中運(yùn)行這些命令來獲取 Prometheus 服務(wù)器 URL:
您可以從集群內(nèi)通過此DNS 名稱上的端口80訪問 Prometheus Alertmanager:
通過在同一個(gè)shell 中運(yùn)行這些命令來獲取 Alertmanager URL:
您可以在集群內(nèi)通過此 DNS 名稱上的端口 9091 訪問 Prometheus PushGateway:
通過在同一個(gè) shell中運(yùn)行這些命令來獲取 PushGateway URL:
檢查以確認(rèn)您的 Pod 正在運(yùn)行:
接下來,在 Prometheus 服務(wù)器 pod 上公開您的端口,以便您可以看到 Prometheus Web 界面。為此,您需要服務(wù)名稱和端口。您還需要想出一個(gè)名稱來使用 Minikube 服務(wù)命令打開服務(wù)。
獲取 prometheus-server 的服務(wù)名稱:
將服務(wù)公開為 Node-port 類型。提供目標(biāo)端口 9090 和要調(diào)用服務(wù)器的名稱。節(jié)點(diǎn)端口是服務(wù)器偵聽端口。這是 Helm 圖表的摘錄:
命令是:
接下來,您需要 Minikube 來打開服務(wù)和瀏覽器:
您的瀏覽器應(yīng)該會(huì)打開并顯示 Prometheus 服務(wù)。
恭喜!您現(xiàn)在已經(jīng)在集群上安裝了 Prometheus。
安裝Grafana
接下來,安裝 Grafana 并將其配置為與Prometheus 一起使用。按照以下步驟公開服務(wù)以配置 Grafana 并從 Prometheus收集數(shù)據(jù)以收集您的穩(wěn)定狀態(tài)。
從獲取 Helm 圖表開始:
搜索您的圖表:
由于 stable/grafana 已折舊,請(qǐng)安裝 bitnami/grafana。然后安裝您的圖表:
1、通過運(yùn)行獲取應(yīng)用程序 URL:
2、獲取管理員憑據(jù):
正如您在 Helm 安裝輸出中看到的,Grafana 的目標(biāo)端口是 3000,因此您將使用該端口公開服務(wù)以查看 Grafana 的 Web 前端。在公開服務(wù)之前,請(qǐng)確認(rèn)您的服務(wù)正在運(yùn)行:
暴露服務(wù):
啟用該服務(wù)以使用 Minikube 服務(wù)打開瀏覽器:
您將看到可以登錄的歡迎屏幕。
設(shè)置憑據(jù)以使用 kubectl 登錄 Grafana。命令出現(xiàn)在安裝的輸出中;以下是正在使用的命令:
使用您的新憑據(jù)登錄,您將看到 Grafana 儀表板。
恭喜!您現(xiàn)在在 Minikube 集群中安裝了一個(gè)可以登錄的工作 Grafana。下一步是配置 Grafana 以與 Prometheus 一起工作以收集數(shù)據(jù)并顯示您的穩(wěn)定狀態(tài)。
使用 Prometheus 配置 Grafana
現(xiàn)在您可以登錄到您的 Grafana 實(shí)例,您需要設(shè)置數(shù)據(jù)收集和儀表板。由于這是一個(gè)完全基于 Web 的配置,我將使用屏幕截圖來完成設(shè)置。首先添加您的 Prometheus 數(shù)據(jù)集合。單擊顯示屏左側(cè)的齒輪圖標(biāo)以打開配置設(shè)置,然后選擇數(shù)據(jù)源。
在下一個(gè)屏幕上,單擊添加數(shù)據(jù)源。
選擇普羅米修斯。
由于您將 Prometheus 實(shí)例配置為在端口80 上公開,因此請(qǐng)使用服務(wù)名稱 prometheus-server 和服務(wù)器端口80。
通過滾動(dòng)到屏幕底部并單擊保存并測(cè)試來保存并測(cè)試您的新數(shù)據(jù)源。您應(yīng)該會(huì)看到一個(gè)綠色橫幅,上面寫著數(shù)據(jù)源正在工作。
返回頁面頂部并單擊儀表板。
導(dǎo)入所有三個(gè)儀表板選項(xiàng)。
單擊左側(cè)的放大鏡圖標(biāo)以確認(rèn)已導(dǎo)入所有三個(gè)儀表板。
現(xiàn)在一切都已配置完畢,單擊 Prometheus 2.0 Stats,您應(yīng)該會(huì)看到與此類似的內(nèi)容。
恭喜!您已從 Prometheus 設(shè)置了有關(guān)集群的基本數(shù)據(jù)集合。
導(dǎo)入更多監(jiān)控儀表板
您可以從 Grafana Labs 的社區(qū)儀表板集合中導(dǎo)入其他詳細(xì)儀表板。我選擇了我最喜歡的兩個(gè),Dash-minikube 和 Kubernetes Cluster Monitoring,用于這個(gè)快速演練。
要導(dǎo)入儀表板,您需要儀表板集合中的 ID。首先,單擊左側(cè)的加號(hào)(+) 以創(chuàng)建儀表板,然后單擊下拉列表中的導(dǎo)入,并輸入ID。對(duì)于 Dash-minikube,它的 ID 是 10219。
單擊加載,然后在下一個(gè)屏幕上輸入數(shù)據(jù)源。由于這使用 Prometheus,請(qǐng)輸入您的 Prometheus 數(shù)據(jù)源。
單擊導(dǎo)入,將出現(xiàn)新的儀表板。
現(xiàn)在您有一個(gè)新的儀表板來跟蹤您的 Minikube 統(tǒng)計(jì)信息。如果您使用 Kubernetes 集群監(jiān)控 (ID 2115) 執(zhí)行相同的步驟,您將看到更詳細(xì)的監(jiān)控儀表板。
現(xiàn)在,您可以使用 Grafana 和 Prometheus 數(shù)據(jù)收集和視覺效果跟蹤您的穩(wěn)定狀態(tài)。
最后:使用這些開源工具,您可以收集集群的穩(wěn)定狀態(tài)并保持良好的脈搏。
*原文:https://opensource.com/article/21/6/chaos-grafana-prometheus
*本文部分圖片源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除