使用Docker Compose搭建CIG监控平台

CIG简介

CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统,用于监控容器的各项性能指标。其中,CAdvisor是一个容器资源监控工具,用于监控容器的内存、CPU、网络IO和磁盘IO等。InfluxDB是一个开源的分布式时序、时间和指标数据库,用于存储CAdvisor收集的数据。Granfana则是一个开源的数据监控分析可视化平台,用于展示图表。通过这三者的结合,CIG监控平台可以实现对容器性能的全面监控和可视化展示。

此外,CIG监控平台还提供了灵活的图形化选项,可以混合多种风格,支持白天和黑夜模式,以及多个数据源的配置。用户可以通过这个平台方便地查看和理解容器的运行状态和性能数据。

CIG监控平台为容器的性能和运行状态提供了一个全面的视图,有助于及时发现和解决问题,优化容器的运行效率。

CAdvisor

CAdvisor,全称为Container Advisor,是Google开源的一款用于展示和分析容器运行状态的可视化工具。它提供了对容器内资源使用情况和性能数据的实时监控和采集,包括CPU使用情况、内存使用情况、网络吞吐量和文件系统使用情况等。这些数据可以通过CAdvisor提供的基础查询界面和HTTP接口进行访问,方便其他组件如Grafana、Prometheus等进行数据抓取和可视化展示。CAdvisor使用Go语言开发,利用Linux的Cgroups获取容器的资源使用信息。在Google的Kubernetes中,CAdvisor也被默认地作为单节点的资源监控工具,各个节点默认会安装上CAdvisor组件。

InfluxDB

InfluxDB是一个由InfluxData开发的开源时序型数据库。使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

主要特色功能如下:

  1. 基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等)。
  2. 可度量性:你可以实时对大量数据进行计算。
  3. 基于事件:它支持任意的事件数据。

此外,InfluxDB无结构(无模式),可以是任意数量的列;可拓展的;支持min、max、sum、count、mean、median等一系列函数,方便统计;原生的HTTP支持,内置HTTP API;强大的类SQL语法;自带管理界面,方便使用。

Granfana

Grafana是一个开源的度量分析和可视化套件,常用于对大量数据进行实时分析和呈现。它是由Grafana Labs公司开发并维护的。用户只需要提供需要监控的数据,Grafana就可以帮助生成各种可视化仪表,如折线图、直方图、热力图等。同时,Grafana还有强大的报警功能,可以在系统出现问题时发出通知。此外,Grafana支持许多不同的数据源,每个数据源都有一个特定的查询编辑器,用户可以把来自多个数据源的数据组合到一个仪表板进行统一监控。

搭建CIG监控平台

新建目录 

[root@localhost /]# cd mydocker
[root@localhost mydocker]# mkdir cig
[root@localhost mydocker]# cd cig
[root@localhost cig]# pwd
/mydocker/cig

新建docker-compose.yml文件

[root@localhost cig]# vim docker-compose.yml

编辑docker-compose.yml文件

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文件是否有语法错误

[root@localhost cig]# docker-compose config -q

启动!

[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)

 保存设置

命名并保存

保存之后效果如下

对面板进行编辑  

 完成如下配置

 容器的名称可以在这里查看

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

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

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

相关文章

老司机们这样“玩”STM32的,你学会了吗?

老司机们这样“玩”STM32的,你学会了吗? 不要去学STM32。我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对。 你问,如何系统地入门学习stm32? 本身就是一个错误的问题。假如你会使用51 &#xff0…

c/c++概念辨析-指针常量常量指针、指针函数函数指针、指针数组数组指针

概念澄清: 统一规则: 不管是XX指针,还是指针XX,后者是本体,前者只是个定语,前者也可以替换为其他同类(例如字符串),帮助理解。 XX指针: 可简单理解为&#…

在 S/4HANA、ECC 和 ERP 上轻松扩展或简化 SAP WM,并将其自动化到移动环境中

为您的 SAP WM 提供完整的本地 SAP 图形用户界面 基于原生通道架构(NCA),iOS、Android 和手持 Scanguns 版 Liquid UI 可与 SAP WM 原生连接,同时保留 SAP GUI 丰富的事务处理功能。它使您无需编程即可直接从移动设备访问 MIGO、…

【数据结构】初识排序 直接插入排序

初识排序 & 直接插入排序 🐟排序在现实中的应用🐟排序的概念🐟常见的排序算法🐟直接插入排序💦举例--直接插入排序在现实种的应用💦单趟直接插入排序讲解💦直接插入排序算法 🐟排…

快金数据获评2023德勤深圳高科技高成长20强

近日,由德勤中国与深圳市商业联合会共同主办的“2023德勤深圳高科技高成长20强”榜单评选揭晓活动与颁奖盛典在深圳市南山区隆重举行。快金数据作为运力数据生态及运力场景解决方案领域的建设者与引领者,凭借多年企业级物流综合数字化技术创新与持续高质…

Nacos作为配置中心的一些知识二

11292327 问:客户端发请求给Nacos服务端,服务端这边会进行哪些处理? 答:客户端发请求给Nacos 服务端 ,服务端这边通过ConfigController类的309行的listener方法,进行处理 第一步 获取客户端请求的文件的…

rust中动态数组Vec的简单使用

在Rust中,Vector(简称Vec)是一个动态数组数据结构,它可以动态地增加或减少其容量。Vec是Rust标准库中的一个常见类型,非常适合用于存储和操作一系列相同类型的值。 Vec其实是一个智能指针,用于在堆上分配内…

oracle FUNCTION(任意两个时间 之间的工作小时)

写函数计算 任意两个时间 之间的工作小时 每天工作时间(8:00 - 20:00 共12小时),没有休息日 CREATE OR REPLACE FUNCTION SC_YD_DESI.CALCULATE_WORK_HOURS_FUNC (p_current_time IN DATE,p_order_time IN DATE ) RETURN NUMBER ASp_work_hou…

OPCUA:打造高效智能工厂的利器

传统工业生产模式中的核心要素之一即是人,通过人的工作和劳动实现商品的产生,在这个过程中,人作为关键生产要素,其在生产环节中的覆盖面不仅包括了传统的狭义的重复性生产过程,更是涵盖有包括记录、预警、沟通和组织等…

[数据结构]深入浅出讲解二叉树-平衡二叉树-左右旋转

树是一种数据结构,单位为Node(节点)。不同于链表的直线排列,树呈现一种自上而下的分层排序规则。 树->数据结构: 单元为Node(节点)->当这样的节点多了 就可以关联出不同的形态 一个父节点有一个左子节点,有…

windows 如何卸载证书

1、windows r 2、输入 certmgr.msc 3、进入证书管理,选择个人 4、选择个人---找到要删除的证书,删除 就可以了。

每日一练:“五人分鱼”问题

1. 题目 五人分鱼问题:A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。   日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份…

LeetCode Hot100 31.下一个排列

题目: 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列…

软件测试-软件缺陷有哪些,一文贯彻到底

软件缺陷 软件缺陷:又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。 表现形式A 软件没有实现产品规格说明书所要求的功能模块。 表现形式B 软件中出现了产品规格说明指明不应该出现的错误。 表现…

WordPress:解决xmlrpc.php被扫描爆破的风险

使用WordPress的朋友都知道,一些【垃圾渣渣】会利用xmlrpc.php文件来进行攻击,绕过WP后台错误登录次数限制进行爆破。虽然密码复杂的极难爆破,但及其占用服务器资源。 方法一、利用宝塔防火墙(收费版) 一般可以直接使…

代码随想录算法训练营第五十二天【动态规划part13】 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300.最长递增子序列 题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路 动规五部曲 1.dp数组及其下标定义: dp[i]表示包括i以前的以nums[i]结尾的最长递增子序列的长度 2.状态转移方程: 位置i的最长升序…

如何解决SSL证书部署后未生效或网站显示不安全

本文介绍SSL证书部署后未生效或网站显示不安全的排查方法。 浏览器提示“您与此网站建立的连接不安全” 浏览器提示“无法访问此页面” 浏览器提示“这可能是因为站点使用过期或者不全的TLS安全设置” 浏览器提示“此页面上部分内容不安全(例如图像)”…

网络类型解析(基础):探索通信世界的多样面貌

在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。从个人设备之间的直接通信到全球范围的数据传输,不同类型的网络为我们提供了多种连接方式和通信选择。透过对这些网络类型的解析,我们将更好地理解它们的特点、优势和适用场…

Excel导入操作

<template><el-dialogwidth"500px"title"员工导入":visible"showExcelDialog"close"$emit(update:showExcelDialog, false)"><el-row type"flex" justify"center"><div class"upload-e…

C++stack

目录 1.什么是stack 2.容器适配器 3.stack的使用 top push pop 4.模拟实现stack 1.什么是stack 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行 元素的插入与提取操作。(后进先出) 2. stack是作为容…