搭建CIG容器重量级监控平台

CIG简介

CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统,用于监控容器的各项性能指标,通过三者的结合,CIG监控平台可以实现对容器性能的全面监控和可视化展示,为容器的性能和运行状态提供了一个全面的视图,有助于及时发现和解决问题,优化容器的运行效率。

CAdvisor

CAdvisor,全称为Container Advisor,是Google开源的一款用于展示和分析容器运行状态的可视化工具。它提供了对容器内资源使用情况和性能数据的实时监控和采集,包括CPU使用情况、内存使用情况、网络吞吐量和文件系统使用情况等。

InfluxDB

InfluxDB是一个由InfluxData开发的开源时序型数据库,特别适合用于处理和分析资源监控数据这种时序相关数据。

Granfana

Grafana是一个开源的度量分析和可视化套件,常用于对大量数据进行实时分析和呈现。用户只需要提供需要监控的数据,Grafana就可以帮助生成各种可视化仪表,如折线图、直方图、热力图等。

搭建CIG监控平台

新建目录

bash 复制代码
[root@localhost /]# cd mydocker
[root@localhost mydocker]# mkdir cig
[root@localhost mydocker]# cd cig
[root@localhost cig]# pwd
/mydocker/cig

新建docker-compose.yml文件

bash 复制代码
[root@localhost cig]# vim docker-compose.yml

编辑docker-compose.yml文件

bash 复制代码
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文件是否有语法错误

bash 复制代码
[root@localhost cig]# docker-compose config -q

启动!

bash 复制代码
[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)

保存设置

命名并保存

保存之后效果如下

对面板进行编辑

完成如下配置

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

bash 复制代码
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

最后的监控效果如下
至此cAdvisor+InfluxDB+Grafana容器监控系统成功搭建完成

相关推荐
zyu676 小时前
03-Docker存储和网络
网络·docker·容器
牛奔7 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
青州从事52113 小时前
20260108【mac】【brew】【docker】安装
macos·docker·eureka
菜鸟思维14 小时前
优化NextJs 项目的Docker 镜像 从3.62G 优化到 296.85M
docker
怣疯knight14 小时前
Docker Desktop 4.55.0版本安装成功教程
windows·docker
东方佑15 小时前
使用Docker Compose一键部署OnlyOffice:完整指南与配置解析
运维·docker·容器
赵文宇(温玉)15 小时前
Docker的价值、特点、创新与关键技术
运维·docker·容器
Coder码匠17 小时前
Docker Compose 部署 Spring Boot 应用完全指南
spring boot·docker·容器
可爱又迷人的反派角色“yang”18 小时前
k8s(二)
linux·运维·docker·云原生·容器·kubernetes·云计算
计算机小手18 小时前
内网穿透系列十六:使用 wg-easy 快速搭建基于 wireguard 的虚拟局域网,支持Docker部署
经验分享·网络协议·docker·开源软件