当前位置: 首页 > news >正文

Cadvisor+InfluxDB+Grafan+Prometheus(详解)

目录

一、Cadvisor+InfluxDB+Grafan案例概述

(一)Cadvisor 

Cadvisor 产品特点:

(二)InfluxDB

InfluxDB应用场景:

InfluxDB主要功能:

InfluxDB主要特点:

(三)Grafana

Grafana主要特性:

(四)Prometheus产品简介

Prometheus的主要特征有:

二、Cadvisor+InfluxDB+Grafan监控组件架构


一、Cadvisor+InfluxDB+Grafan案例概述

        Docker作为目前十分出色的容器管理技术,得到大量企业的青睐,在生产环境中使用Docker容器部署服务及应用的场景越来越多。所以面对日益庞大的docker服务群应用,如何具有针对性的,有效的监控也变成了企业运维人员工作需求。

        容器信息采集及监控的方案有很多,有docker自身的docker stats命令、Scout、Data Dog、Prometheus等,

        本次为大家分享两款比较经典的容器开源监控组合方案

Cadvisor +InfluxDB+Grafana

Cadvisor +Prometheus+Grafana

(一)Cadvisor 

        Cadvisor 是Google用来监测单节点资源信息的监控工具。 Cadvisor 提供了基础查询界面和http接口,方便其他组件如Grafana 、Prometheus等进行数据抓取。Cadvisor 可以对Docker主机上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况等。Cadvisor 使用Go语言开发,利用Linux的Cgroups获取容器的资源使用信息。

        Google的Kubernetes中也默认地将其作为单节点的资源监控工具,各个节点默认会安装上Cadvisor组件。

        Cadvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行Cadvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。

Cadvisor 产品特点:

可以展示主机和容器两个层次的监控数据。

可以展示历史变化数据。

谷歌公司的开源产品。

监控指标齐全。

方便部署,有官方的docker镜像。

默认只在本地保存1分钟数据,可以集成InfluxDB等第三方存储使用。

        由于 Cadvisor 提供的操作界面略显简陋,而且需要在不同页面之间跳转,并且只能监控一个 Host,这不免会让人质疑它的实用性。

        但 Cadvisor 的一个亮点是它可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。

        我们可以把 Cadvisor  定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。

(二)InfluxDB

        InfluxDB是一个由InfluxData开发的开源非关系型时序型数据库。它由Go写成,着力于高性能地查询与存储时序型数据。

        InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

        同类型的数据库产品还有Elasticsearch、Graphite等。

InfluxDB应用场景:

性能监控,应用程序指标,物联网传感器数据和实时分析等的后端存储。

InfluxDB主要功能:

基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等);

可度量性:你可以实时对大量数据进行计算;

基于事件:它支持任意的事件数据;

InfluxDB主要特点:

无结构(无模式):可以是任意数量的列;

支持拓展;

支持min, max, sum, count, mean, median 等一系列函数,方便统计;

原生的HTTP支持,内置HTTP API;

强大的类SQL语法;

自带管理界面,方便使用;

(三)Grafana

        Grafana是一个可视化面板(Dashboard)工具,有着非常漂亮的图表和布局等展示功能,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB等组件作为数据源。

Grafana主要特性:

灵活丰富的图形化选项;

可以混合多种风格;

支持白天和夜间模式;

支持多个数据源;

(四)Prometheus产品简介

        Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包。

        自2012年成立以来,很多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。 它现在是一个独立的开源项目,可以独立于任何公司进行维护。 为了强调这一点,并阐明项目的治理结构,Prometheus于2016年加入Cloud Native Computing Foundation(云原生基金会),作为继Kubernetes之后的第二个托管项目。

Prometheus的主要特征有:

多维度数据模型-由指标键值对标识的时间序列数据组成;

PromQL,一种灵活的查询语言;

不依赖分布式存储; 单个服务器节点是自治的;

以HTTP方式,通过pull模型拉取时间序列数据;

支持通过中间网关推送时间序列数据;

通过服务发现或者静态配置,来发现目标服务对象;

支持多种多样的图表和界面展示。

二、Cadvisor+InfluxDB+Grafan监控组件架构

监控组件架构图:

提示:InfluxDB用于数据存储,Cadvisor 用户数据采集,Grafana用于数据展示。

监控组件架构部署方案:

创建自定义网络monitor(自定义网络名称),用于后期容器加入此网络中;

创建Influxdb容器,创建数据用户、数据库;

创建Cadvisor 容器;

创建Grafana容器,配置grafana;

http://www.lryc.cn/news/120446.html

相关文章:

  • AtcoderABC222场
  • 架构实践方法
  • 点淘的MCN机构申请详细入驻指南!
  • 事务和事务的隔离级别
  • 每日一题 34在排序数组中查找元素的第一个和最后一个位置(二分查找)
  • Spring Boot Admin 环境搭建与基本使用
  • JVM之内存模型
  • 音视频 vs2017配置FFmpeg
  • 【项目管理】PMP备考宝典-第二章《环境》
  • ELK 将数据流转换回常规索引
  • jackson库收发json格式数据和ajax发送json格式的数据
  • ubuntu安装和卸载CLion
  • Petrel解释二维浅地层数据
  • 分布式任务调度平台XXL-JOB使用
  • 自考本科汉语言文学专业真的太难了吗
  • STM32CubeMX之freeRTOS信号量
  • react-spring,一个react的动画库的使用
  • Python中的lambda函数
  • Ajax入门
  • MapReduce基础原理、MR与MPP区别
  • 位运算符让人反胃
  • selenium环境搭建
  • Python-OpenCV中的图像处理-霍夫变换
  • 最强自动化测试框架Playwright(10)- 截图
  • SQL常见命令语句
  • Android Framework解析——WMS原理
  • python编辑器安装与配置,python用哪个编辑器好用
  • 如何使用ElasticSearch存储和查询数据
  • 谈谈对Spring MVC的理解
  • Shopify平台Fulfillment业务模块升级