Files
nexus/wiki/sources/家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox.md
2026-04-27 16:26:34 +08:00

62 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "家庭监控方案Prometheus + Grafana + Node Exporter + cAdvisor + Blackbox"
type: source
tags: [prometheus, grafana, monitoring, docker, home-server]
date: 2025-11-11
---
## Source File
- [[Home Office/家庭监控方案Prometheus + Grafana + Node Exporter + cAdvisor +Blackbox]]
## 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 IDNode Exporter Full (`1860`)、cAdvisor Container Metrics (`14282`)、Blackbox Exporter Probe (`7587`)
## Key Quotes
> "Docker socket 挂载存在宿主机 root 等效权限风险" — 容器安全注意事项
> "Prometheus 本地磁盘会增长,考虑长期保留要用远端存储或定期 snapshot" — 存储注意事项
> "Grafana 仪表盘 JSON 导出Prometheus rule 与配置放在 GitGitOps" — 备份最佳实践
> "把容器/服务启动时打上 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 告警集成