Docker CIG使用

Docker CIG是什么

CIG为:CAdvisor监控收集、InfluxDB存储数据、Granfana图表展示

这个组合是一个常见的监控 Docker 容器的解决方案,它包括以下三个组件:

  1. cAdvisor (Container Advisor):

    • cAdvisor 是一个开源的容器资源监控和性能分析工具。
    • 它能够收集有关正在运行的容器的资源使用和性能特征的实时数据。
    • cAdvisor 提供了一个 Web 界面,可以直观地查看容器的监控数据。
    • cAdvisor默认存储2分钟的数据,而且只是针对单物理机。不过,cAdvisor提供了很多数据集成接口,支持InfluxDB,Redis, kafka, Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。
      CAdvisor功能主要有两点:一是展示Host和容器两个层次的监控数据。二是展示历史变化数据。
  2. InfluxDB:

    • InfluxDB 是GO语言编写的一个开源的时间序列数据库,非常适合存储 cAdvisor 收集的监控数据。
    • InfluxDB 可以高效地存储和管理大量的时间序列数据。
    • 它支持对数据进行查询、分析、计算和可视化。
  3. Grafana:

    • Grafana 是一个开源的数据可视化和仪表盘工具。
    • 支持多数据源,它可以连接到各种数据源,包括 InfluxDB,并提供丰富的可视化功能。
    • Grafana 可以帮助您创建漂亮的仪表盘,以直观地展示 Docker 容器的监控数据。

这三个组件结合起来,可以构建一个强大的 Docker 监控解决方案:

  1. cAdvisor 收集容器的监控数据
  2. InfluxDB 存储这些数据
  3. Grafana 连接 InfluxDB 并创建漂亮的仪表盘

这种方案可以让你深入了解 Docker 容器的资源使用情况、性能指标和健康状况,从而更好地管理和优化您的 Docker 环境。许多 Docker 用户都采用这种方式来监控和分析他们的 Docker 基础设施。

传统监控docker stats

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能

docker stats执行效果:

image-20240522194231958


CIG安装使用

新建目录

在linux中新建一个文件夹,我这里叫cig

image-20240522195617698

[root@localhost ~]# cd /wzy/cig
[root@localhost cig]# 

编排文件

新建docker-compose.yml,放到/wzy/cig目录,或者直接在里面vim,yml内容如下:

(注意:新版compose可以不用写version了)

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

运行编排

先检查yml文件,在从cig目录下运行编排

[root@localhost cig]# docker-compose config -q
[root@localhost cig]# docker-compose up -d
[+] Running 27/16
 ✔ cadvisor Pulled                                                               23.6s 
 ✔ grafana Pulled                                                                27.9s 
 ✔ influxdb Pulled                                                               57.1s                       
[+] Running 5/5
 ✔ Network cig_default        Created                                             0.6s 
 ✔ Volume "cig_grafana_data"  Created                                             0.0s 
 ✔ Container cig-influxdb-1   Started                                             1.5s 
 ✔ Container cig-cadvisor-1   Started                                             2.7s 
 ✔ Container cig-grafana-1    Started                                             2.9s 

如上即为成功,然后ps查看:

[root@localhost cig]# docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS             PORTS                                                                                            NAMES
ab99652a9817   google/cadvisor          "/usr/bin/cadvisor -…"   3 minutes ago    Up 3 minutes       0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                        cig-cadvisor-1
5788adf2741d   grafana/grafana          "/run.sh"                 3 minutes ago    Up 3 minutes       0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                                        cig-grafana-1
7fed5cd78a92   tutum/influxdb:0.9       "/run.sh"                 3 minutes ago    Up 3 minutes       0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp             cig-influxdb-1

CIG登录验证

cAdvisor

ip:8080访问,可能会慢一些,请稍等,出来后是下面这样:

image-20240522202927063


InfluxDB

ip:8083访问,出来后是下面这样:

image-20240522203302292

点击Query Templates,下拉选择Show Databases

image-20240522203358828

Show Databases会显示到查询框,按下回车

image-20240522203518731

出现数据库信息,cadvisor对应编排文件中influxdb配置下的:

environment:
	- PRE_CREATE_DB=cadvisor

influxdb存储cadvisor收集的信息

image-20240522203558930


Grafana

访问ip:3000,会到如下页面:

image-20240522203907474

用户名密码默认均为admin,然后登录,会再让你更改密码,我这里还是用admin:

image-20240522204108201

点击submit提交,进入如下界面:

image-20240522204142048

可以删除多余显示,如果你想要的话:

image-20240522204519890

弹框点Remove按钮即可


配置Grafana

1.配置数据源

点右侧齿轮图标,然后点Data sources

image-20240522204732281

点击添加数据源:

image-20240522204851556

选择InfluxDB,点击Select

image-20240522204912395

进入如下页面,请按照图片内容填写:

name:InfluxDB
Query Language:InfluxQL
url:http://InfluxDB:8086
Access:默认就是图片里这个
Database:cadvisor
user:root
password:root

image-20240522205354621

点击Save&test后,出现下面两个绿色对勾即为配置成功:

image-20240522205521326


2.配置面板

在右侧加号点Dashboard

image-20240522210008693

选择添加面板:

image-20240522210113951

然后选择一种你喜欢的风格:

image-20240522210258413

然后自定义标题及描述,点击右上角Save

image-20240522210539051

自定义一个面板名称然后保存:

image-20240522210621675

然后如下生成cig01监控面板:

image-20240522210712070


3.配置监控业务规则

点击cig01下拉点击Edit编辑:

image-20240522210900540

出现如下界面:

image-20240522211330667

先在select measurement处选择要监控的信息,我这里选择cpu总占用

image-20240522211518666

image-20240522211540801

然后点加号增加条件,这里选容器名,即按照容器名监控

image-20240522211614788

image-20240522211750448

最后选择监控哪个容器,这里选cadvisor

image-20240522211827397

image-20240522211932879

然后写一个名字

image-20240522212036414

点击右上角保存:

image-20240522212132134

image-20240522212212484

回到首页

即可展示想要的监控信息:

image-20240522212248025

如果想要监控多种信息,可以在Dashborad处添加更多规则,照上面配置即可:

image-20240522212439582

  • 30
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值