Cadvisor+InfluxDB+Grafan+Prometheus(详解)

目录

一、Cadvisor+InfluxDB+Grafan案例概述

(一)Cadvisor

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

相关推荐
LGL6030A27 分钟前
Java学习历程31——初识Spring Boot
java·spring boot·学习
阿达和自己2 小时前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
旖旎夜光2 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
xbzb3 小时前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry
§ꦿCFོ༉14 小时前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
2603_9696948516 小时前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
北京云帆互联科技1 天前
云帆培训考试系统更新说明:v9.3.0
java·学习
sxlishaobin1 天前
Maven Setting详解
java·学习·maven
wz97541 天前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*1 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词