编辑 | blame | 历史 | 原始文档

简介

  • 当docker服务数量到一定程度,为了保证系统的稳定,我们就需要对docker进行监控。一般情况下我们可以通过docker status命令来做简单的监控,但是无法交给prometheus采集,因此谷歌的cadvisor诞生了。
  • cadvisor不仅可以轻松收集到所有的容器状态,还对外提供http接口方便prometheus数据抓取。
  • cadvisor可以进行实时监控和服务器性能数据采集,包括CUP、内存、网络、容量等数据。但cadvisor不能保存数据只能实时展示,这时候就需要对接到prometheus,由其内置的tsdb进行存储达到可以观看历史数据的目的

安装cadvisor监控

  1. 在Docker部署之前,首先要确保拥有Docker环境,具体安装可以参考文档6.2.3.3章节
  2. 拉取cadvisor最新镜像
    ~~~shell
    [root@JD ~]# docker pull google/cadvisor
    ~~~
    ![](../../../images/screenshot_1612261122646.png)
  3. 启动docker容器
    ~~~shell
    [root@JD ~]# 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
    ~~~
    ![](../../../images/screenshot_1612261197688.png)
  4. 访问服务器 http://服务器ip:18080,就可以看到相关信息了
    ![](../../../images/screenshot_1612260934881.png)
  5. 点击 Docker Containers,可以看到服务器目前运行的所有容器
    ![](../../../images/screenshot_1612260592089.png)
    ![](../../../images/screenshot_1612260570149.png)
  6. 访问 http://服务器ip:18080/metrics 看到支持prometheus采集的数据集合
    ![](../../../images/screenshot_1612261344535.png)