找回密码
 立即注册
首页 资源区 代码 15. Docker容器监控之(CAdvisor+InfluxDB+Granfana)的详 ...

15. Docker容器监控之(CAdvisor+InfluxDB+Granfana)的详细安装和常规使用

洪思思 2025-6-9 09:38:03
15. Docker容器监控之(CAdvisor+InfluxDB+Granfana)的详细安装和常规使用

@
目录

  • 15. Docker容器监控之(CAdvisor+InfluxDB+Granfana)的详细安装和常规使用
  • 1. CAdvisor监控收集+InfluxDB存储数据+Granfana展示图表 的概述

    • 1.1 CAdvisor 监控收集
    • 1.2 InfluxDB 存储数据
    • 1.3 Granfana 展示图表

  • 2. compose 容器编排,一套安装(CAdvisor+InfluxDB+Granfana)
  • 3. 最后:

1. CAdvisor监控收集+InfluxDB存储数据+Granfana展示图表 的概述

docker stats命令的结果:
1.png

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,一般小公司够用了。
但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能
这时候我们就可以第三方的:容器监控 3 剑客来解决:CAdvisor监控收集+InfluxDB存储数据+Granfana展示图表
2.png

1.1 CAdvisor 监控收集

3.png

1.2 InfluxDB 存储数据

4.png

1.3 Granfana 展示图表

5.png

三者的关系:
6.png

2. compose 容器编排,一套安装(CAdvisor+InfluxDB+Granfana)


  • 新建一个安装目录:
  1. [root@localhost /]# mkdir cig
复制代码
7.png


  • 新建3件套组合的 docker-compose.yml 文件,同时编写该容器编排文件:
  1. version: '3.1'
  2. volumes:
  3.   grafana_data: {}
  4. services:
  5. influxdb:
  6.   image: tutum/influxdb
  7.   restart: always
  8.   environment:
  9.     - PRE_CREATE_DB=cadvisor
  10.   ports:
  11.     - "8083:8083"
  12.     - "8086:8086"
  13.   volumes:
  14.     - ./data/influxdb:/data
  15. cadvisor:
  16.   image: google/cadvisor
  17.   links:
  18.     - influxdb:influxsrv
  19.   command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
  20.   restart: always
  21.   ports:
  22.     - "8080:8080"
  23.   volumes:
  24.     - /:/rootfs:ro
  25.     - /var/run:/var/run:rw
  26.     - /sys:/sys:ro
  27.     - /var/lib/docker/:/var/lib/docker:ro
  28. grafana:
  29.   user: "104"
  30.   image: grafana/grafana
  31.   user: "104"
  32.   restart: always
  33.   links:
  34.     - influxdb:influxsrv
  35.   ports:
  36.     - "3000:3000"
  37.   volumes:
  38.     - grafana_data:/var/lib/grafana
  39.   environment:
  40.     - HTTP_USER=admin
  41.     - HTTP_PASS=admin
  42.     - INFLUXDB_HOST=influxsrv
  43.     - INFLUXDB_PORT=8086
  44.     - INFLUXDB_NAME=cadvisor
  45.     - INFLUXDB_USER=root
  46.     - INFLUXDB_PASS=root
复制代码
  1. [root@localhost cig]# vim docker-compose.yml
复制代码
8.png

9.png

10.png
  1. [root@localhost cig]# docker pull tutum/influxdb
  2. [root@localhost cig]# docker pull grafana/grafana
  3. [root@localhost cig]# docker pull google/cadvisor
复制代码

  • 启动docker-compose文件
  1. docker-compose up
复制代码
11.png

12.png

13.png


  • 查看三个服务容器是否启动
  1. [root@localhost ~]# docker ps
复制代码
14.png


  • 浏览cAdvisor收集服务,http://ip:8080/
http://192.168.76.149:8080/containers/
第一次访问慢,请稍等。cadvisor也有基础的图形展现功能,这里主要用它来作数据采集。
15.png


  • 浏览influxdb存储服务,http://ip:8083/
http://192.168.76.149:8083/
16.png


  • 浏览grafana展现服务,http://ip:3000
http://192.168.76.149:3000/login
17.png

ip+3000端口的方式访问,默认帐户密码(admin/admin)
18.png

19.png

20.png



  • 配置数据源
21.png

22.png



  • 选择influxdb数据源
23.png



  • 配置细节
24.png

  1. http://Influxdb:8086
复制代码
25.png

26.png

配置面板panel
27.png

28.png

29.png

30.png

31.png

32.png

33.png


  • 到这里cAdvisor+InfluxDB+Grafana容器监控系统就部署完成了
补充: Docker 是对在 一个 Docker 容器当中的,容器实例进行管理的(管理Docker 容器当中的容器实例的通信等等,仅仅只是在本地/本机的一个Docker 管理)。而想要对其他远程的Docker 容器,多个异地的 Docker 容器进行管理在是需要,我们学习 K8s 技术了。
3. 最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”
34.gif


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册