搭建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容器监控系统成功搭建完成

相关推荐
桂?4 小时前
在 CentOS中安装Docker并安装青龙脚本——笔记
笔记·docker·centos
janthinasnail4 小时前
使用Docker安装FFmpeg
docker·容器
skywalk81634 小时前
超强人工智能解决方案套件InfiniSynapse:精准的业务理解、对各种数据源进行全模态联合智能分析--部署安装@Ubuntu22.04 & @Docker
数据库·人工智能·python·docker·infini-synapse
GeminiJM5 小时前
Docker监控服务部署
运维·docker·容器
yuanyxh5 小时前
持续交付部署的研究与实操
ci/cd·docker·自动化运维
morliz子轩5 小时前
在Docker上部署datalust/Seq日志服务系统
运维·docker·容器
exe4525 小时前
在docker中部署dify
运维·docker·容器
hackchen13 小时前
NexusTerminal一款视频移动端的webSSH
docker·云原生·eureka·web-ssh
开开心心就好18 小时前
高效账号信息管理工具,可安全随机生成密码
javascript·安全·docker·智能手机·pdf·word·excel
谷新龙00119 小时前
docker compose部署kafka
docker·容器·kafka