--- title: "家庭监控方案:Prometheus + Grafana + Node Exporter + cAdvisor + Blackbox" type: source tags: [monitoring, prometheus, grafana, docker] date: 2025-12-29 --- ## Source File - [[raw/Home Office/家庭监控方案:Prometheus + Grafana + Node Exporter + cAdvisor +Blackbox.md]] ## Summary - 核心主题:家庭监控方案,使用开源监控组件实现主机、容器、服务可用性的全方位监控 - 问题域:监控工具部署、指标采集、可视化展示、告警通知 - 方法/机制:Prometheus 拉取模式采集指标,Grafana 可视化,Alertmanager 分发告警 - 结论/价值:通过 Docker 一键部署完整监控栈,覆盖主机/容器/网络/服务监控面 ## Key Claims - Prometheus 适合作为主观测时序库和告警引擎 - node_exporter + cAdvisor + blackbox_exporter 可覆盖主机、容器、服务可用性三大监控面 - Grafana 支持多数据源仪表盘和告警通知 - 合成监控(Uptime Kuma + blackbox_exporter)可实现内外网健康探测 ## Key Concepts - [[Prometheus]]:开源时序数据库和监控系统,支持 PromQL 查询和告警规则 - [[Grafana]]:开源可视化平台,支持多数据源仪表盘和告警 - [[Alertmanager]]:Prometheus 告警分发组件,支持抑制、分组和多样化通知 - [[node_exporter]]:Prometheus 主机指标采集器,采集 CPU/内存/磁盘/网络等指标 - [[cAdvisor]]:Google 容器指标采集器,采集容器资源使用和性能数据 - [[Blackbox_exporter]]:Prometheus 黑盒探测组件,支持 HTTP/TCP/ICMP/HTTPS 探测 - [[Uptime Kuma]]:自托管可用性监控工具,类似 Uptime Robot - [[时序数据库]]:专门存储时间序列数据的数据库,适合监控指标存储 ## Key Entities - [[Docker]]:容器化平台,用于部署所有监控组件 - [[Portainer]]:Docker 可视化管理工具 ## Connections - [[Prometheus]] ← scrapes ← [[node_exporter]] - [[Prometheus]] ← scrapes ← [[cAdvisor]] - [[Prometheus]] ← scrapes ← [[Blackbox_exporter]] - [[Grafana]] ← visualizes ← [[Prometheus]] - [[Alertmanager]] ← receives_alerts ← [[Prometheus]] ## Contradictions - (暂无) ## Architecture Components - **观测层**:Prometheus(采集 + 告警)、Alertmanager(告警分发) - **可视化层**:Grafana(仪表盘 + 告警)、Loki(日志聚合,可选) - **采集层**:node_exporter(主机)、cAdvisor(容器)、Blackbox_exporter(网络探测) - **合成监控**:Uptime Kuma(可用性探针) ## Monitoring Coverage 1. 主机层:CPU / 内存 / 磁盘 / 网络 / I/O / inode 2. 容器层:容器状态、重启次数、资源限制、镜像版本 3. 服务层:HTTP(S) 可用性、响应码、延迟、错误率、TLS 证书 4. 日志层:应用错误/异常(可选 Loki) ## Alert Rules Examples - 磁盘空间 < 10% - CPU 使用率 > 85%(持续 2 分钟) - 可用内存 < 15% - 容器重启次数 > 0(1 小时内) - HTTP 探测失败(连续 3 次) - TLS 证书剩余 < 14 天