使用Docker Compose搭建CIG监控平台

CIG简介

CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统,用于监控容器的各项性能指标。其中,CAdvisor是一个容器资源监控工具,用于监控容器的内存、CPU、网络IO和磁盘IO等。InfluxDB是一个开源的分布式时序、时间和指标数据库,用于存储CAdvisor收集的数据。Granfana则是一个开源的数据监控分析可视化平台,用于展示图表。通过这三者的结合,CIG监控平台可以实现对容器性能的全面监控和可视化展示。

此外,CIG监控平台还提供了灵活的图形化选项,可以混合多种风格,支持白天和黑夜模式,以及多个数据源的配置。用户可以通过这个平台方便地查看和理解容器的运行状态和性能数据。

CIG监控平台为容器的性能和运行状态提供了一个全面的视图,有助于及时发现和解决问题,优化容器的运行效率。

CAdvisor

CAdvisor,全称为Container Advisor,是Google开源的一款用于展示和分析容器运行状态的可视化工具。它提供了对容器内资源使用情况和性能数据的实时监控和采集,包括CPU使用情况、内存使用情况、网络吞吐量和文件系统使用情况等。这些数据可以通过CAdvisor提供的基础查询界面和HTTP接口进行访问,方便其他组件如Grafana、Prometheus等进行数据抓取和可视化展示。CAdvisor使用Go语言开发,利用Linux的Cgroups获取容器的资源使用信息。在Google的Kubernetes中,CAdvisor也被默认地作为单节点的资源监控工具,各个节点默认会安装上CAdvisor组件。

InfluxDB

InfluxDB是一个由InfluxData开发的开源时序型数据库。使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

主要特色功能如下:

  1. 基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等)。
  2. 可度量性:你可以实时对大量数据进行计算。
  3. 基于事件:它支持任意的事件数据。

此外,InfluxDB无结构(无模式),可以是任意数量的列;可拓展的;支持min、max、sum、count、mean、median等一系列函数,方便统计;原生的HTTP支持,内置HTTP API;强大的类SQL语法;自带管理界面,方便使用。

Granfana

Grafana是一个开源的度量分析和可视化套件,常用于对大量数据进行实时分析和呈现。它是由Grafana Labs公司开发并维护的。用户只需要提供需要监控的数据,Grafana就可以帮助生成各种可视化仪表,如折线图、直方图、热力图等。同时,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

启动成功效果如下

使用Docker Compose搭建CIG监控平台_第1张图片

 查看三个容器的启动实例

使用Docker Compose搭建CIG监控平台_第2张图片

 访问CIG服务

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

使用Docker Compose搭建CIG监控平台_第3张图片

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

使用Docker Compose搭建CIG监控平台_第4张图片

通过ip+3000端口访问Granfana展现服务 

默认账号密码都为admin,登录后进入主页使用Docker Compose搭建CIG监控平台_第5张图片

 要通过Granfana展现数据首先需要配置数据源

使用Docker Compose搭建CIG监控平台_第6张图片

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

使用Docker Compose搭建CIG监控平台_第7张图片

选择InfluxDB数据源  

点击select 使用Docker Compose搭建CIG监控平台_第8张图片

 完成如下配置

使用Docker Compose搭建CIG监控平台_第9张图片

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

使用Docker Compose搭建CIG监控平台_第10张图片

点击Save & test

如下效果说明无误

使用Docker Compose搭建CIG监控平台_第11张图片

 接下来配置面板 使用Docker Compose搭建CIG监控平台_第12张图片

 添加一个面板 使用Docker Compose搭建CIG监控平台_第13张图片

 我们选择数据展示格式,是折线图,还是柱状图展示

使用Docker Compose搭建CIG监控平台_第14张图片

选择经典展示规则(old)

使用Docker Compose搭建CIG监控平台_第15张图片

 保存设置

使用Docker Compose搭建CIG监控平台_第16张图片

命名并保存

使用Docker Compose搭建CIG监控平台_第17张图片

保存之后效果如下

使用Docker Compose搭建CIG监控平台_第18张图片

对面板进行编辑  使用Docker Compose搭建CIG监控平台_第19张图片

 完成如下配置

使用Docker Compose搭建CIG监控平台_第20张图片

 容器的名称可以在这里查看

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

 最后的监控效果如下 使用Docker Compose搭建CIG监控平台_第21张图片

至此cAdvisor+InfluxDB+Grafana容器监控系统成功搭建完成

你可能感兴趣的:(环境部署,docker)