4.8 KiB
4.8 KiB
title, type, tags, date
| title | type | tags | date | |||||
|---|---|---|---|---|---|---|---|---|
| 家庭监控方案:Prometheus + Grafana + Node Exporter + cAdvisor + Blackbox | source |
|
2025-11-11 |
Source File
Summary(用中文描述)
- 核心主题:家庭/小型服务器监控的完整 Docker 化解决方案
- 问题域:主机层、容器层、服务层的可观测性覆盖,以及告警通知渠道
- 方法/机制:Prometheus 拉取模式采集 + Grafana 可视化 + Alertmanager 告警分发;通过 node_exporter、cAdvisor、blackbox_exporter 三个 exporter 覆盖主机、容器和网络探测;提供可直接拷贝的 docker-compose 完整模板
- 结论/价值:面向 NAS / Ubuntu Server 用户的零门槛可落地监控栈,含具体 PromQL 告警规则和 Grafana Dashboard ID
Key Claims(用中文描述)
- Prometheus + node_exporter + cAdvisor + blackbox_exporter + Grafana + Alertmanager 的组合可覆盖家庭服务器的完整监控面
- 主机层监控 CPU / 内存 / 磁盘 / 网络 / I/O / inode,容器层监控运行状态、重启次数、资源使用,服务层监控 HTTP 可用性、响应码、延迟、TLS 证书到期、DNS 解析
- TLS 证书剩余天数 < 14 天应触发告警
- 黑箱探测
probe_success == 0连续 3 次应触发告警 - Docker socket 挂载存在宿主机 root 等效权限风险,需审慎处理
- Grafana 官方 Dashboard ID:Node Exporter Full (
1860)、cAdvisor Container Metrics (14282)、Blackbox Exporter Probe (7587)
Key Quotes
"Docker socket 挂载存在宿主机 root 等效权限风险" — 容器安全注意事项 "Prometheus 本地磁盘会增长,考虑长期保留要用远端存储或定期 snapshot" — 存储注意事项 "Grafana 仪表盘 JSON 导出,Prometheus rule 与配置放在 Git(GitOps)" — 备份最佳实践 "把容器/服务启动时打上 service=xxx、env=prod 标签,便于 PromQL 分组和 SLA 报表" — 标签化运维建议
Key Concepts
- Prometheus:开源时序数据库 + 监控系统,采用拉取(pull)模式从 exporters 采集指标
- Grafana:跨数据源的可视化与告警平台,支持 Prometheus/Loki/VictoriaMetrics 等
- Observability(可观测性):覆盖指标(Metrics)、日志(Logs)、链路(Traces)三大支柱
- Container Monitoring(容器监控):通过 cAdvisor 采集容器资源使用、重启次数、退出码等指标
- Synthetic Monitoring(合成监控):通过 blackbox_exporter 和 Uptime Kuma 做主动式可用性探测,区别于基于真实用户流量的 RUM
- Alert Management(告警管理):Prometheus 定义告警规则 → Alertmanager 接收 → 抑制/分组/路由到邮件/Slack/Webhook/PagerDuty
- Home Server Automation:家庭服务器的运维自动化与监控覆盖
Key Entities
- Prometheus(监控数据采集与告警规则引擎):负责从各 exporter 拉取指标并执行告警条件判断
- Grafana(可视化与告警平台):展示 Prometheus 时序数据,配置告警规则和通知渠道
- Alertmanager(Prometheus 告警分发组件):负责告警的抑制、分组、向邮件/Slack/Teams 等渠道分发
- Node Exporter(主机指标采集器):Prometheus 官方 exporter,采集 CPU/内存/磁盘/网络/文件系统指标
- cAdvisor(Google 容器指标采集器):采集容器级别的资源使用情况(CPU/内存/网络/磁盘 I/O)
- Blackbox Exporter(黑箱探测 exporter):通过 HTTP/TCP/ICMP/DNS 探测外部或内部服务端点
- Uptime Kuma(自托管可用性监控工具):开源 uptime monitoring,支持 HTTP/TCP/DNS/TLS 探测与历史记录
- Netdata(实时监控看板):开箱即用的详细实时主机/容器监控面板,默认 19999 端口
- Portainer(Docker 可视化管理平台):图形化管理 Docker 主机/Swarm,带监控/日志功能
Connections
- Prometheus ← scrape_configs ← Node Exporter
- Prometheus ← scrape_configs ← cAdvisor
- Prometheus ← scrape_configs ← Blackbox Exporter
- Prometheus ← sends alerts ← Alertmanager
- Grafana ← datasource ← Prometheus
- Grafana ← dashboards ← Node Exporter, cAdvisor, Blackbox Exporter
- 家庭网络环境概览 ← provides context for ← Home Server Automation
Contradictions
- 与 Uptime Kuma 描述存在侧重差异:源文档将 Uptime Kuma 定位为"合成监控补充工具"与 blackbox_exporter 并列,实际部署中两者均可独立完成 HTTP/TLS 探测,Uptime Kuma 更适合做外网监控(无公网 IP 时),blackbox_exporter 更适合内网和更细粒度的 PromQL 告警集成