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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/658645.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系统】进程间通信

本篇博客整理了进程间通信的方式管道、 system V IPC的原理,结合大量的系统调用接口,和代码示例,旨在让读者透过进程间通信去体会操作系统的设计思想和管理手段。 目录 一、进程间通信 二、管道 1.匿名管道 1.1-通信原理 1.2-系统调用 …

【VTKExamples::Utilities】第十五期 ShepardMethod

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ShepardMethod,并解析接口vtkShepardMethod,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

HTML+CSS 圆形菜单

效果演示 实现了一个圆形菜单的效果,点击菜单按钮后,菜单项会从菜单按钮中心点向外展开,并且菜单项上有文字链接。可以将这段代码的效果称为“圆形菜单展开效果”。 Code <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8…

实战15:bert 命名实体识别、地址解析、人名电话地址抽取系统-完整代码数据

直接看项目视频演示: bert 命名实体识别、关系抽取、人物抽取、地址解析、人名电话地址提取系统-完整代码数据_哔哩哔哩_bilibili 项目演示: 代码: import re from transformers import BertTokenizer, BertForTokenClassification, pipeline import os import torch im…

(IDEA修改Java版本)java: 警告: 源发行版 X 需要目标发行版 X

搜索关键词&#xff1a;一致、发行 错误信息 其他错误&#xff1a; java: 错误: 不支持发行版本 6 java: -source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式) 思路 有两个地方要检查&#xff0c;JDK版本保持一致即可。 比如统一用JDK8或…

[排序算法]4. 图解堆排序及其代码实现

先来看看什么是堆? 堆是一种图的树形结构&#xff0c;被用于实现“优先队列”&#xff08;priority queues&#xff09; 注:优先队列是一种数据结构&#xff0c;可以自由添加数据&#xff0c;但取出数据时要从最小值开始按顺序取出。 在堆的树形结构中&#xff0c…

linux安装mysql后,配置mysql,并连接navicat软件

Xshell连接登陆服务器 输入全局命令 mysql -u root -p 回车后&#xff0c;输入密码&#xff0c;不显示输入的密码 注意mysql服务状态&#xff0c;是否运行等 修改配置文件my.cnf&#xff0c;这里没找到就找my.ini&#xff0c;指定有一个是对的 find / -name my.cnf 接下…

书籍学习|基于SprinBoot+vue的书籍学习平台(源码+数据库+文档)

书籍学习平台 目录 基于SprinBootvue的书籍学习平台 一、前言 二、系统设计 三、系统功能设计 1平台功能模块 2后台功能模块 5.2.1管理员功能模块 5.2.2用户功能模块 5.2.3作者功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 …

mysql数据导入navicat中,报错提示1067

MySQL导入问题&#xff1a; 报错1067 - Invalid default value for 字段名 由于数据库版本升级&#xff0c;老数据库的数据文件导出以后&#xff0c;在新版本的数据库上执行会报错 这种问题多是由于默认值不兼容引起的&#xff0c;我们可以通过修改sql_mode来解决这个问题 由…

Steamdeck使用Windows系统游玩雪地奔驰时闪退问题解决方法

我非常喜欢雪地奔驰这款游戏&#xff0c;买sd的一部分也是为了它。可在我打开这个游戏时&#xff0c;游戏发生闪退问题。查阅了网络各个途径&#xff0c;基本没有解决方法。因此我自己分析终于解决该问题。以下是我解决问题的思路&#xff0c;仅供记录参考&#xff1a; 游戏在崩…

关于TeamSpeak3-网易音乐机器人的基础使用方法(胎教级教程)

本文转自博主的个人博客&#xff1a;https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接&#xff1a;点我访问 序言&#xff1a;在自己的ts服务器上安装了网易音乐机器人&#xff0c;写这篇文章旨在教群友/网友如何使用机器人!&#x1f60b;&#x1f44d; 一、TS3Audi…

FM1800隧道广播插播控制器

隧道广播插播控制器是一款群载波&应急广播插播控制器采用SDR软件无线电技术&#xff0c;产生独立的插播信号与“群载波”信号&#xff0c;本设备可通过软件无线电技术将音频信号调制成调频载波或“群载波”信号&#xff0c;分别送入插播主机&#xff0c;实现隧道广播远端机…

服务器上创建搭建gitlab

一、下载与安装 在主目录操作~ 1.使用wget下载 wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.1-ce.0.el7.x86_64.rpm 可以在开源软件镜像站选择合适的版本&#xff0c;版本不同页面菜单会稍有差异&#xff0c;此次选…

[自动驾驶技术]-5 Tesla自动驾驶方案之算法(AI Day 2021)

有朋友问我&#xff0c;如何有效学习一个新技术。笔者这么多年的经验是&#xff1a;1&#xff09;了解国内外产业应用和标准法规现状&#xff0c;先建立宏观知识图谱及技术系统框架&#xff1b;2&#xff09;根据系统框架逐块进行深入研究&#xff08;横向、纵向&#xff09;&a…

聚观早报 | 小米14 Civi官宣;小度推出学习机Z30

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 5月29日消息 小米14 Civi官宣 小度推出学习机Z30 vivo S19电池细节 360软件管家全面升级 荣耀200 Pro影像细节 …

c++11特性(详细)

文章目录 前言一、C11介绍二、列表初始化1.{}初始化2.initializer_list 三、auto与decltype四、STL中变化五、右值引用六.C中关于类的新功能七.可变参数模板八.lambda表达式总结 前言 在本篇文章&#xff0c;我们将会详细介绍一下C11新增的一些特性&#xff0c;其中最重要的是…

强国机械制造有限公司开展中国制造2050系列高端论坛

为深入探讨中国制造2050战略的实施路径和未来发展方向,强国机械制造有限公司2023年10月13日举办了一系列高端论坛。这些论坛吸引了众多业内专家、学者和企业代表参加,共同交流前沿观点和经验,以推动中国制造业的创新与发展。 本次系列高端论坛涵盖了多个关键主题,以下是各论坛…

数据结构---单向链表

思路分析&#xff1a; 1. 设计 struct LinkNode 节点结构体 strut LList 链表结构体 typedef void *LinkList 给用户使用链表指针 2. 初始化链表 LinkList mylist init_LinkList(); 3. 插入链表 void inser…

【最优化方法】实验三 无约束最优化方法的MATLAB实现

实验的目的和要求&#xff1a;通过本次实验使学生进一步熟悉掌握使用MATLAB软件&#xff0c;并能利用该软件进行无约束最优化方法的计算。 实验内容&#xff1a; &#xff11;、最速下降法的MATLAB实现 &#xff12;、牛顿法的MATLAB实现 &#xff13;、共轭梯度法的MATLAB…

PostgreSQL 小课推广-20240529

目前 PostgreSQL 小课在持续更新中&#xff0c; PostgreSQL 小课专栏 新人优惠券到 2024 年 6 月 1 日到期&#xff0c;有需要的伙伴还请关注下&#xff1a; 目前专栏的 50 元/年&#xff0c;后续到期不需要续费&#xff0c;等到专栏完成&#xff0c;会有一个价格调整&#xff…