qq空間是用什么做的網(wǎng)站成都網(wǎng)絡(luò)推廣外包公司哪家好
Docker 環(huán)境下多節(jié)點(diǎn)服務(wù)器監(jiān)控實(shí)戰(zhàn):從 Prometheus 到 Grafana 的完整部署指南
文章目錄
- Docker 環(huán)境下多節(jié)點(diǎn)服務(wù)器監(jiān)控實(shí)戰(zhàn):從 Prometheus 到 Grafana 的完整部署指南
- 一 多節(jié)點(diǎn)部署
- 1 節(jié)點(diǎn)一
- 2 節(jié)點(diǎn)二
- 3 節(jié)點(diǎn)三
- 二 監(jiān)控節(jié)點(diǎn)部署
- 三 配置 prometheus.yml
- 四 測(cè)試監(jiān)控系統(tǒng)
本文介紹了如何通過 Docker 快速部署 Prometheus 和 Grafana,實(shí)現(xiàn)對(duì)多個(gè)服務(wù)器節(jié)點(diǎn)的監(jiān)控。在實(shí)戰(zhàn)過程中,分別在三個(gè)節(jié)點(diǎn)上部署 node-exporter,并在第三個(gè)節(jié)點(diǎn)上集成 Prometheus 和 Grafana,完成對(duì)服務(wù)器性能的實(shí)時(shí)監(jiān)控。文章提供了詳細(xì)的 Docker Compose 配置文件,并對(duì) Prometheus 進(jìn)行優(yōu)化配置,確保節(jié)點(diǎn)數(shù)據(jù)的精準(zhǔn)采集與展示。最后,用戶可以通過訪問 Grafana 來實(shí)現(xiàn)可視化的監(jiān)控體驗(yàn)。這篇指南適合有一定基礎(chǔ)的開發(fā)者快速掌握多節(jié)點(diǎn)監(jiān)控系統(tǒng)的搭建。
預(yù)備課:
Docker 安裝與配置:從入門到部署
Docker 部署 Prometheus+Grafana 監(jiān)控系統(tǒng)快速指南
一 多節(jié)點(diǎn)部署
部署多個(gè) node-exporter 節(jié)點(diǎn)監(jiān)控,例如:節(jié)點(diǎn)有三個(gè)。
IP | 描述 |
---|---|
192.168.0.1 | 節(jié)點(diǎn)一 |
192.168.0.2 | 節(jié)點(diǎn)二 |
192.168.0.3 | 節(jié)點(diǎn)三 Grafana 和 Prometheus 都部署在這個(gè)節(jié)點(diǎn)上 |
1 節(jié)點(diǎn)一
docker-compose.node01.yml
version: '3'
services:node-exporter:image: prom/node-exporter:v1.6.1container_name: node-exporterhostname: node_exporter_01restart: alwaysnetworks:- monitornetports:- "9100:9100"networks:monitornet:external: true
2 節(jié)點(diǎn)二
docker-compose.node02.yml
version: '3'
services:node-exporter:image: prom/node-exporter:v1.6.1container_name: node-exporterhostname: node_exporter_02restart: alwaysnetworks:- monitornetports:- "9100:9100"networks:monitornet:external: true
3 節(jié)點(diǎn)三
docker-compose.node03.yml
version: '3'
services:node-exporter:image: prom/node-exporter:v1.6.1container_name: node-exporterhostname: node_exporter_03restart: alwaysnetworks:- monitornetports:- "9100:9100"networks:monitornet:external: true
二 監(jiān)控節(jié)點(diǎn)部署
監(jiān)控節(jié)點(diǎn)也部署在 節(jié)點(diǎn)三 ( 192.168.0.3
)上 。
docker-compose.monitor.yml
version: '3'
services:prometheus:image: prom/prometheus:v2.47.2container_name: "prometheus0"restart: alwaysnetworks:- monitornetports:- "9090:9090"volumes:- "./prometheus.yml:/etc/prometheus/prometheus.yml"- "./prometheus_data:/prometheus"grafana:image: grafana/grafana:10.1.5container_name: "grafana0"restart: alwaysnetworks:- monitornetports:- "3000:3000"volumes:- "./grafana_data:/var/lib/grafana"networks:monitornet:external: true
三 配置 prometheus.yml
prometheus.yml 的配置
global:scrape_interval: 15s # 全局默認(rèn)抓取間隔時(shí)間external_labels:monitor: single-monitor # 外部標(biāo)簽,用于標(biāo)識(shí)監(jiān)控源
scrape_configs:- job_name: node-exporter # 采集節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)的任務(wù)名稱scrape_interval: 5s # 當(dāng)前任務(wù)的抓取間隔時(shí)間metrics_path: /metrics # 指標(biāo)數(shù)據(jù)的抓取路徑static_configs:# 監(jiān)聽目標(biāo)服務(wù)的 IP 和端口,需根據(jù)實(shí)際情況修改。如果是云服務(wù),可能需要使用公網(wǎng) IP。# 如果有多個(gè) targets,不要設(shè)置 labels,否則可能導(dǎo)致數(shù)據(jù)混亂- targets: ['192.168.0.3:9100', '192.168.0.2:9100', '192.168.0.1:9100']
# labels:
# instance: CentOS # 如果監(jiān)控多個(gè)節(jié)點(diǎn),注釋掉 labels 避免數(shù)據(jù)沖突- job_name: prometheus # 監(jiān)控 Prometheus 自身的任務(wù)static_configs:- targets: [ 'prometheus:9090' ] # Prometheus 服務(wù)的抓取目標(biāo)labels:instance: prometheus # 為 Prometheus 服務(wù)添加標(biāo)簽
四 測(cè)試監(jiān)控系統(tǒng)
# node-exporter 部署成功
http://192.168.0.3:9100/metrics
# prometheus 部署成功
http://192.168.0.3:9090/targets
# grafana 地址 初始密碼 admin/admin
http://192.168.0.3:3000
Grafana 默認(rèn)訪問地址為 http://your-grafana:3000
,初始登錄的用戶名和密碼均為 admin
。登錄后,修改密碼以確保安全。