很多个人站长与 Homelab 玩家的服务器与 NAS 跑着几十个微服务与 Docker 容器。
但往往只有在网站打不开或 SSH 连不上时,才惊觉服务器已宕机多时;不仅难以追溯故障原因,更无法预知 CPU 负载爆满、内存泄漏或磁盘空间耗尽的征兆。
云原生领域的工业级监控事实标准——Prometheus(时序数据库与拉取引擎) + Grafana(可视化大屏),配合 Node Exporter(主机探针) 与 cAdvisor(容器指标),能让你对硬件与服务的每一次脉搏跳动了如指掌!
[!NOTE] 📌 核心速览(TL;DR / 快问快答):
- Prometheus Pull 模型优势:中心节点按设定的 Scrape 周期定时主动拉取指标,被监控节点宕机不会造成中心服务器拥堵,断联曲线一目了然。
- 双层监控矩阵:
- Node Exporter:监控物理机 CPU、内存、磁盘 I/O 与网卡流量。
- cAdvisor:专精监控每个 Docker 容器的内存、CPU 与网络吞吐。
- Grafana 模板秒级导入:官方模板库成熟(输入 ID
1860导入 Node Exporter,输入14282导入 Docker 容器大盘),无需手动绘制图表。
🛠️ 2026 生产级 Docker Compose 一体化编排
创建 compose.yaml:
services:
prometheus:
image: prom/prometheus:latest
container_name: monitoring_prometheus
restart: unless-stopped
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
- ./prometheus_data:/prometheus
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
container_name: monitoring_grafana
restart: unless-stopped
volumes:
- ./grafana_data:/var/lib/grafana
ports:
- "3000:3000"
node-exporter:
image: prom/node-exporter:latest
container_name: monitoring_node_exporter
restart: unless-stopped
pid: host # 共享宿主机 PID 以获取准确的进程指标
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
ports:
- "9100:9100"
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: monitoring_cadvisor
restart: unless-stopped
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- "8080:8080"
配置 prometheus.yml:
global:
scrape_interval: 15s
scrape_configs:
- job_name: "node"
static_configs:
- targets: ["node-exporter:9100"]
- job_name: "cadvisor"
static_configs:
- targets: ["cadvisor:8080"]
启动监控集群:docker compose up -d。
🚀 30 秒配置 Grafana 炫酷仪表盘
- 浏览器打开
http://服务器IP:3000,默认账号密码admin / admin。 - 进入 Connections -> Data Sources -> Add data source,选择 Prometheus,Server URL 填入
http://prometheus:9090,点击 Save & test。 - 进入 Dashboards -> New -> Import:
- 填入模板 ID
1860(Node Exporter Full),选择刚刚的数据源,点击 Import; - 瞬间呈现极具质感的 CPU 核心热度、内存水位、磁盘读取吞吐等工业级图表!
- 同样方式填入
14282导入 Docker 容器详细资源消耗大盘。
- 填入模板 ID
❓ 常见问题与 AI 快问快答 (FAQ)
Q1: Prometheus 长期运行会导致磁盘被历史数据撑爆吗?
答:可以在启动命令参数中添加 --storage.tsdb.retention.time=30d,自动保留最近 30 天的高频时序指标,旧数据自动修剪滚动释放磁盘。
Q2: 集中监控跨地域的海外 VPS 节点时推荐哪家网络?
答:在 DMIT 或 搬瓦工 的 中国电信 CN2 GIA 或 联通 AS9929 专线 VPS 上部署 Prometheus 抓取各跨国节点,Scrape 丢包率极低且无告警延迟。选购参考见 《2026 国外 VPS 选购指南》。
(相关资源导航:如果您需要购买部署集中监控服务端的独立 VPS,欢迎阅读 《2026 国外 VPS 选购指南》 获取 DMIT、搬瓦工与 CloudCone 优惠;商用专线推荐见 《“饿饭CC云”深度评测》!)