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

更多开源资讯及干货内容欢迎关注微信公众号“开源村OSV”

什么是普罗米修斯(Prometheus)?

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

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

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

1.Grafana

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

主要功能包括:

警报-您可以通过不同的渠道(包括SMS,电子邮件,Slack或PagerDuty)获取警报。如果您更喜欢其他交流渠道,则可以使用一些代码来创建自己的通知程序。

仪表板模板-通过模板化,您可以创建可重复用于多个用例的仪表板。例如,您可以为生产服务器和测试服务器使用相同的仪表板。

供应-您可以使用脚本自动化Grafana中的所有内容。例如,您可以使用包含IP地址,服务器和数据源预设的脚本自动启动Grafana和新的Kubernetes群集。

注释-在发生错误时用于数据关联。您可以通过在图形中添加文本来手动创建注释,也可以从任何数据源获取数据。

2.cAdvisor

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

其主要功能包括:

自动发现 -自动发现给定节点中的所有容器并收集统计信息,包括内存,CPU,网络和文件系统使用情况。

存储插件-将统计信息导出到不同的存储插件,例如Elasticsearch和InfluxDB。

整体计算机使用率 -通过分析计算机上的“根”容器来提供整体计算机使用率。

Web- UI-您可以在Web-UI上查看指标,该指标显示有关计算机上所有容器的实时信息。

3.Fluentd Fluentd

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

主要功能包括:

JSON数据结构 -使您能够统一所有日志数据处理方面,例如跨不同源缓冲,过滤和输出日志。

可插拔的体系结构 —灵活的插件系统使您可以通过连接多个数据源和输出来扩展Fluentd的功能。

系统资源 -实例运行在30MB到40MB的内存上,每秒可以处理13,000个事件。如果需要更多内存,则可以使用Fluent Bit轻型转发器。

可靠性 -支持基于文件的缓冲和内存缓冲,以防止节点上的数据丢失。此外,您可以设置Fluentd以支持高可用性和强大的故障转移。

更多开源资讯及干货内容欢迎关注微信公众号“开源村OSV”

4.Jaeger

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

主要功能包括:

高可扩展性 -设计为无单点故障(SPOF),可根据业务需求进行扩展。

多种存储选项 -支持两个开源NoSQL数据库,Elasticsearch和Cassandra。Jaeger还提供了简单的内存存储用于测试。

云原生部署 -支持不同的配置方法,包括环境变量,命令行选项和配置文件。Kubernetes模板,Kubernetes运算符和Helm图表支持Kubernetes部署。

监视 -Jaeger后端组件默认情况下公开Prometheus指标和日志。

5.Telepresence

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

主要功能包括:

兼容性-带有OS原生软件包的Linux和Mac OS均可使用。

开发工作流程-为您提供在Kubernetes上开发的多容器应用程序的快速开发工作流程。您可以在将本地Docker容器代理到集群时运行它。

在本地调试Kubernetes服务 -当临时群集中有bug时,您想在本地运行服务。网真使您可以在本地调试服务。

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

6. Zabbix

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

主要功能包括:

弹性阈值 -您可以定义弹性问题阈值,也称为触发器。这些触发器基于后端数据库中的值。

实时可视化 —您可以使用内置的绘图功能立即查看受监视的项目。

自动发现 -提供多种自动化大型环境(如Kubernetes)管理的方法。您可以在组织中自动添加和删除文件系统和网络接口。

网络发现 -使您能够定期扫描网络中的外部服务或Zabbix代理,并在发现时采取预定义的措施。

分布式监视 -提供使用Zabbix代理监视分布式基础结构的有效方法。您可以使用代理在本地收集数据,然后将数据报告给服务器。

更多开源资讯及干货内容欢迎关注微信公众号“开源村OSV”

结论

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

盘点6个Kubernetes监视工具的更多相关文章

  1. Kubernetes GitOps 工具

    Kubernetes GitOps Tools 译自:Kubernetes GitOps Tools 本文很好地介绍了GitOps,并给出了当下比较热门的GitOps工具. 简介 在本文中,将回顾一下 ...

  2. [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南

    第一章 ADDM简介                 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...

  3. 20个Linux系统监视工具

    需要监视Linux服务器的性能?试试这些内置的命令和一些附加的工具吧.大多数Linux发行版都集成了一些监视工具.这些工具可以获取有关系统活动的信息的详细指标.通过这些工具,你可以发现产生系统性能问题 ...

  4. Process Monitor V2.96 (系统监视工具) 汉化免费绿色版

    软件名称: Process Monitor V2.96 (系统监视工具) 汉化免费绿色版软件语言: 简体中文授权方式: 免费软件运行环境: Win7 / Vista / Win2003 / WinXP ...

  5. Mysql 监视工具

    对于开发人员来说,最头大的莫过于 ,你本地没事,线上 错误日志一堆. 尤其是数据库通信那一层.SqlServer 有 sql profile 用来监视对应的server上的通信日志,参数 命令等信息. ...

  6. Linux系统监视工具

    转自      http://bbs.51cto.com/thread-971896-1.html # 1: top – 查看活动进程的命令TOP工具能够实时显示系统中各个进程的资源占用状况.默认情况 ...

  7. android屏幕监视工具 android screen monitor使用

    android screen monitor是一个非常好用的手机屏幕监视工具,可以将你的手机界面动态的显示出来,可用于项目演示. 这个工具就是其实一个jar文件,不到300KB大小,依赖jdk,并且还 ...

  8. Kubernetes 远程工具连接k8s集群

    Kubernetes 远程工具连接k8s集群 1.将Master的kubectl文件复制到Node内 scp k8s/kubernetes/server/bin/kubectl root@192.16 ...

  9. NAGIOS(网络监视工具)

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机,路由器等网络设备,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员 ...

随机推荐

  1. Python算法题:金字塔

    代码如下: #Python金字塔练习 """ 最大层数:max_level 当前层数:current_level 金字塔正序时: 每层的空格=最大层数-当前层数 每层的星 ...

  2. 程序选择结构if和switch的定义以及使用方法

       什么是if选择结构 if选择结构是根据条件判断之后在做处理 基本的if选择结构的语法 if(条件){//条件为真则执行代码1,否则不执行  //代码块1 }   if-else选择结构 为什么使 ...

  3. 使用dynamic和MEF实现轻量级的AOP组件 (2)

    转摘 https://www.cnblogs.com/niceWk/archive/2010/07/21/1782092.html 偷梁换柱 上一篇我们初试了DynamicAspect这把小刀,如果你 ...

  4. linux下文本三剑客之sed

    继上一篇对正则表达式以及linux三剑客grep的讲解后,这一篇对sed重点介绍. 一.sed简介   sed表示流编辑器(Stream Editor).这是一个简单但功能强大的工具,分析文本,并无缝 ...

  5. Python初学者常见错误问题汇总

    1.在客户端和服务端如何传递数组? 答:在客户端和服务端可以使用json进行数据传输.在客户端把数据转换成json字符串,然后使用POST方法发送给服务端. 服务端收集到数据之后,使用json.loa ...

  6. 【Django】runserver 0.0.0.0:0 后,究竟发生了什么

    WSGI协议 Django是遵循WSGI协议设计的 WSGI协议主要包括server和application两个部分: WSGI server:负责从客户端接收请求,将request转发给applic ...

  7. Linux安装jdk(详细教程)

    一.JDK介绍 JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JA ...

  8. 爱创课堂每日一题第十五题HTTP和HTTPS?

    HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS.默认HTTP的端口号为80,HTTPS的端口号为443. 转载于 ...

  9. ACM-ICPC 2019 山东省省赛总结

    五题手快拿银,不然拿铜,甚至不拿,从结果上来看拿了铜牌对第一年的我们来说算好的,也不算太好. 从拿奖后的第一天,我想写这篇博客,但是我忍了下来,那时候被喜悦冲昏了头脑,当 冷静下来,我开始打算写这篇博 ...

  10. python selenium(定位方法)

    一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...