prometheus監控kubernetes集群并使用 grafana展示數據

目錄

Prometheus組成及架構

prometheus核心組件

1.Prometheus Server

2.Exporters

3.Alertmanager

4.Pushgateway

數據流程

在k8s中部署Prometheus+Grafana+釘釘告警+郵件告警

將kube-Prometheus包下載后傳入虛擬機

tar -xzv kube-promethus.zip

cd 進入

ll 顯示目錄

至此prometheus以及釘釘告警、郵件告警修改完畢,先按步驟部署即可

1.創建pv

2.cd kube-state-metrics

3.cd node-export

4.cd alertmanager

5.cd prometheus-server

6.部署Grafana

7.現在為 Grafana添加一個數據源為Prometheus

8.添加模板


Prometheus組成及架構

prometheus核心組件

1.Prometheus Server

整個監控系統的核心 ,有以下功能

數據采集 :

通過http協議主動從目標服務器pull(拉取)指標數據,也可以通過 Pushgateway接受推送數據

數據存儲:

將采集的時序數據存儲到本地的時序數庫,默認保留15天

查詢與聚合提供PromeQL的查詢語言,支持實時分析聚合數據

告警與評估

根據定義的告警規則計算是否觸發告警,并將告警發送給Alertmanager

2.Exporters

用于將非Prometheus的數據類型轉換為Prometheus可識別的格式,如

主機監控:

node_exporter(收集CPU、內存、磁盤等主機指標)

應用監控:

如myspl_exporter(MySQL)、redis_exporter(redis)、blackbox_exporter(HTTP/ICMP探測)

自定義:

開發符合Prometheus規范的HTTP接口,暴露應用內不指標(如業務接口調用量)

3.Alertmanager

告警分組:

將同類的告警合并(如多臺服務器同時觸發高CPU告警)

告警抑制:

當某個告警觸發后,抑制其他相關的次要告警(如服務器宕機后,抑制其上應用告警)

告警路由:

根據規則將告警發送到不同的接收端(如郵件、Slack、PagerDuty、企業微信、釘釘等)

4.Pushgateway

可選組件,用于接收短期任務(如 CI/CD 作業)的指標數據,再由 Prometheus 定期從 Pushgateway 拉取。(因 Prometheus 原生是 Pull 模式,短期任務可能在被拉取前結束,故需 Pushgateway 中轉)

數據流程

  1. 目標服務通過 Exporter 暴露指標接口(或通過 Pushgateway 推送數據)。
  2. Prometheus Server 定期拉取指標并存儲到 TSDB。
  3. 用戶通過 PromQL 或 Grafana 查詢數據。
  4. Prometheus 評估告警規則,觸發時將告警發送給 Alertmanager。
  5. Alertmanager 處理告警并路由到指定接收端。

在k8s中部署Prometheus+Grafana+釘釘告警+郵件告警

需要自己部署好nfs環境最好在主節點

將kube-Prometheus包下載后傳入虛擬機

此目錄中文件全部可用,但需修改nfs的目錄路徑,已經nfs的IP、釘釘的Webhook,secret和郵件的收件人和發送人

tar -xzv kube-promethus.zip

cd 進入

ll 顯示目錄

1? cd alertmanager

vim alertmanager-configmap.yml

2? alertmanager 目錄只需修改此文件,現在退出至上一目錄

進入釘釘應用

選擇一個群,進入設置,點擊添加機器人,選擇加簽,選擇添加即可

再次點擊機器人,下面會用到webhook和secret

cd ..

cd dingding

vim dingtalk-configmap.yaml 修改圖中標出的url和secret

dingding修改完畢,現在退至上一目錄

3.? cd nfs-pv/

vim pv-demo.yml

4.? nfs-pv 目錄修改完畢,退出至上一目錄

cd promethus-server

vim promethus-configmap.yml

至此prometheus以及釘釘告警、郵件告警修改完畢,先按步驟部署即可

1.創建pv

cd nfs-pv

kubectl apply -f ./

我因為之前已經創建好了,所以這里顯示unchanged,正常顯示的是created

kubectl get pv 查看創建的pv 我的status是Bound因為已經綁定了pvc,正應該是Available

2.cd kube-state-metrics

kubectl apply -f .

同上,我的是unchanged,正常為created

kubectl get pod -n kube-system 查看pod狀態 正常應為 reday 2/2 runing

若出現pod狀態為ErrImagePull ,則使用describe 查看pod狀態

kubectl describe pod kube-state-metrics-769d7f8b8b-rf2h2(換成自己的pod)命令查看報錯

發現鏡像拉不下來,則使用 -o wide 看pod分配到哪個節點,文章下面有對應的包

下載后傳到虛擬機上在使用 docker load -i 包名 即可拉取鏡像

等待2分鐘再次觀察pod的狀態,發現變為runing

3.cd node-export

啟動次pod時,注意使用的控制器時Daemonset,則每個節點都需要運行一個pod,但是master節點一般會有污點(為了提高master的管理效率,一般不在master上運行pod),所以我們需要清理污點

首先看master的污點類型

kubectl describe nodes master名稱 | grep Taint

過濾結果大概率為 node-role.kubernetes.io/master:NoSchedule

去除污點

將污點去除

kubectl taint nodes master名稱 node-role.kubernetes.io/master:NoSchedule- (注意這個減號,是去除的意思)

然后執行

kubectl apply -f ./

依舊同上

查看pod狀態

kubectl get pod -n kube-system -o wide

會有三個pod運行,且master、k8s-node01、k8s-node02各運行一個

若狀態有問題,describe查看報錯,若鏡像 拉不下來,先給每個節點添加一個8.8.8.8的DNS,

vim /etc/sysconfig/network-scripts/ifcfg-ens33 編輯此文件添加一個DNS

保存退出后重啟網絡

systemctl restart network

等待兩分中,若不行,使用下面方法

下載包(文章下面有),再傳到每個虛擬機,執行docker load -i 即可

查看svc

kubectl get svc -n kube-system

4.cd alertmanager

kubectl apply -f ./

同上

查看pod是否創建

kubectl get pods -l "k8s-app=alertmanager" -n kube-system

查看svc

kubectl get svc -n kube-system

5.cd prometheus-server

kubectl apply -f ./

同上

查看pod和svc是否成功創建

kubectl get pods -l "k8s-app=prometheus" -n kube-system

kubectl get svc -n kube-system

至此Prometheus部署完畢,測試是否可用

訪問任意節點的IP+30090端口

例如:192.168.80.147:30090

6.部署Grafana

cd grafana

kuebctl apply -f ./

同上

查看pod和svc狀況

kubectl get pod -n kube-system | grep monitoring-grafana

kubectl get svc -n kube-system | grep monitoring-grafana

至此Grafana部署完畢

測試訪問192.168.810.147:32325

能進入代表部署成功

7.現在為 Grafana添加一個數據源為Prometheus

點擊Connections 連接

點擊 data sources數據源

搜索prometheus

點進去

添加prometneus的svc IP和端口

IP為prometheus的svc內部集群IP 端口為9090

添加好之后滑到最下面保存即可

8.添加模板

進入此網站搜索node,選擇第一個,進入后下載最新的

Grafana dashboards | Grafana Labs

然后回到剛才的Grafana主頁的home

選擇Dashborad

點擊右上角的 +

選擇import dashborad

點擊導入模板,選擇剛才下載的模板,我這有三個,你們只有一個剛才下載的

選擇數據源為 prometheus

點擊import導入即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96730.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96730.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96730.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

K8s 實戰:Pod 版本更新回滾 + 生命周期管控

一、版本更新與回滾實驗背景本實驗通過 Kubernetes 的 Deployment 資源演示應用的版本更新與回滾流程。Deployment 是 Kubernetes 中用于管理 Pod 和 ReplicaSet 的核心資源,支持滾動更新(避免服務中斷)和版本回滾(應對更新故障&a…

靜電服漏檢率↓79%!陌訊多模態識別算法在智慧安檢的實戰解析

?原創聲明??:本文技術方案引自《陌訊視覺算法技術白皮書V3.1》,實測數據來自工業場景部署驗證 一、行業痛點:靜電防護失效的隱形風險 據《電子制造業安防報告2025》統計,精密電子車間因靜電服穿戴不規范導致的次品率高達23%&a…

StarRocks不能啟動 ,StarRocksFe節點不能啟動問題 處理

StarRocks不能啟動 ,StarRocksFe節點不能啟動問題 處理 問題描述 mysql:[Warning] Using a passwordon the command line interface can be insecureERROR 2003 (HYa00): Can’t connect to MysoL server on ‘192.168.5.128:9030’(111)Error: failed to query fE…

麒麟系統播放圖片 速度比較

pygame效果比opencv好,opencv有鋸齒:import pygame import os import timedef show_image_sdl(image_path):"""使用SDL2快速顯示圖片"""# 初始化pygamepygame.init()# 獲取屏幕信息info pygame.display.Info()screen_wid…

復雜場景橫幅識別準確率↑91%!陌訊多模態融合算法在智慧園區的實戰解析

一、行業痛點:園區違規橫幅識別的三重挑戰 據《2024智慧園區安防報告》(來源:CCSA TC10)統計: ??強光干擾??:玻璃幕墻反光導致文字識別錯誤率超50% ??形變干擾??:橫幅褶皺、飄動造成關…

Mybatis Plus - 代碼生成器簡單使用

1.引入依賴<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.12</version></dependency><dependency><groupId>com.baomidou</groupId><ar…

vue2騰訊地圖點擊地圖獲取地址經緯度web

注意&#xff1a;&#xff01;&#xff01;&#xff01;在做uniapp小程序導航功能時&#xff0c;拿到我們在后臺管理設置的經緯度&#xff0c;根據經緯度去導航到店的時候&#xff0c;最好用騰訊地圖來獲取經緯度&#xff0c;uniapp小程序那邊默認導航經緯度是騰訊系的&#xf…

7.6 殘差網絡

隨著我們設計越來越深的網絡&#xff0c;深刻理解 新添加的層如何提升神經網絡的性能&#xff0c;變得至關重要。更重要的是設計網絡的能力&#xff0c;在這種網絡中&#xff0c;添加層會使網絡更具有表達力&#xff0c;為了取得質的突破&#xff0c;需要一些數學基礎。7.6.1 函…

建模工具Sparx EA的多視圖協作教程

在傳統建模工具中&#xff0c;功能繁雜、界面混亂、窗口頻繁切換等問題長期困擾著架構師與開發人員&#xff0c;不僅拖慢設計節奏&#xff0c;更導致模型與文檔嚴重脫節。企業架構與建模平臺Sparx EA直面這些挑戰&#xff0c;通過現代化的Ribbon界面與多視圖協作機制&#xff0…

從聚類到集成,兩種實用算法框架分享

一、K-means&#xff1a;讓數據自己 “找組織”什么是聚類&#xff1f;聚類屬于無監督學習的范疇 —— 簡單說就是手里沒有標簽時&#xff0c;我們要把長得像的樣本分到一組。比如給一堆用戶數據&#xff0c;不需要提前知道 “高價值用戶”“潛在用戶” 這些標簽&#xff0c;聚…

Elasticsearch:什么是神經網絡?

神經網絡定義 神經網絡&#xff08;Neural networks&#xff09;是機器學習&#xff08;machine learning&#xff09;的一個子集&#xff0c;旨在模擬生物大腦的結構和功能。也稱為人工神經網絡 (artificial neural networks - ANNs)&#xff0c;神經網絡由互連的節點或人工神…

XTDrone——無人機基于2D激光Lidar進行二維運動規劃(細節提醒以及相關報錯解決)

參考XTDrone文檔&#xff1a; 二維激光SLAM&#xff08;HectorSLAM&#xff09; 語雀 二維運動規劃 語雀 相關ROS依賴庫&#xff1a; 本地基于的是20.04的ubuntu系統&#xff1a; sudo apt install -y ros-noetic-move-base \ ros-noetic-costmap-2d \ ros-noetic-dwa-l…

機器學習算法-樸素貝葉斯

樸素貝葉斯分類器就是根據貝葉斯公式計算結果進行分類的模型&#xff0c;“樸素”指事件之間相互獨立無影響. 例 如&#xff1a;有如下數據集&#xff1a;Text CategoryA great game&#xff08;一個偉大的比賽&#xff09;Sports&#xff08;體育運動&#xff09;The e…

RoPE, 2D RoPE, 3D RoPE和復數

旋轉位置編碼是一種用于Transformer架構中的位置編碼方法&#xff0c;從復數的角度來看&#xff0c;其主要利用了復數的乘法性質來實現位置編碼&#xff0c;以下作為學習記錄&#xff1a;1. 旋轉位置編碼1&#xff09;對于輸入序列的每個位置的嵌入向量&#xff0c;將嵌入向量分…

Java靜態代理與動態代理實戰解析

Java靜態代理 示例代碼 接口&#xff1a; package com.ssg.aop.interfaces;public interface MathCalculator { // 加法public int add(int a, int b); }接口實現類&#xff1a; package com.ssg.aop.impl; import com.ssg.aop.interfaces.MathCalculator;public class Math…

如何排查服務器DNS解析失敗的問題

服務器 DNS 解析失敗會導致無法訪問域名&#xff08;如 google.com&#xff09;&#xff0c;可能影響服務器的正常運行。以下是排查 DNS 解析失敗問題的詳細步驟&#xff0c;包括可能的原因、診斷方法和解決方案。1. 原因分析DNS 解析失敗通常由以下原因引起&#xff1a;DNS 配…

音視頻面試題集錦第 32 期

音視頻學習群&#xff1a;https://gjzkeyframe.github.io/posts/wechat-group/ 音視頻面試題集錦第 32 期&#xff1a; 1、請詳細解釋 H.264 編碼中的熵編碼方式&#xff08;CAVLC 和 CABAC&#xff09;&#xff0c;它們的區別和適用場景是什么&#xff1f;2、解釋 H.264/H.2…

最大矩形+單調棧

題目&#xff1a;思考1&#xff1a; 利用柱形圖最大矩形的思想對于矩陣的每一行看作是柱形圖的地基對每一行&#xff08;認定為柱形圖&#xff09;執行找最大矩形 實現&#xff1a; class Solution { public:int maximalRectangle(vector<vector<char>>& matri…

NewsNow搭建喂飯級教程

大家在自媒體寫文章里遇到最難的問題便是查找題材了&#xff0c;隨便選擇的題材沒多少人會去看&#xff0c;平臺也不會給流量推送&#xff0c;所以&#xff0c;只有圍繞熱門題材去進行文章創作&#xff0c;才能得到平臺的重點推送以及大家的關注&#xff01; 在做這個功能前&a…

大疆無人機平臺 資源開放

一、部署包說明 目前基于大疆上云api開發的平臺經過多輪測試&#xff0c;已經有了個穩定的版本&#xff0c;并且有山東濱州、陜西西安、河南鄭州、上海、廣東深圳、廣東廣州、寧夏以及安徽等各地的用戶使用在公路巡檢、森林防火、電力巡查等行業中。 下面將會先將部署包免費開…