您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何優雅地使用云原生Prometheus 監控集群,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Prometheus 是一套開源的系統監控報警框架。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成為受歡迎度僅次于 Kubernetes 的項目。
登錄容器服務控制臺,選擇左側導航欄中的【云原?監控】
點擊??上?的【新建】按鈕,進?【創建監控實例】??。如下圖所示:
在【創建監控實例??】,根據提示設置集群信息。如下圖所示:
地域: 選擇您希望部署該實例的地域,實例創建后 地域?法修改,建議您根據所在地理位置選擇靠近業務的地域,可降低訪問延遲,提高數據上報速度。
?絡:需選擇當前地域下已有的私有網絡和子網,創建后不可修改。若在該地域下沒有 vpc 資源可跳轉到私有?絡控制臺新建 vpc。實例默認情況下只能監控本 vpc 網絡的集群,若您希望監控其他 vpc 集群,您需要使?云聯?等服務進? vpc ?絡打通。
數據存儲時間:選擇數據存儲時間,可選 15天/ 3個?/ 6個?/?年。實例創建成功后將?動為您創建對象存儲 COS 存儲桶并按照實際資源使?情況計費。詳情請參見對象存儲計費概述。
Grafana組件:此處需要設置登錄用戶名和密碼用于 Grafana 登陸。Grafana 默認只支持 vpc 內訪問,實例創建后,您可以根據業務需要開通 Grafana 外網訪問。
AlertManger:您可通過添加?定義的 AlertManger 地址,將實例產?的告警發往自建的 AlertManger。
實例創建完成后,將處于運行中狀態,您可點擊實例查看其基本信息。除了創建時指定的?些信息外,還包含?些創建完成后提供的信息:
對象存儲桶:云原?監控使?對象存儲在進?數據持久化存儲,實例將在您賬號下創建?個對象存儲的桶?于存儲數據。
Prometheus 數據查詢地址:該接??于提供數據查詢,targets 查詢,rules 查詢等。您可以使?該地址對接?建的 Grafana
Grafana:默認為您提供了內?地址,您可以選擇性開啟外?訪問,開啟后將?成固定的外?域名。
Prometheus 數據查詢地址目前可支持以下幾個 path。
**/api/v1/query:**查詢最近?次抓取的數據。
**/api/v1/query_range:**查詢?段時間的數據。
**/api/v1/targets:**查詢監控目標的信息。
由于實例可能關聯了多個集群,您需要添加 cluster=[集群類型]-[集群id]參數,用于指定目標集群:
TKE 集群:/api/v1/targets?cluster=tke-cls-xxx
彈性集群:/api/v1/targets?cluster=eks-cls-xxx
邊緣集群:/api/v1/targets?cluster=tkeedge-cls-xxx
**/api/v1/alerts:**查詢告警狀態。
**/api/v1/rules:**查詢聚合和告警規則。
實例創建的 Grafana 會提供?些常用的監控面板,包含了集群綜合信息,節點,工作負載,Pod 等。當您后續進行了集群關聯后,被關聯集群的數據就可以在默認監控面板中查看。
實例創建完成后,您需要需要監控的集群進行關聯。關聯之后,您就可以在集群中通過創建 SerivceMonitor,PodMonitor 等進行采集配置。
TKE 的標準集群以及彈性集群需要與該實例 Prometheus 所屬同一個 VPC 網絡,邊緣集群則不受這個限制。
云原生監控為用戶提供了與 Prometheus Operator 兼容的能力,您可以修改 Prometheus Operator 所定義的采集相關的 CRD,例如 Prometheus CRD,ServiceMonitor,PodMonitor 等。具體可以參考【prometheus operator】
當成功關聯集群后,會在被關聯集群的 prom-xxx 命名空間下創建?個名如【tke-cls-xxx】的 Prometheus CRD 資源。可以通過修改此資源來修改全局采集配置,額外的 labels 等等。
云原?監控?持創建【ServiceMonitor】,您可以通過控制臺創建,也可以直接在集群?創建 ServiceMonitor。 選擇該集群中的任意 service 自動聚和成 Yaml。
云原監控支持創建【PodMonitor】,您可以通過控制臺創建,也可以直接在集群?創建 PodMonitor。
云原?監控?持直接創建 Prometheus 原?的 job,您可以通過控制臺創建,也可以通過修改集群中 prom-xxx 命名空間下的 promtheus-config secret 來達到同樣效果
您可以在控制臺的集群數據采集配置右上?看到最終?成的 Prometheus 配置?件 您也可以在被關聯集群的 prom-xxx 命名空間下,通過查看 prometheus-tke-cls-xxx 的 secret 來查看最終配置
在配置采集項的時候,您可能需要為配置提供?些?件,例如證書,您可以通過以下?式向采集器掛載?件,?件的更新會實時同步到采集器內:
prom-xxx 命名空間下的 configmap 打上以下的 label:prometheus.tke.tencent.cloud.com/scrape-mount = "true"
。
其中所有的 key 就會被掛載到采集器的路徑 /etc/prometheus/configmaps/[configmap-name]/
。
prom-xxx 命名空間下的 secret 打上以下的 label:prometheus.tke.tencent.cloud.com/scrape-mount = "true"
其中所有的 key 就會被掛載到采集器的路徑 /etc/prometheus/secret/[secret-name]/
集群被關聯后,云原?監控會在被關聯集群內創建默認的采集配置。將安裝以下兩個組件
kube-state-metrics:在 kube-system 下將安裝【kube-state-metrics】組件。
node exporter: 在 kube-system 下將安裝【node exporter】組件。
將添加以下采集項:
將添加以下聚合規則:
您可以通過控制臺【查看 targets ?標】來查看當前所有被監控的對象的狀態。
聚合規則?于使? PromQL 來?成新的指標,聚合規則將以 30 秒為周期進?計算。
告警規則?于定義告警,告警規則將以 30 秒為周期進?計算。
您可以通過控制臺來創建告警規則,?個告警可以配置多條規則:
名稱:為?戶?定義告警名稱
規則名稱:?于識別規則,可通過該名稱在 Grafana 中查看其告警狀態
PromQL:規則語句
Labels:在發送告警時將額外帶上,這?的 Labels ?法在告警內容中引?
告警內容:?于?成告警內容的模板,您可以使? {{$value}} 來引?告警觸發時的值,也可以使? {{$labels.label-name}} 來引?某個 label 的值
持續時間:當規則處于告警狀態時間?于該值時才會觸發告警,配置告警規則時,您還需要配置對應的告警渠道信息
您可以在告警歷史界?查詢告警歷史記錄,默認查詢近 24 ?時的告警記錄,您可以通過時間篩選來查詢?標范圍內的記錄,您可以通過通過右邊搜索欄進?模糊過濾。
您可以通過在集群內直接創建【PrometheusRule】來創建告警和聚合規則
默認會?動在規則的 PromQL 中注? Prometheus CRD 中的 externalLables,從?使得該規則只對本集群?效,關閉 externalLabels 注?可以通過在【PrometheusRule】中打上以下 annottation 來關閉注?:prometheus.tke.tencent.cloud.com/disable-labels-inject=""
若您創建的是告警規則,可通過添加以下 annotation 來指定告警渠道:prometheus.tke.tencent.cloud.com/notification-inject="渠道id"
其中,渠道 id 即為控制臺創建告警規則時所?成的告警 id。 因此,若您想使?集群內告警規則,您需要在控制臺?少創建?起告警。
模板一共分成兩種類型,聚合規則和告警策略模板、數據采集模板。用于管理多集群 prometheus 配置,并支持一鍵同步升級等功能。
您可以通過控制臺來創建模板,既可以復制已有模板,也可以創建一個空模板,然后添加自定義配置。
其中聚合規則和告警策略模板、數據采集等配置寫法保持一致。
名稱:模板名稱。
類型:默認模板只允許進行復制,不允許編輯和刪除。
關聯 Prometheus 實例數目:模板綁定了 Prometheus 實例的數目。
關聯 Prometheus Agent 數目:模板綁定了 Prometheus 實例的數目。
版本:代表當前模板的版本。
告警和聚合模板的關聯實例列表,在這個列表中,能夠對綁定的多個 Prometheus 實例進行同步告警策略和聚合規則。
支持同時關聯多個地域的 Prometheus 實例或者多個地域的集群,從而達到一鍵同步,管理多個集群的效果。
如果對模板解除關聯則所有模板相關配置被清除且不可恢復。
關于如何優雅地使用云原生Prometheus 監控集群就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。