6月2日 23:47

Docker 容器怎么监控?Prometheus + Grafana 和告警配置实战

Docker 监控分两层:容器级(CPU/内存/网络)和应用级(QPS/延迟/错误率)。容器级用 cAdvisor + Prometheus,应用级用代码埋点 + Prometheus。统一在 Grafana 看板和告警。

最快上手:docker stats

只适合临时查看,没有历史数据、没有告警、没有可视化。

Prometheus + cAdvisor:容器级监控

cAdvisor 采集容器的 CPU、内存、网络、磁盘 IO 指标,Prometheus 存储和查询,Grafana 可视化。

cAdvisor 暴露 /metrics 端点,Prometheus 定时拉取。Grafana 导入 Docker dashboard 模板(ID 893)即可看到容器资源看板。

关键监控指标

指标含义告警阈值
container_cpu_usage_seconds_totalCPU 使用率> 80% 持续 5 分钟
container_memory_usage_bytes内存使用> 90% 限制值
container_network_receive_bytes_total网络接收异常突增
container_oom_eventsOOM 次数> 0 立即告警

OOM 事件是最严重的——容器被杀意味着应用中断,必须立即处理。

告警配置

Prometheus Alertmanager 配置告警规则和通知渠道:

通知渠道支持邮件、Slack、钉钉、企业微信。

日志监控

监控 + 日志配合:告警触发后用 docker logs 查看对应容器的日志,定位问题。如果用了 Loki,直接在 Grafana 里查日志,不用跳到终端。

标签:Docker