前面的文章介绍了使用Node Exporter使用的方式。这篇文章继续介绍一下使用cadvisor提供容器监控指标,使用Prometheus进行收集,然后在Grafana中进行显示的方法。
事前准备 环境准备- Prometheus + cadvisor 用于准备如下版本的Prometheus和cadvisor服务
docker-compose配置文件信息如下所示:
liumiaocn:cadvisor liumiao$ cat docker-compose.yml version: '2' services: prometheus: image: prom/prometheus:v2.15.1 privileged: true volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' ports: - '9090:9090' cadvisor: image: google/cadvisor:v0.33.0 container_name: cadvisor restart: unless-stopped ports: - '8080:8080' volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro liumiaocn:cadvisor liumiao$
而Prometheus所用到的配置文件信息如下所示, 使用时需要将IP替换为本机的IP
liumiaocn:cadvisor liumiao$ cat prometheus.yml global: scrape_interval: 10s evaluation_interval: 10s scrape_configs: - job_name: 'cadvisor' static_configs: - targets: ['192.168.31.242:8080'] labels: group: 'cadvisor_group' liumiaocn:cadvisor liumiao$
- 启动服务
liumiaocn:cadvisor liumiao$ docker-compose up -d Creating network "cadvisor_default" with the default driver Creating cadvisor ... done Creating cadvisor_prometheus_1 ... done liumiaocn:cadvisor liumiao$ docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------- cadvisor /usr/bin/cadvisor -logtostderr Up (health: starting) 0.0.0.0:8080->8080/tcp cadvisor_prometheus_1 /bin/prometheus --config.f ... Up 0.0.0.0:9090->9090/tcp liumiaocn:cadvisor liumiao$
- Grafana的准备 本文直接使用如下docker run命令进行启动,设定登录账号密码为:admin/liumiaocn
执行命令:docker run -p 3000:3000 -e “GF_SECURITY_ADMIN_PASSWORD=liumiaocn” --name=grafana -d grafana/grafana:6.5.2
- 结果确认
Prometheus一旦和cadvisor能够正常连通,可以在/targets下确认到UP的正常状态
也可以确认连接的cadvisor的指标详细信息
通过8080端口也可以看到cadvisor的监控信息
- https://grafana.com/grafana/dashboards/893
点击Download JSON按钮进行下载
点击左侧菜单中的Import菜单项
点击Upload JSON按钮选中刚刚下载的模版文件
选择已经配置的Prometheus的数据源,配置方法可参看:
-
https://blog.csdn.net/liumiaocn/article/details/103804736
只要Prometheus和Node Exporter能够正常动作,此时Grafana的模版就已经可以使用了
https://prometheus.io/docs/guides/cadvisor/