Docker容器监控是保障应用健康运行的关键环节,需从多维度进行系统性观测。以下是核心监控维度及详细说明:
CPU
docker stats、cAdvisor、Prometheus的node_exportercontainer_cpu_usage_seconds_total(Prometheus)内存
container_memory_usage_bytes、container_memory_swapRSS(实际物理内存)与Cache占用。磁盘I/O
docker stats --no-stream(显示Block I/O)、iostatcontainer_fs_reads_bytes_total、container_fs_writes_bytes_total网络
container_network_receive_bytes_total、container_network_transmit_packets_dropped_total运行状态
Up(运行中)、Exited(退出)、Restarting(频繁重启需告警)docker ps -a --filter "status=exited"重启次数
docker inspect --format='{{.RestartCount}}' <container>启动时间
服务响应时间
Grafana、New Relic、Datadog APM应用日志
ERROR)ELK、Fluentd、LokiJVM/运行时指标(如Java/Python应用)
容器密度
镜像漏洞
Trivy、Clair扫描镜像的CVE漏洞。Docker Daemon健康
dockerd进程)、API响应时间。容器编排层(如Kubernetes)
| 场景 | 工具链示例 |
|---|---|
| 基础监控 | cAdvisor + Prometheus + Grafana |
| 日志分析 | Fluentd + Elasticsearch + Kibana |
| 全链路APM | SkyWalking + OpenTelemetry |
| 商业解决方案 | Datadog、New Relic、Sysdig |
cpu.cfs_quota_us(/sys/fs/cgroup/cpu/docker/)。docker stats和jmap(Java应用)分析。docker container prune。通过以上多维监控,可快速定位性能瓶颈(如CPU竞争)、资源泄漏或应用异常,结合告警规则(如Prometheus Alertmanager)实现主动运维。