你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

絮语闭包
• 阅读 4369

监控可帮助您确保Kubernetes应用程序平稳运行并排除可能出现的任何问题。Prometheus是一种流行的开源监视工具,许多公司都使用它来监视其IT基础结构。但是,还有许多其他监视工具可用。本文介绍了6种可以替代Prometheus监视Kubernetes的方法。

什么是Prometheus?

Prometheus是最初在SoundCloud上构建的开源监视系统。它旨在监视多维数据收集和查询。Prometheus服务器具有自己的独立单元,该独立单元不依赖网络存储或外部服务。因此,Prometheus不需要大量其他基础架构或软件。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

Prometheus的主要优势包括与Kubernetes的紧密集成,许多可用的导出器和库以及快速的查询语言和API。Prometheus的主要缺点包括简化的、受约束的数据模型,基于拉取的模型的有限粒度以及缺乏加密。

以下列出了除Prometheus外监视Kubernetes的6种方法。每种工具都有其自身的优点和缺点,让我们一起看看每个工具的主要功能。

1、Grafana

Grafana是一个开源平台,用于可视化,监视和分析指标。Grafana的主要重点是时间序列分析。Grafana可以通过多种图形选项(包括折线图、热图和条形图)显示分析的数据。当监视的指标超过预定义的阈值时,您会收到警报。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

主要功能包括:
  • 警报 - 您可以通过不同的渠道(包括SMS,电子邮件,Slack或PagerDuty)获取警报。如果您更喜欢其他交流渠道,则可以使用一些代码来创建自己的通知程序。
  • 仪表板模板 - 通过模板化,您可以创建可重复用于多个用例的仪表板。例如,您可以为生产服务器和测试服务器使用相同的仪表板。
  • 供应 - 您可以使用脚本自动化Grafana中的所有内容。例如,您可以使用包含IP地址,服务器和数据源预设的脚本自动启动Grafana和新的Kubernetes群集。
  • 注释 - 在发生错误时用于数据关联。您可以通过在图形中添加文本来手动创建注释,也可以从任何数据源获取数据。

2、cAdvisor

cAdvisor可以收集、处理和导出有关正在运行的容器的性能和资源使用情况信息。cAdvisor具有对Kubernetes的本地支持,因为它已集成到Kubelet二进制文件中。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

主要功能包括:
  • 自动发现 - 自动发现给定节点中的所有容器并收集统计信息,包括内存,CPU,网络和文件系统使用情况。
  • 存储插件 - 将统计信息导出到不同的存储插件,例如Elasticsearch和InfluxDB。
  • 整体计算机使用率 - 通过分析计算机上的“根”容器来提供整体计算机使用率。
  • Web-UI - 您可以在Web-UI上查看指标,该指标显示有关计算机上所有容器的实时信息。

3、Fluentd

Fluentd 通过在两者之间提供统一的日志记录层,将数据源与后端系统分离。日志记录层使您可以收集生成的多种类型的日志。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

主要功能包括:
  • JSON数据结构 - 使您能够统一所有日志数据处理方面,例如跨不同源缓冲,过滤和输出日志。
  • 可插拔的体系结构 - 灵活的插件系统使您可以通过连接多个数据源和输出来扩展Fluentd的功能。
  • 系统资源 - 实例运行在30MB到40MB的内存上,每秒可以处理13,000个事件。如果需要更多内存,则可以使用Fluent Bit轻型转发器。
  • 可靠性 - 支持基于文件的缓冲和内存缓冲,以防止节点上的数据丢失。此外,您可以设置Fluentd以支持高可用性和强大的故障转移。

4、Jaeger

Jaeger是一个开源工具,用于监视Kubernetes等分布式服务之间的流量。Jaeger使用分布式跟踪来跟踪通过不同微服务的服务请求的路径。然后,您可以直观地看到请求流。分布式跟踪是一种管理和观察微服务的方法,它作为服务网格的一部分运行。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

主要功能包括:
  • 高可扩展性 - 设计为无单点故障(SPOF),可根据业务需求进行扩展。
  • 多种存储选项 - 支持两个开源NoSQL数据库,Elasticsearch和Cassandra。Jaeger还提供了简单的内存存储用于测试。
  • 云原生部署 - 支持不同的配置方法,包括环境变量,命令行选项和配置文件。Kubernetes模板,Kubernetes运算符和Helm图表支持Kubernetes部署。
  • 监视 - Jaeger后端组件默认情况下公开Prometheus指标和日志。

5、Telepresence

Telepresence是一个开源工具,可以在本地运行单个服务,同时将该服务连接到远程Kubernetes集群。网真在Pod中部署了双向网络代理,该代理可为Kubernetes环境收集数据,包括TCP连接,环境变量和卷。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

主要功能包括:
  • 兼容性 - 带有OS原生软件包的Linux和Mac OS均可使用。
  • 开发工作流程 - 为您提供在Kubernetes上开发的多容器应用程序的快速开发工作流程。您可以在将本地Docker容器代理到集群时运行它。
  • 在本地调试Kubernetes服务 - 当临时群集中有bug时,您想在本地运行服务。网真使您可以在本地调试服务。

连接到远程Kubernetes群集 - 您可以从本地进程访问远程群集。通过此访问权限,您可以使用笔记本电脑上的本地工具与群集内的进程进行通信。

6、Zabbix

Zabbix旨在监视大量网络参数和服务器的运行状况,并基于存储的数据提供许多数据可视化和报告功能。具有少量服务器的小型组织和具有多个服务器的大型企业可以使用Zabbix监视IT基础结构。

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

主要功能包括:
  • 弹性阈值 - 您可以定义弹性问题阈值,也称为触发器。这些触发器基于后端数据库中的值。
  • 实时可视化 - 您可以使用内置的绘图功能立即查看受监视的项目。
  • 自动发现 - 提供多种自动化大型环境(如Kubernetes)管理的方法。您可以在组织中自动添加和删除文件系统和网络接口。
  • 网络发现 - 使您能够定期扫描网络中的外部服务或Zabbix代理,并在发现时采取预定义的措施。
  • 分布式监视 - 提供使用Zabbix代理监视分布式基础结构的有效方法。您可以使用代理在本地收集数据,然后将数据报告给服务器。

结论

Prometheus是用于监视Kubernetes工作负载的开源工具。它被本地集成为Kubernetes中的默认监视工具,包括内置的警报管理器。但是,您还应该考虑针对您的Kubernetes环境使用其他监视选项,以补充和改进Kubernetes功能体验。

作者丨by Limor Wainstein 来源丨https://containerjournal.com/...

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

你还在用 Prometheus 监控 K8S?快试试这 6 个更牛逼的替代方案

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(