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.9restart: alwaysenvironment:- PRE_CREATE_DB=cadvisorports:- "8083:8083"- "8086:8086"volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisorlinks:- influxdb:influxsrvcommand: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086restart: alwaysports:- "8080:8080"volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:user: "104"image: grafana/grafanarestart: alwayslinks:- influxdb:influxsrvports:- "3000:3000"volumes:- grafana_data:/var/lib/grafanaenvironment:- 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.mzph.cn/diannao/15975.shtml

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

相关文章

【Python001】python批量下载、插入与读取Oracle中图片数据(已更新)

1.熟悉、梳理、总结数据分析实战中的python、oracle研发知识体系 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 文章目录 1.背景说明2.环境搭建2.1 参考链接2.2 `oracle`查询测试代码3.数据请求与插入3.1 `Oracle`建表语句3.2 `Python`代码实现3.3 效果示例4.问题链…

机器学习预测-CNN数据预测示例

介绍 这段代码是一个基于 TensorFlow 和 Keras 的深度学习模型,用于进行数据的回归任务。让我逐步解释一下: 导入必要的库:这里导入了 NumPy 用于数值计算,Pandas 用于数据处理,Matplotlib 用于绘图,Tenso…

Excel查找匹配函数(VLOOKUP):功能与应用解析

文章目录 概述VLOOKUP函数语法查询并返回单列结果查找并返回多列结果MATCH函数VLOOKUPMATCH 从右向左逆向查找:INDEX函数INDEXMATCH 函数匹配方式查找匹配注意事项函数名称错误: #NAME?值错误:#VALUE!引用错误:#REF!找不到数据:#…

amis 文件上传 大文件分块上传

amis 图片/文件上传组件 receiver:参数配置为上传接口。 {"type": "input-image", // "type": "input-file","label": "照片","name": "url", "imageClassName": &qu…

VUE3视频播放器 videojs-player/vue

简介 官网: https://gitcode.com/surmon-china/videojs-player/overviewhttps://github.com/surmon-china/videojs-player?tabreadme-ov-file video-player是一个基于video.js的视频播放器组件,它提供了丰富的功能,包括视频播放、暂停、快…

JMeter学习笔记二

面试题: 1.做接口测试时,你是怎么做的数据校验(返回值验证)?一般你会验证哪些数据? 校验code 200(说明后端接到了你的请求,并且给了应答) 返回信息 sucess 2.有1w个用户名密码需要登录&#xff…

微信小程序源码-基于Java后端的网上商城系统毕业设计(附源码+演示录像+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设…

代码随想录——找树左下角的值(Leetcode513)

题目链接 层序遍历 思路:使用层序遍历,记录每一行 i 0 的元素,就可以找到树左下角的值 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}*…

北核论文完美复现:自适应t分布与动态边界策略改进的算术优化算法

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原始算术优化算法 改进点1:引入…

vue+css解决图片变形问题(flex-shrink: 0)

解决前 给图片添加 flex-shrink: 0;即可解决图片变形问题

基于springboot+vue的致远汽车租赁系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

东方通TongWeb结合Spring-Boot使用

一、概述 信创需要; 原状:原来的服务使用springboot框架,自带的web容器是tomcat,打成jar包启动; 需求:使用东方通tongweb来替换tomcat容器; 二、替换步骤 2.1 准备 获取到TongWeb7.0.E.6_P7嵌入版 这个文件,文件内容有相关对应的依赖包,可以根据需要来安装到本地…

上5个B端系统的设计规范,让你的开发比着葫芦画瓢。

B端系统设计规范在企业级系统开发中起着重要的作用,具体包括以下几个方面: 统一风格和布局:设计规范能够统一系统的风格和布局,使不同功能模块的界面看起来一致,提升用户的使用体验和学习成本。通过统一的设计规范&am…

Web课外练习9

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>邮购商品业务</title><!-- 引入vue.js --><script src"./js/vue.global.js" type"text/javascript"></script><link rel&…

原哥花了1个多月的时间终于开发了一款基于android studio的原生商城app

大概讲一下这个app实现的功能和前后端技术架构。 功能简介 广告展示商品展示跳转淘宝联盟优惠卷购买发布朋友圈宝妈知识资讯商品搜索朋友圈展示/点赞/评论登陆注册版本升级我的个人资料商品和资讯收藏我的朋友圈意见反馈 安卓端技术选型 Arouter组件化daggerrxjavaretrofit…

基于开源二兄弟MediaPipe+Rerun实现人体姿势跟踪可视化

概述 本文中&#xff0c;我们将探索一个利用开源框架MediaPipe的功能以二维和三维方式跟踪人体姿势的使用情形。使这一探索更有趣味的是由开源可视化工具Rerun提供的可视化展示&#xff0c;该工具能够提供人类动作姿势的整体视图。 您将一步步跟随作者使用MediaPipe在2D和3D环…

【计算机毕业设计】基于SSM+Vue的校园美食交流系统【源码+lw+部署文档】

目录 前 言 第1章 概述 1.1 研究背景 1.2 研究目的 1.3 研究内容 第二章 开发技术介绍 2.1 Java技术 2.2 Mysql数据库 2.3 B/S结构 2.4 SSM框架 第三章 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 经济可行性 3.1.3 操作可行性 3.2 系统性能分析 3.3 系…

自麻省理工学院和谷歌最新研究:零样本跨语言对齐的新途径

在构建实用的语言模型&#xff08;LMs&#xff09;时&#xff0c;使模型与人类偏好对齐是一个不可或缺的阶段。这通常需要大量的标注偏好数据&#xff0c;这些数据对于多种语言来说难以获取&#xff0c;尤其是对于多语种环境&#xff0c;这使得扩展到更多语言变得具有挑战性。本…

看这两位东北圣女美吗?如何描写美女的大长腿?

看这两位东北圣女美吗&#xff1f;如何描写美女的大长腿&#xff1f; 最近署名为懂球娘娘的一篇描写东北圣女的文章火了&#xff0c;文中描述了海棠朵朵与辛芷蕾这两位娇媚动人的角色。其美艳动人的形象和魅力四溢的描写让人为之倾倒。 这种通过文字展现人物魅力的能力让人佩服…

Hadoop运行wordcount实例任务卡在job running的多种情况及解决方法

第一种&#xff1a;配置问题 这是别人的图片&#xff0c;据楼主排查解决是因为hosts配置问题… 现象&#xff1a;各种无法运行、启动 解决办法&#xff1a; 1、修改日志级别 export HADOOP_ROOT_LOGGERDEBUG,console 查看下详细信息&#xff0c;定位到具体问题解决 第二种&…