1. Docker容器监控
1.1 CAdvisor工具
CAdvisor为Google开源的一款用于监控和展示容器运行状态的可视化工具。CAdvisor可直接运行在主机上,它不仅可以搜集到机器上所有运行的容器信息,还提供查询界面和http接口,方便如Prometheus等监控系统进行数据的获取。
2. CAdvisor部署
2.1 启动
bash
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged=true \
google/cadvisor:latest
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged=true \
google/cadvisor:latest
2.2 配置prometheus
bash
- job_name: 'docker'
static_configs:
- targets:
- '192.168.214.108:8080'
labels:
group: docker
- job_name: 'docker'
static_configs:
- targets:
- '192.168.214.108:8080'
labels:
group: docker
3. CAdvisor指标
以下是比较常用到的一些容器指标:
- CPU指标
container_cpu_load_average_10s #最近10秒容器的CPU平均负载情况
container_cpu_usage_seconds_total #容器的CPU累积占用时间
container_cpu_load_average_10s #最近10秒容器的CPU平均负载情况
container_cpu_usage_seconds_total #容器的CPU累积占用时间
- 内存指标
container_memory_max_usage_bytes #容器的最大内存使用量(单位:字节)
container_memory_usage_bytes #容器的当前内存使用量(单位:字节)
container_spec_memory_limit_bytes #容器的可使用最大内存数量(单位:字节)
container_memory_max_usage_bytes #容器的最大内存使用量(单位:字节)
container_memory_usage_bytes #容器的当前内存使用量(单位:字节)
container_spec_memory_limit_bytes #容器的可使用最大内存数量(单位:字节)
- 网络指标
container_network_receive_bytes_total #容器网络累积接收字节数据总量(单位:字节)
container_network_transmit_bytes_total #容器网络累积传输数据总量(单位:字节)
container_network_receive_bytes_total #容器网络累积接收字节数据总量(单位:字节)
container_network_transmit_bytes_total #容器网络累积传输数据总量(单位:字节)