【docker18】docker容器之CAdvisor+InfluxDB+Granfana

news2024/12/24 3:20:08

1.原生命令

1.1操作

命令: docke stats

在这里插入图片描述
在这里插入图片描述

1.2问题

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量控制等数据,一般的小公司够用了。

但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的没有地方存储,没有健康指标过线预警等功能。

2.是什么

1.简述

CAdvisor监控收集+InfluxDB存储数据+Granfana展示图表
在这里插入图片描述

比这个更牛的就是k8s

2.CAdvisor

CAdvisor是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据,而且只是针对单物理机。不过CAdvisor提供了很多数据继承接口,支持InfluxDB、Redis、Kafka、Elasticsearch等继承,可以加上对应配置将监控数据发往这些数据库存储起来。

CAdvisor功能主要是两点:

  • 展示Host和容器两个层次的监控数据
  • 展示历史变化数据

3.InfluxDB

InfluxDB是用Go语言编写的一个开源分布式时序、时间和指标数据库,无需外部依赖

CAdvisor默认只在本机保存最近2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor的数据。而且,CAdvisor本身已经提供了InfluxDB的集成方法,启动容器时指定配置即可

InfluxDB主要功能:

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

4.Granfana

Granfana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据包括InfluxDB、Mysql、Elasticsearch、OpenTSDB、Graphite等)和丰富的插件及模板功能,支持图标权限控制和报警。

Granfana的主要特性:

  • 灵活丰富的图形化选项
  • 可以混合多种风格
  • 支持白天和夜间模式
  • 多个数据源

在这里插入图片描述

3.compose容器编排CIG

3.1新建目录

在这里插入图片描述

3.2新建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
  user: "104"
  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

在这里插入图片描述

3.3启动docker-compose.yml

在这里插入图片描述

3.4查看三个服务容器是否启动

在这里插入图片描述

3.5测试

3.5.1浏览CAdvisor收集服务,http://本机IP:8080/

在这里插入图片描述

3.5.2浏览Influxdb存储服务,http://本机IP:8083/

在这里插入图片描述
在这里插入图片描述

3.5.3浏览grafana展现服务,http://本机IP:3000/

默认账号密码admin
在这里插入图片描述
在这里插入图片描述

1.配置数据源

在这里插入图片描述
在这里插入图片描述

2.选择influxdb数据源并配置细节

在这里插入图片描述

3.配置面板panel

  1. 步骤一在这里插入图片描述

  2. 步骤二
    在这里插入图片描述

  3. 步骤三
    (其他的也可以用)
    在这里插入图片描述

  4. 步骤4
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  5. 步骤五
    在这里插入图片描述
    选择总的cpu(测试而已)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

669. 修剪二叉搜索树

669. 修剪二叉搜索树 难度中等 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除&#xff0c…

SourceTree使用方法总结

SourceTree使用方法总结 SourceTree使用总结 添加仓库 mac下从url克隆: windows下从url克隆: 抓取、获取分支信息 抓取(mac下的名字)获取(Windows下的名字)指获取服务端git库的变更信息,比如…

基于FPGA的UDP 通信(五)

引言 前文链接: 基于FPGA的UDP 通信(一) 基于FPGA的UDP 通信(二) 基于FPGA的UDP 通信(三) 基于FPGA的UDP 通信(四) 本文基于FPGA设计千兆以太网通信模块UDP数据发…

12.I/O复用

I/O复用 多进程方式跳过 基于I/O复用的服务器端 接下来讨论并发服务器实现方法的延伸。如果有读者已经跳过第10章和第11章,那就只需把本章内容当做并发服务器实现的第一种方法即可。将要讨论的内容中包含一部分与多进程服务器端的比较,跳过第10章和第…

Android WebView中H5调用Android原生方法

最近做项目,使用webView看一些网页,和网页开发一起找什么方法进行交互,还好解决,分享一下经验。 对于webView的使用就不写了,百度大法好,主要是交互方面,对WebView增加以下代码: bi…

五个了解自己天赋优势的分析工具(一)霍兰德兴趣测试

霍兰德兴趣测试 霍兰德职业兴趣自测(Self-Directed Search)是由美国职业指导专家霍兰德(John Holland)根据他本人大量的职业咨询经验及其职业类型理论编制的测评工具。 霍兰德认为,个人职业兴趣特性与职业之间应有一…

74、Beyond RGB: Scene-Property Synthesis with Neural Radiance Fields

简介 List item 论文地址:http://arxiv-export3.library.cornell.edu/abs/2206.04669v1 利用隐式三维表示和神经渲染的最新进展,从综合模型的角度提供了一种新的场景理解方法,能够从新颖的视点渲染照片逼真的RGB图像,而且还能够…

我们怎样才能过好这一生?

文章目录1. 日拱一卒,功不唐捐1.1 适当的时候给自己一个奖励1.2 一个人可能走的更快,但一群人才能走的更远1.3 通过一些事情去逼自己一把1.4 从真理中去感悟1.5 当你面临绝路时2. 梦想的意义不在于实现3. 孤独4. 烦恼5. 别总说来日方长6. 忍和韧性7. 事情…

低成本搭建一台家庭存储服务器:前篇

本篇文章,记录搭建备份服务器的过程。 写在前面 今年考虑专门搭建一台用于数据备份的机器,一来今年外出的需求比较多,历史的设备已经用了几年了,需要有更新的设备来“接力”;二来也想验证方案的靠谱程度,…

k8s之ingress实战小栗子

写在前面 本文接k8s之ingress 。 本文看一个基于ingress作为流量入口的实战例子,架构图如下: 接下来详细看下。 1:部署MariaDB 首先我们需要定义MariaDB使用的configmap,如下: apiVersion: v1 kind: ConfigMap meta…

1587_AURIX_TC275_SMU的部分寄存器3

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) SMU的章节,剩下的部分全都是寄存器了,没有太多需要特别关注的。因此,接下来选择性整理,完成整个SMU的文档学习整理。 这一页是上一份笔记的…

05_FreeRTOS中断管理

目录 什么是中断 中断相关寄存器 源码实验 什么是中断 简介:让CPU打断正常运行的程序,转而去处理紧急的事件(程序) ,就叫中断。 举例:上课可以比做CPU正常运行的程序,上厕所可以比做中断程序。 中断执行机制,可简单概括为三步: 中断请求:外设产生中断请求(GPIO外部中断、…

【精品】k8s(Kubernetes)cka由基础到实战学法指南

轻松快速学会k8s四招 图1 k8s四招 学完本篇,您会获得什么惊喜? 从初学k8s,到帮助别人学会的过程中,发现朋友们和我,并非不努力,而是没有掌握更好的方法。有方法可让我们学的更快更轻松,这篇文章,以一个networkpolicy的题目,来逐步讲解,帮助大家建立一种,自己可以根…

Java基础语法

文章目录Java 基础语法一、注释1. 注释介绍2. 注释分类3. 注释颜色二、关键字1. 关键字介绍2. 所有关键词三、字面量四、变量1. 变量2. Debug 工具1)如何加断点?2)如何开启 Debug 运行?3)点哪里 ?4)看哪里…

ElasticSearch架构之整合ELK

前言本篇文章主要是说ElasticSearch对Logstash、FileBeat、Kibana整合形成ELK的架构,为什么需要整合这个架构呢?一个很重要的原因就是我们开发过程中有相当多的日志需要进行查看,如果我们要查找一个问题需要到多台服务器进行查看那是相当麻烦…

【Java基础知识 4】Java数据类型之间的转换、运算符

本文已收录专栏 🌲《Java进阶之路》🌲 目录 🌴基本数据类型 🍃01、布尔 🍃02、byte 🍃03、short 🍃04、int 🍃05、long 🍃06、float 🍃07、double …

C生万物 | 详解程序环境和预处理【展示程序编译+链接全过程】

👑作者主页:Fire_Cloud_1 🏠学习社区:烈火神盾 🔗专栏链接:万物之源——C 文章目录一、程序的翻译环境和执行环境二、详解编译链接1、前言小知识🔍2、翻译环境【important】2.1 编译① 预编译【…

【LeetCode每日一题】【2023/1/15】2293. 极大极小游戏

文章目录2293. 极大极小游戏方法1:双指针2293. 极大极小游戏 LeetCode: 2293. 极大极小游戏 简单\color{#00AF9B}{简单}简单 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度&#x…

Windows 10的子系统不是非Ubuntu不可

Ubuntu 的制造商 Canonical 早已和微软进行合作,让我们体验了极具争议的 Bash on Windows。外界对此也是褒贬不一,许多 Linux 重度用户则是质疑其是否有用,以及更进一步认为 Bash on Windows 是一个安全隐患。 Unix 的 Bash 是通过 WSL&#…

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射动态设置表名获取添加功能自增的主键自定义映射解决字段名和属性名不一致的情况为字段起别名,保持和属性名的一致设置全局配置,保持和属性名的一致通过resultMap设置自定义的映射关系动态设置表名 mapper接口&#xff1a…