CIG简介
CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统,用于监控容器的各项性能指标,通过三者的结合,CIG监控平台可以实现对容器性能的全面监控和可视化展示,为容器的性能和运行状态提供了一个全面的视图,有助于及时发现和解决问题,优化容器的运行效率。
CAdvisor
CAdvisor,全称为Container Advisor,是Google开源的一款用于展示和分析容器运行状态的可视化工具。它提供了对容器内资源使用情况和性能数据的实时监控和采集,包括CPU使用情况、内存使用情况、网络吞吐量和文件系统使用情况等。
InfluxDB
InfluxDB是一个由InfluxData开发的开源时序型数据库,特别适合用于处理和分析资源监控数据这种时序相关数据,故被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。
Granfana
Grafana是一个开源的度量分析和可视化套件,常用于对大量数据进行实时分析和呈现。用户只需要提供需要监控的数据,Grafana就可以帮助生成各种可视化仪表,如折线图、直方图、热力图等。
搭建CIG监控平台
新建目录
[root@localhost /]# cd mydocker
[root@localhost mydocker]# mkdir cig
[root@localhost mydocker]# cd cig
[root@localhost cig]# pwd
/mydocker/cig
新建docker-compose.yml文件
[root@localhost cig]# vim docker-compose.yml编辑docker-compose.yml文件
version: '3.1'
volumes:
  grafana_data: {}
services:
 influxdb:
  image: tutum/influxdb:0.9
  restart: always
  environment:
    - PRE_CREATE_DB=cadvisor
  ports:
    - "8083:8083"
    - "8086:8086"
  volumes:
    - ./data/influxdb:/data
 cadvisor:
  image: google/cadvisor
  links:
    - influxdb:influxsrv
  command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
  restart: always
  ports:
    - "8080:8080"
  volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker/:/var/lib/docker:ro
 grafana:
  user: "104"
  image: grafana/grafana
  restart: always
  links:
    - influxdb:influxsrv
  ports:
    - "3000:3000"
  volumes:
    - grafana_data:/var/lib/grafana
  environment:
    - HTTP_USER=admin
    - HTTP_PASS=admin
    - INFLUXDB_HOST=influxsrv
    - INFLUXDB_PORT=8086
    - INFLUXDB_NAME=cadvisor
    - INFLUXDB_USER=root
    - INFLUXDB_PASS=root
检查docker-compose.yml文件是否有语法错误
[root@localhost cig]# docker-compose config -q
启动!
[root@localhost cig]# docker-compose up -d
启动成功效果如下

查看三个容器的启动实例

访问CIG服务
通过ip+8080端口访问cAdvisor收集服务

通过ip+8083端口访问InfluxDB存储服务

通过ip+3000端口访问Granfana展现服务
默认账号密码都为admin,登录后进入主页
要通过Granfana展现数据首先需要配置数据源

选中数据源DataSource,然后我们添加数据源

选择InfluxDB数据源
点击select 
完成如下配置

接下来配置数据库名称以及用户名和密码

点击Save & test
如下效果说明无误

 接下来配置面板 
 添加一个面板 
我们选择数据展示格式,是折线图,还是柱状图展示

选择经典展示规则(old)

保存设置

命名并保存

保存之后效果如下

对面板进行编辑  
完成如下配置

容器的名称可以在这里查看
docker stats
CONTAINER ID   NAME               CPU %     MEM USAGE / LIMIT    MEM %     NET I/O           BLOCK I/O         PIDS
4d8f09bdd732   cig-grafana-1      0.03%     43.5MiB / 1.88GiB    2.26%     424kB / 9.02MB    10.8MB / 1.97MB   8
b05a48a12a33   cig-cadvisor-1     1.07%     66.83MiB / 1.88GiB   3.47%     1.13MB / 292MB    7.72MB / 0B       10
8748271b6a43   cig-influxdb-1     0.06%     43.2MiB / 1.88GiB    2.24%     59.7MB / 594kB    5.55MB / 647MB    7
e2592a496c60   portainer          0.00%     20.38MiB / 1.88GiB   1.06%     6.67kB / 1.89kB   61.7MB / 3.94MB   6
2984b012f3be   rocketmq-console   0.08%     179.3MiB / 1.88GiB   9.31%     123kB / 88.8kB    248MB / 29.7MB    33
799a4159b6cf   rocketmq-broker    0.00%     0B / 0B              0.00%     0B / 0B           0B / 0B           0
e7cc34338422   redis6             0.10%     9.293MiB / 1.88GiB   0.48%     1.33kB / 0B       48MB / 0B         5
12b28b13b6cd   mysql8             0.46%     115.5MiB / 1.88GiB   6.00%     1.51kB / 0B       251MB / 28.7MB    38 最后的监控效果如下 



















