- 当docker服务数量到一定程度,为了保证系统的文档,我们就需要对docker进行监控。一般情况下我们可以通过docker status命令来做简单的监控,但是无法交给prometheus采集,因此谷歌的cadvisor诞生了。
- cadvisor不仅可以轻松收集到所有的容器状态,还对外提供http接口方便prometheus数据抓取。
- cadvisor可以进行实时监控和服务器性能数据采集,包括CUP、内存、网络、容量等数据。但cadvisor不能保存数据只能实时展示,这时候就需要对接到prometheus,由其内置的tsdb进行存储达到可以观看历史数据的目的
docker pull google/cadvisor:v0.33.0
docker run --name=cadvisor --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=18080:8080 --detach=true google/cadvisor:v0.33.0
#设置docker宕机恢复后自启动
docker update --restart always cadvisor
Docker Containers
,可以看到服务器目前运行的所有容器prometheus.yml
,加入如下配置,并执行:wq
,点击回车保存 # 对接cadvisor
- job_name: "docker"
static_configs:
- targets: ['19x.xx.xx.85:18080']
curl -XPOST 11x.xx.xx.7:9090/-/reload