部署Prometheus+Grafana監(jiān)控平臺(tái)實(shí)踐
可視化監(jiān)控方案

在宿主機(jī)上編寫(xiě)Prometheus配置文件
mkdir /etc/prometheus vi /etc/prometheus/prometheus.yml
文件配置內(nèi)容如下:
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
使用Docker創(chuàng)建Prometheus容器
docker network create monitoring docker run -d --name=prometheus --net=monitoring -v /etc/prometheus:/etc/prometheus/ -v prometheus-data:/prometheus -p 9090:9090 prom/prometheus:latest
在瀏覽器中訪問(wèn)“http://<宿主機(jī)IP地址>:9090”,可以看到Prometheus的首頁(yè)。
使用Docker部署Grafana
docker run -d --name=grafana --net=monitoring -v grafana-data:/var/lib/grafana -p 3000:3000 grafana/grafana:latest
在瀏覽器中訪問(wèn)“http://<宿主機(jī)IP地址>:3000”,可以看到Grafana登陸頁(yè)面,默認(rèn)用戶名和密碼均為“admin”,第一次登陸需設(shè)置新的密碼。然后進(jìn)入Grafana首頁(yè)。
在Grafana中添加Prometheus作為數(shù)據(jù)源
DATA SOURCES->Add your first data source->Prometheus,進(jìn)入數(shù)據(jù)源配置頁(yè)面,在Connection中Prometheus server URL輸入Prometheus的訪問(wèn)地址“http://<宿主機(jī)IP地址>:9090”,單擊Save&test按鈕進(jìn)行保存和測(cè)試。添加成功后,可以在Connections中的Data sources查看數(shù)據(jù)源。
Prometheus監(jiān)控案例–監(jiān)控Linux服務(wù)器
Node Exporter用于采集和暴露本機(jī)的系統(tǒng)性能數(shù)據(jù),包括但不限于CPU、內(nèi)存、硬盤(pán)、網(wǎng)絡(luò)接口等指標(biāo)。
在監(jiān)控主機(jī)上部署Node Exporter
Node Export支持多種安裝方式,包括Docker和二進(jìn)制。如果目標(biāo)監(jiān)控主機(jī)已安裝Docker,則建議使用Docker容器部署;反之,則使用二進(jìn)制的方式部署。
下面演示通過(guò)二進(jìn)制方式部署:
在官網(wǎng)上下載Node Exporter安裝包
wget https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz tar zxvf node_exporter-1.10.2.linux-amd64.tar.gz mv node_exporter-1.10.2.linux-amd64 /usr/local/node_exporter
使用Systemd管理node_exporter程序,創(chuàng)建服務(wù)文件
vi /usr/lib/systemd/system/node_exporter.service
文件配置內(nèi)容如下:
[Unit] Description=Prometheus Node Exporter After=network.target [Service] Type=simple User=nobody Group=nobody ExecStart=/usr/local/node_exporter/node_exporter Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
啟動(dòng)并設(shè)置開(kāi)機(jī)啟動(dòng)
# 重新加載 systemd systemctl daemon-reload # 重置失敗計(jì)數(shù)器 systemctl reset-failed node_exporter # 禁用SELinux setenforce 0 # 啟動(dòng)服務(wù) systemctl start node_exporter # 開(kāi)機(jī)啟動(dòng) systemctl enable node_exporter
Node Exproter默認(rèn)監(jiān)聽(tīng)9100端口,可以通過(guò)瀏覽器訪問(wèn)被監(jiān)控服務(wù)器“http://192.168.1.76:9100/metrics”查看采集的指標(biāo)數(shù)據(jù)。
Prometheus添加監(jiān)控目標(biāo)
為了將上面的被監(jiān)控Linux服務(wù)器加入Prometheus監(jiān)控中,需要在Prometheus配置文件(/etc/prometheus/prometheus.yml)中添加監(jiān)控目標(biāo),配置如下
vi /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "Linux-Server"
# metrics_path: '/metrics'
# scheme: http
static_configs:
- targets: ["192.168.1.75:9100","192.168.1.76:9100"]
配置完成后,重啟Prometheus容器或者向Prometheus進(jìn)程發(fā)送“SIGHUP”信號(hào)以重新加載配置文件:
docker exec -it prometheus kill -HUP 1
在瀏覽器中訪問(wèn)“http://<宿主機(jī)IP地址>:9090”,打開(kāi)Prometheus的頁(yè)面,單擊導(dǎo)航欄中的“Status->Target health”,可以看到被監(jiān)控的服務(wù)器狀態(tài)為“UP”,表明已成功監(jiān)控。
Prometheus會(huì)定期收集從“Endpoint”顯示的地址中獲取指標(biāo)數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行存儲(chǔ)。在頁(yè)面導(dǎo)航欄“Graph”中,可以使用PromQL查詢(xún)語(yǔ)句檢索存儲(chǔ)在Prometheus中的指標(biāo)數(shù)據(jù)。
例如,查看與CPU相關(guān)的指標(biāo),輸入“node_cpu_seconds_total{instance=“192.168.1.75:9100”}”即可查詢(xún)。
Grafana導(dǎo)入儀表盤(pán)
在瀏覽器中訪問(wèn)“http://<宿主機(jī)IP地址>:3000”,進(jìn)入Grafana頁(yè)面,按以下方式配置:
home->Dashboards->Create dashboard->import dashboard輸入儀表盤(pán)ID"12633",單擊Load按鈕加載,進(jìn)入儀表盤(pán)配置界面,在這里設(shè)置儀表盤(pán)的名稱(chēng)和Prometheus數(shù)據(jù)源,單擊Import完成導(dǎo)入,將看到儀表盤(pán)界面。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Nginx使用Prometheus+Grafana實(shí)現(xiàn)日志分析與監(jiān)控
- Spring Boot應(yīng)用與Prometheus和Grafana整合方案
- mysqld_exporter+Prometheus+Grafana 配置小結(jié)
- docker 安裝部署 Prometheus 與grafana的詳細(xì)過(guò)程
- Prometheus 和 Grafana 通過(guò)nginx-exporter監(jiān)控nginx的詳細(xì)步驟
- Springboot搭建JVM監(jiān)控(Springboot + Prometheus + Grafana)
- Prometheus + Grafana 構(gòu)建強(qiáng)大的監(jiān)控和數(shù)據(jù)可視化系統(tǒng)(最新推薦)
- docker 部署prometheus+grafana的過(guò)程詳解
相關(guān)文章
Docker時(shí)間不一致,時(shí)區(qū)設(shè)置方式
這篇文章主要介紹了Docker時(shí)間不一致,時(shí)區(qū)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Docker?Compose?Start命令優(yōu)雅重啟容器服務(wù)詳解
Docker Compose Start 是用于重啟已停止容器的輕量級(jí)命令,優(yōu)勢(shì)在于快速恢復(fù)服務(wù)、保持容器狀態(tài)及資源節(jié)約,這篇文章主要介紹了Docker?Compose?Start命令優(yōu)雅重啟容器服務(wù)的相關(guān)資料,需要的朋友可以參考下2025-08-08
基于Docker實(shí)現(xiàn)MySQL主從復(fù)制的詳細(xì)教程
這篇博客整理了如何在Docker環(huán)境下配置MySQL主從復(fù)制,通過(guò)創(chuàng)建和命名兩個(gè)MySQL容器,設(shè)置獨(dú)立IP,并詳細(xì)說(shuō)明了在宿主機(jī)上持久化數(shù)據(jù)、開(kāi)啟root遠(yuǎn)程訪問(wèn)及添加復(fù)制用戶的過(guò)程,需要的朋友可以參考下2024-10-10
基于windows10安裝docker及遇到的問(wèn)題
這篇文章主要介紹了基于windows10安裝docker及遇到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
一文打你掌握Docker鏡像層(Layer)原理與優(yōu)化
Docker鏡像是多層只讀文件的堆疊,每一層記錄文件系統(tǒng)的變更差異,本文主要為大家詳細(xì)介紹了Docker鏡像層的核心原理與優(yōu)化,感興趣的小伙伴可以了解下2026-05-05

