Docker CIG使用

news2024/11/18 17:40:07

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java实现图书系统

首先实现一个图书管理系统,我们要知道有哪些元素? 1.用户分成为管理员和普通用户 2.书:书架 书 3.操作的是: 书架 目录 第一步:建包 第二步:搭建框架 首先:完成book中的方法 其次:完成BookList 然后:完成管理员界面和普通用户界面 最后:Main 第三步:细分方法 1.退…

除自身以外数组的乘积 ---- 前缀和

题目链接 题目: 分析: 计算某个区间的积, 同样可以使用前缀和算法的思想想要计算除i位置的积, 我们需要计算i位置之前[0,i-1]的前缀积 和 i位置之后[i1,n-1]的后缀积, n表示数组的长度 先求[0,i - 1]的积 用一个前缀数组f 此时f[i] 表示: 前i - 1个数的积, 那么f[i - 1] 就表…

虹科Pico汽车示波器 | 免拆诊断案例 | 2012 款雪佛兰科鲁兹车偶尔多个故障灯异常点亮

故障现象 一辆2012款雪佛兰科鲁兹车,搭载1.8 L 发动机,累计行驶里程约为9.6万km。该车组合仪表上的发动机故障灯、ABS故障灯及动力转向故障灯偶尔异常点亮,同时发动机转速表和发动机冷却液温度表的指针会突然归零,严重时发动机无…

上下文视觉提示实现zero-shot分割检测及多visual-prompt改造

文章目录 一、Closed-Set VS Open-set二、DINOv2.1 论文和代码2.2 内容2.3 安装部署2.4 使用效果 三、多visual prompt 改造3.1 获取示例图mask3.2 修改函数参数3.3 推理代码3.4 效果的提升! 四、总结 本文主要介绍visual prompt模型DINOv,该模型可输入八…

Qt for Android 乱码问题

java文件乱码 导致编译失败 使用notepad等查看java文件的编码, 修改成utf-8,否则会因为乱码编译失败, 记住是utf8不是utf8-bom. 做如下修改确保utf8文件不被修改掉。 编译时错误显示的是乱码 如果开发其他乱码再改回, 原本是Sys…

【机器学习300问】99、多通道卷积神经网络在卷积操作时有哪些注意事项?

一、多通道卷积神经网络示例 还是以图像处理为例,如果你的目标不仅是分析灰度图像特性,还打算捕捉RGB彩色图像的特征。如下图,当面对一张66像素的彩色图像时,提及的“3”实际上是指红、绿、蓝三种颜色通道,形象地说&am…

BUUCTF-Misc24

从娃娃抓起1 1.打开附件 是两个文本文件 2.电报码 电报码在线翻译网站:https://usetoolbar.com/convert/cccn.html 3.汉字五笔编码 汉字五笔编码在线网站查询:https://www.qqxiuzi.cn/bianma/wubi.php 4.转化为MD5值 将文字保存到文本文档 用winR输入…

绘唐3模型怎么放本地sd安装及模型放置位置 及云端sd部署

绘唐3模型怎么放本地sd安装及模型放置位置 及云端sd部署 资料里面授权方式: https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 云端和模型之间存在某种关联性。云端通常用于存储和管理大量数据,并提供计算和资源的服务。模型是对数据进…

Day04:CSS 进阶

目标:掌握复合选择器作用和写法;使用background属性添加背景效果 一、复合选择器 定义:由两个或多个基础选择器,通过不同的方式组合而成。 作用:更准确、更高效的选择目标元素(标签)。 1、后…

蚁小二:又一款高效自媒体工具,免费用户可发5个账号

其实自媒体的群发工具有几个,除了前几天介绍的融媒宝还有蚁小二等。因为融媒宝免费用户只能添加5个账号,所以不够用的朋友可以再下载蚁小二使用,这样就有10个账号可以发布了: 蚁小二简介 蚁小二是由长沙草儿绽放科技有限公司自主…

【论文阅读】Prompt Fuzzing for Fuzz Driver Generation

文章目录 摘要一、介绍二、设计2.1、总览2.2、指导程序生成2.3、错误程序净化2.3.1、执行过程净化2.3.2、模糊净化2.3.3、覆盖净化 2.4、覆盖引导的突变2.4.1、功率调度2.4.2、变异策略 2.5、约束Fuzzer融合2.5.1、论据约束推理2.5.1、模糊驱动融合 三、评估3.1、与Hopper和OSS…

Honeyview看图神器,免费无广告!

之前看图软件使用的是BandiView,但是最近频繁弹出广告,今天换了款Honeyview,也叫蜜蜂浏览器,免费无广告,速度很快,还以直接查看压缩包中的图片,你懂的! 软件设置 首先随便打开一张图…

Virtual Box安装Ubuntu及设置

Virtual Box安装Ubuntu及设置 本文包含以下内容: 使用Virtual Box安装Ubuntu Desktop。设置虚拟机中的Ubuntu,使之可访问互联网并可通过SSH访问。 Ubuntu Desktop下载 从官网下载,地址为:Download Ubuntu Desktop | Ubuntu U…

游戏缺失steam_api64.dll的修复方法,快速解决游戏启动问题

在现代科技发展的时代,电脑已经成为我们生活中不可或缺的一部分。然而,在使用电脑的过程中,我们经常会遇到一些常见的问题,其中之一就是找不到某个特定的动态链接库文件,比如steamapi64.dll。这个问题可能会导致某些应…

Google的MLP-MIXer的复现(pytorch实现)

Google的MLP-MIXer的复现(pytorch实现) 该模型原论文实现用的jax框架实现,先贴出原论文的代码实现: # Copyright 2024 Google LLC. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may …

springboot + Vue前后端项目(第十一记)

项目实战第十一记 1.写在前面2. 文件上传和下载后端2.1 数据库编写2.2 工具类CodeGenerator生成代码2.2.1 FileController2.2.2 application.yml2.2.3 拦截器InterceptorConfig 放行 3 文件上传和下载前端3.1 File.vue页面编写3.2 路由配置3.3 Aside.vue 最终效果图总结写在最后…

【NumPy】关于numpy.clip()函数,看这一篇文章就够了

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

H.机房【蓝桥杯】/数组链式前向星建图+堆优化版dijkstra

机房 数组链式前向星建图堆优化版dijkstra #include<iostream> #include<queue> #include<cstring> #include<vector> using namespace std; typedef pair<int,int> pii; //无向图开两倍 int e[200005],ne[200005],v[200005],h[200005],du[1000…

前端 JS 经典:Web 性能指标

什么是性能指标&#xff1a;Web Performance Metrics 翻译成 Web 性能指标&#xff0c;一般和时间有关系&#xff0c;在短时间内做更多有意义的事情。 一个站点表现得好与不好&#xff0c;标准在于用户体验&#xff0c;而用户体验好不好&#xff0c;有一套 RAIL 模型来衡量。这…

2024年上半年系统架构设计师真题-复原程度90%

前言 此次考试监考特别严格&#xff0c;草稿纸不允许带出考场&#xff0c;并且准考证上不允许任何写画&#xff0c;甚至连笔都允许带一支&#xff0c;所以下面的相关题目都是参考一些群友的提供&#xff0c;加上自己的记忆回顾&#xff0c;得到的结果。 其中综合知识部分的题…