通過Docker部署Prometheus + Grafana搭建監控平臺【超詳細版】

在這里插入圖片描述

文章目錄

  • 前言
  • 一、Prometheus、Grafana
    • 1.1 Prometheus簡介
    • 1.2 Grafana簡介
    • 1.3 Prometheus的核心組件
    • 1.4 Prometheus優點
    • 1.5 Prometheus缺點
  • 二、部署Docker
  • 三、主節點部署Prometheus+Grafana
    • 3.1 部署Prometheus
    • 3.2 防火墻開放端口
    • 3.3 訪問服務
    • 3.4 安裝Grafana
    • 3.5 防火墻開放端口
    • 3.6 訪問服務
    • 3.7自定義賬號/密碼:admin/admin
  • 四、從節點部署Node_exporter
    • 4.1 被采集的主機節點上部署Node_exporter
    • 4.2 防火墻開放端口
  • 五、主節點配置Prometheus
    • 5.1 在主節點上修改Prometheus主配置文件
  • 六、配置Grafana監控界面
    • 6.1 添加Prometheus數據源
    • 6.2 選擇Prometheus類型
    • 6.3 輸入主節點PrometheusIP地址及端口
    • 6.4 點擊sava保存
    • 6.5 新增Dashboard Linux基礎數據展示
    • 6.6 填寫模板id
    • 6.7 選擇剛剛創建好的數據源
    • 6.8 查看Dashboard
  • 總結


前言

Prometheus(普羅米修斯R)是一套開源的監控&報警&時間序列數據庫的組合,由SoundCloud公司開發。
Prometheus基本原理是通過HTTP協議周期性抓取被監控組件的狀態,這樣做的好處是任意組件只要提供HTTP接口就可以接入監控系統,不需要任何SDK或者其他的集成過程。這樣做非常適合虛擬化環境比如VM或者Docker。
Prometheus應該是為數不多的適合Docker、Mesos、Kubernetes環境的監控系統之一。
Prometheus 號稱下一代監控系統,已經成為主導及容器監控方面的標配,并且在未來可見的時間內被廣泛應用


提示:以下是本篇文章正文內容,下面案例可供參考

一、Prometheus、Grafana

1.1 Prometheus簡介

Prometheus是由SoundCloud公司開發的開源監控和警報工具包。其設計思想是通過時間序列數據庫存儲監控數據,并通過強大的查詢語言PromQL對數據進行分析。Prometheus的架構高度模塊化,易于擴展,特別適合云原生環境,如Kubernetes集群。

1.2 Grafana簡介

Grafana是一個開源的數據可視化工具,廣泛用于繪制圖表和儀表盤。它可以與多種數據源配合使用,如Prometheus、Graphite等,并提供豐富的圖表類型和插件支持。Grafana的用戶友好界面使得自定義和共享儀表盤變得輕而易舉。

通過將Prometheus的數據采集、存儲與Grafana的可視化能力相結合,可以創建一套強大的監控系統,幫助維護和優化大規模的IT環境。
在這里插入圖片描述

1.3 Prometheus的核心組件

Prometheus服務器:負責收集和存儲時間序列數據。
exporters:用于將不同類型的監控指標轉化為Prometheus格式,例如node_exporter用于收集主機級別的指標。
Pushgateway:允許短暫的生命進程將指標推送到Prometheus,適用于批處理作業。
Alertmanager:負責處理Prometheus服務器發出的警報。
各種客戶端庫:用于與被監控的程序集成,這些庫可以幫助自動生成指標。
Prometheus服務器是架構中的關鍵組件,它通過拉取(Pull)的方式從配置的目標中收集指標數據,并存儲在自身的時序數據庫中。通過查詢接口,用戶可以實時獲取監控數據,進行問題診斷和趨勢分析。

1.4 Prometheus優點

(1)提供多維度數據模型和靈活的查詢方式
通過將監控指標關聯多個 tag,來將監控數據進行任意維度的組合,并且提供簡單的 PromQL 查詢方式,還提供 HTTP 查詢接口,可以很方便地結合 Grafana 等 GUI 組件展示數據。

(2)基于時序數據庫,支持服務器節點的本地存儲
通過 Prometheus 自帶的時序數據庫,可以完成每秒千萬級的數據存儲;不僅如此,在保存大量歷史數據的場景中,Prometheus 可以對接第三方時序數據庫和 OpenTSDB 等。

(3)定義了開放指標數據標準
以基于 HTTP 的 Pull 方式采集時序數據,只有實現了Prometheus監控數據才可以被 Prometheus 采集、匯總、并支持 Push 方式向中間網關推送時序列數據,能更加靈活地應對多種監控場景。

(4)支持通過靜態文件配置和動態發現機制發現監控對象
自動完成數據采集。Prometheus 目前已經支持 Kubernetes、etcd、Consul 等多種服務發現機制。

(5)易于維護
可以通過二進制文件直接啟動,并且提供了容器化部署鏡像。

(6)集群支持
支持數據的分區采樣和集群部署,支持大規模集群監控。

1.5 Prometheus缺點

Prometheus 是基于 Metric 的監控,不適用于日志(Logs)、事件(Event)、調用鏈(Tracing)。
由于Prometheus采用的是Pull模型拉取數據,意味著所有被監控的endpoint必須是可達的,需要合理規劃網絡的安全配置。
指標眾多,需進行適當裁剪。
本次部署Prometheus+Grafana需要兩臺服務器

主節點(10.10.10.65)主要負責部署Prometheus+Grafana,搭建監控server平臺,并開啟9090、3000端口
從節點(10.10.10.214)主要負責部署Node_exporter,主要在被采集的主機上部署插件服務,并開啟9100服務端口,支持部署多臺被采集的主機,由主節點統一管理

二、部署Docker

可以參考我之前部署docker教程,非常詳細

三、主節點部署Prometheus+Grafana

3.1 部署Prometheus

#拉取鏡像
docker pull prom/prometheus
#運行容器
docker run -itd --name=prometheus --restart=always -p 9090:9090 prom/prometheus

3.2 防火墻開放端口

#開放端口策略
firewall-cmd --zone=public --add-port=9090/tcp --permanent
#刷新防火墻配置
firewall-cmd --reload
#查看已開放端口
firewall-cmd --list-ports

在這里插入圖片描述

3.3 訪問服務

通過瀏覽器訪問http://ip地址:9090
在這里插入圖片描述

3.4 安裝Grafana

#創建存儲卷
docker volume create -d local grafana_storage
#查看存儲卷
docker volume ls
#拉取鏡像
docker pull grafana/grafana
#運行容器
docker run -itd --name=grafana \
--restart=always \
-p 3000:3000 \
-v grafana_storage:/var/lib/grafana \
grafana/grafana

3.5 防火墻開放端口

#開放端口策略
firewall-cmd --zone=public --add-port=3000/tcp --permanent
#刷新防火墻配置
firewall-cmd --reload
#查看已開放端口
firewall-cmd --list-ports

3.6 訪問服務

通過瀏覽器訪問http://ip地址:3000
在這里插入圖片描述

3.7自定義賬號/密碼:admin/admin

在這里插入圖片描述

四、從節點部署Node_exporter

4.1 被采集的主機節點上部署Node_exporter

Node_exporter收集機器的系統數據,這里采用prometheus官方提供的exporter,除node_exporter外,官方還提供consul,memcached,haproxy,mysqld等exporter,具體可查看官網。

#創建存儲卷
docker volume create -d local node_proc
docker volume create -d local node_sys
#查看存儲卷
docker volume ls
#拉取鏡像
docker pull prom/node-exporter
#運行容器
docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v node_proc:/host/proc:ro \
-v node_sys:/host/sys:ro \
-v "/:/rootfs:ro" \
prom/node-exporter

在這里插入圖片描述

4.2 防火墻開放端口

#開放端口策略
firewall-cmd --zone=public --add-port=9100/tcp --permanent
#刷新防火墻配置
firewall-cmd --reload
#查看已開放端口
firewall-cmd --list-ports

五、主節點配置Prometheus

5.1 在主節點上修改Prometheus主配置文件

#復制文件
docker cp prometheus:/etc/prometheus/prometheus.yml $PWD#修改prometheus.yml文件
vim prometheus.yml#在Prometheus配置文件按以下內容修改:
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090']labels:instance: prometheus- job_name: linuxstatic_configs:- targets: ['ip地址:9100']					#被監控端的IP地址和端口號(有多個被監控端可用 逗號 隔開)labels:instance: localhost#復制文件
docker cp $PWD/prometheus.yml prometheus:/etc/prometheus/prometheus.yml
#重啟容器服務
docker restart prometheus

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

六、配置Grafana監控界面

6.1 添加Prometheus數據源

使用瀏覽器訪問http:/ /10.10.10.65:3000監控平臺,添加Prometheus數據源
在這里插入圖片描述

6.2 選擇Prometheus類型

在這里插入圖片描述

6.3 輸入主節點PrometheusIP地址及端口

在這里插入圖片描述
在這里插入圖片描述

6.4 點擊sava保存

在這里插入圖片描述

6.5 新增Dashboard Linux基礎數據展示

在這里插入圖片描述

6.6 填寫模板id

更多grafana模板: https://grafana.com/grafana/dashboards 搜索 相應 dashboards的id如8919,12227
在這里插入圖片描述

6.7 選擇剛剛創建好的數據源

在這里插入圖片描述

6.8 查看Dashboard

成功顯示資源使用率可視化圖形界面
在這里插入圖片描述

總結

可以創建不同類型的數據源,比如MySQL、redis、MongoDB、PostgreSQL等等
在這里插入圖片描述
選擇不同數據源類型
在這里插入圖片描述

可以在官網查看更多可視化模板
官網提供很多模板

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

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

相關文章

華為云Flexus+DeepSeek征文|DeepSeek-V3商用服務開通教程

目錄 DeepSeek-V3/R1商用服務開通使用感受 DeepSeek-V3/R1商用服務開通 1、首先需要訪問ModelArts Studio_MaaS_大模型即服務_華為云 2、在網站右上角登陸自己的華為云賬號&#xff0c;如果沒有華為云賬號的話&#xff0c;則需要自己先注冊一個。 3、接著點擊ModelArts Stu…

ubuntu20.04修改默認網卡名稱為eth*

在Ubuntu 20.04.6中&#xff0c;遵循可預測網絡接口設備命名規則&#xff0c;網卡名稱默認可能是以"enp*"、"ens*"等開頭的格式&#xff0c;但是實際使用過程中&#xff0c;某些應用只能讀取eth*的網卡&#xff0c;需要修改。 查看網卡名稱 ip link show …

linux下抓包工具--tcpdump介紹

文章目錄 1. 前言2. 命令介紹3. 常見選項3.1. 接口與基本控制3.2 輸出控制3.3 文件操作3.4 高級調試 4. 過濾表達式4.1 協議類型4.2 方向與地址4.3 邏輯運算符 5. 典型使用場景5.1 網絡故障排查5.2 安全分析與入侵檢測5.3 性能分析與優化 linux下抓包工具--tcpdump介紹 1. 前言…

AI大模型-RAG到底能做些什么?

RAG常見的應用場景&#xff0c;有以下幾個方面&#xff1a; 1.智能客服系統&#xff1a;比如電商領域&#xff0c;對客戶提出的常見問題&#xff0c;進行自動回復。減少人力成本。 2.人力資源管理&#xff1a;一個新的員工&#xff0c;入職一家大型公司&#xff0c;公司中有各…

C++ unordered_set unordered_map

上篇文章我們講解了哈希表的實現&#xff0c;這節嘗試使用哈希表來封裝unordered_set/map 1. unordered_set/map的框架 封裝的過程實際上與set/map類似&#xff0c;在unordered_set/map層傳遞一個仿函數&#xff0c;用于取出key值 由于我們平常使用的都是unordered_set/map&…

REST API、FastAPI與Flask API的對比分析

以下是關于REST API、FastAPI與Flask API的對比分析&#xff0c;涵蓋架構設計、性能表現、開發效率等核心維度&#xff1a; 一、核心定位與架構差異 REST API 本質&#xff1a;一種基于HTTP協議的架構風格&#xff0c;強調資源化操作&#xff08;通過URI定位資源&#xff09;、…

實戰交易策略 篇二十二:情緒流龍頭交易策略

文章目錄 系列文章理論基礎股市的本質資金與情緒題材龍頭股龍頭戰法實戰技法情緒流技術分析擇時實操情緒流龍頭戰法要訣六大步驟九大術法買賣點量化標準系列文章 實戰交易策略 篇一:奧利弗瓦萊士短線交易策略 實戰交易策略 篇二:杰西利弗莫爾股票大作手操盤術策略 實戰交易策…

用VNA進行天線阻抗匹配的實例大圖

比如我這天線&#xff0c;在7Mhz時不諧振&#xff0c;我進行匹配 天線的阻抗很高&#xff0c;大約是在500-1400歐&#xff0c;而等效電容電感很小。 所以我考慮使用阻抗變壓器降低阻抗。 1。測試天線阻抗&#xff0c;電阻相當高&#xff0c;等效電容很小。 2。通過磁環匹配到…

一個讀寫excel的簡單程序(golang)

最近總有一些臨時統計的需求&#xff0c;比如其他團隊生產的一批數據&#xff0c;需要確認這批數據是否入到數倉&#xff0c;提供的列表就是一個excel&#xff0c;我們就需要讀取excel中的所有數據&#xff0c;之后查詢數倉數據庫確認這批數據是否存在&#xff0c;并分別將存在…

【AI面試準備】AI誤判案例知識庫優化方案

面試題&#xff1a;建立內部知識庫&#xff1a;收集AI誤判案例訓練領域專屬模型。 在回答關于“建立內部知識庫收集AI誤判案例訓練領域專屬模型”的面試問題時&#xff0c;建議從以下結構化框架展開&#xff0c;既能體現專業性&#xff0c;又能展現解決問題的系統性和實際落地…

Ocelot\Consul\.NetCore的微服務應用案例

案例資料鏈接&#xff1a;https://download.csdn.net/download/ly1h1/90733765 1.效果 實現兩個微服務ServerAPI1和ServerAPI2的負載均衡以及高可用。具體原理&#xff0c;看以下示意圖。 2.部署條件 1、騰訊云的輕量化服務器 2、WindowServer2016 3、.NETCore7.0 4、Negut …

中小企業MES系統需求文檔

適用對象&#xff1a;中小型離散制造企業&#xff08;年產值1-5億&#xff0c;員工200-800人&#xff09; 版本&#xff1a;V1.0 日期&#xff1a;2025年5月2日 一、業務背景與目標 1.1 現狀痛點 生產黑箱化&#xff1a;車間進度依賴人工匯報&#xff0c;異常響應延遲>2小…

OpenAI最新發布的GPT-4.1系列模型,性能體驗如何?

簡單來說,這次GPT-4.1的核心思路就是:更實用、更懂開發者、更便宜!OpenAI這次沒搞太多花里胡哨的概念,而是實實在在地提升了大家最關心的幾個點:寫代碼、聽指令、處理超長文本,而且知識庫也更新到了2024年6月。 寫代碼。要說這次GPT-4.1最亮眼的地方,可能就是寫代碼這塊…

【基礎算法】二分查找的多種寫法

前言 在算法競賽中&#xff0c;二分查找使用的頻率是非常高的&#xff0c;對于C選手而言&#xff0c;有STL中自帶的lower_bound和upper_bound二分查找&#xff0c;可以很方便的進行二分查找。但是非C選手、或者需要自定義多條件查找的情況需要自己寫一個二分&#xff0c;本文對…

蘭亭妙微:火箭發射界面案例分享

北京藍藍設計團隊來自清華美院&#xff0c;工作多年&#xff0c;行業經驗豐富&#xff0c;專業性很強。我們是熱愛設計&#xff0c;設計不僅是我們的專業&#xff0c;我們的職業&#xff0c;還是我們的愛好。每一個藍藍設計的設計師都希望自己的設計越來越好&#xff0c;以高標…

完美解決.NET Framework 4.0 中 System.Drawing 庫不支持 WebP 格式的圖像處理

如果你想在 .NET Framework 4.0 中使用 ImageMagick 處理圖片&#xff0c;可以通過 Magick.NET 庫來實現。Magick.NET 是 ImageMagick 的 .NET 封裝&#xff0c;可以用來讀取、寫入、編輯圖像。 以下是如何使用 Magick.NET 來處理圖像并提取圖像的寬度和高度。 步驟&#xff…

string--OJ1

鏈接: 例一 鏈接: 例er class Solution { public:int myAtoi(string str) {int sign 1;int ret0;int i0;while(str[i] ){i;}if(str[i]||str[i]-){if(str[i]-)sign*-1;i;}while(str[i]>0&&str[i]<9){int rstr[i] - 0;if(ret>INT_MAX/10||(retINT_MAX/10&…

Go 寫一個簡單的Get和Post請求服務

Go 寫一個簡單的Get和Post請求服務 ? 一、準備工作 安裝 Go 官網下載地址 安裝后執行&#xff1a; go version安裝 VS Code 插件 在 VS Code 插件市場搜索并安裝插件&#xff1a;Go&#xff08;由 Go 團隊提供&#xff09; 配置環境變量&#xff08;可選&#xff09; 設置 …

哪些因素會影響遠程視頻監控的質量?淺述EasyCVR視頻智能診斷技術

在安防領域&#xff0c;無線監控系統憑借其靈活部署、便捷擴展的特性得到廣泛應用。然而&#xff0c;實時監控圖像清晰度不足、回放調查受限等問題&#xff0c;嚴重制約了其應用效果。經分析&#xff0c;攝像機性能、線纜質量、無線網橋性能、交換機配置及供電電壓等是影響圖像…

Java大師成長計劃之第10天:鎖與原子操作

&#x1f4e2; 友情提示&#xff1a; 本文由銀河易創AI&#xff08;https://ai.eaigx.com&#xff09;平臺gpt-4o-mini模型輔助創作完成&#xff0c;旨在提供靈感參考與技術分享&#xff0c;文中關鍵數據、代碼與結論建議通過官方渠道驗證。 在多線程編程中&#xff0c;鎖與原子…