监控与日志

Docker 容器监控与日志管理


📋 目录


容器监控工具

docker stats

# 实时监控容器资源
docker stats
 
# 监控指定容器
docker stats my-container

cAdvisor

# 运行 cAdvisor
docker run -d \
  --name=cadvisor \
  -p 8080:8080 \
  -v /:/rootfs:ro \
  -v /var/run:/var/run:ro \
  -v /sys:/sys:ro \
  -v /var/lib/docker/:/var/lib/docker:ro \
  google/cadvisor:latest

日志收集

日志驱动

# 使用 JSON 文件驱动
docker run --log-driver json-file --log-opt max-size=10m nginx:latest
 
# 使用 syslog 驱动
docker run --log-driver syslog nginx:latest

查看日志

# 查看容器日志
docker logs my-container
 
# 实时查看日志
docker logs -f my-container

性能监控

监控指标

  • CPU 使用率
  • 内存使用率
  • 网络 I/O
  • 磁盘 I/O

告警配置

Prometheus + Grafana

# docker-compose.yml
services:
  prometheus:
    image: prom/prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
 
  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"

日志聚合

ELK Stack

# docker-compose.yml
services:
  elasticsearch:
    image: elasticsearch:7.14.0
 
  logstash:
    image: logstash:7.14.0
 
  kibana:
    image: kibana:7.14.0
    ports:
      - "5601:5601"

📚 参考资源


相关笔记