首页 体育 教育 财经 社会 娱乐 军事 国内 科技 互联网 房产 国际 女人 汽车 游戏

十大Kubernetes开源监控工具

2019-12-16

现在,Kubernetes在GitHub上现已具有了超越58000万颗点赞之星,并且它在全球范围内有着2200多名在册的贡献者。能够说,它已然成为了容器编列方面的实践规范。不过,在处理并运转散布式微服务运用的过程中,它常常也会面临一些严峻的应战。其间,广为开发与运维人员所提及的应战之一就是:关于Kubernetes的监控问题。面临杂乱的散布式环境,咱们往往需求经过开发各种开源的监控计划,以满意实践运用的需求。

当时,在Kubernetes生态体系及其社区中,有着各式各样的Kubernetes东西。它们中有的能够经过日志来辅佐检测状况;有的则是一种数据搜集器;而另一些则供给了操作Kubernetes的界面。有些是Kubernetes原生的,有些则是开发人员自行研制的。在本文中,咱们将经过优缺陷的比较,向您介绍十大盛行的Kubernetes开源监控东西。

Prometheus

长处:Kubernetes原生,易于运用,具有巨大的社区。

缺陷:可扩展性与存储才干不强。

因为具有与很多数据源的集成才干,因而Grafana在业界备受欢迎。一起,强壮的Grafana具有警报、注释、过滤、特定数据源查询、可视化仪表板、身份验证与授权、以及跨安排协作等多种功用。

长处:具有大型生态体系,以及丰厚的可视化与警报功用。

缺陷:未能针对Kubernetes的日志办理进行优化。

ELK

就Kubernetes的日志而言,最受欢迎的开源处理计划当属ELK Stack。ELK是Elasticsearch、Logstash和Kibana的首字母缩写,其实它包含了第四个组件:Beats。它们都归于轻量级的数据传送器。尽管仓库中的每一个组件都仅担任日志管道中的不同阶段,可是它们组合在一起,却能为Kubernetes供给了一个全面而强壮的日志处理计划。

其间,Logstash管道能够在发送日志并对其进行存储之前,完结数据的汇总和处理。具有可扩展性的Elasticsearch,即便在存储和查找数百万个文档时,也能具有不俗的体现。其对应的Kibana渠道,则能够超卓地为用户供给剖析数据所需的可视化界面。

仓库中一切不同的组件都能够被轻松布置到Kubernetes环境之中。您能够运用各种布置装备、以及helm图表,将不同的组件作为pod予以运转。经过布置,咱们能够将Metricbeat和Filebeat作为看护进程的采集器,将Kubernetes的元数据附加到对应的文档中。

长处:具有巨大的社区,易于在Kubernetes中布置与运用,具有丰厚的剖析功用。

缺陷:扩展起来较为费事。

Fluentd/Fluent Bit

Fluentd在Logstash的根底上进行了相关功用的改善,因而也广受Kubernetes用户的欢迎。在东西规划方面,Fluentd具有超卓的功用、可扩展性和可靠性。各种简略便利的输入与输出,并不会对其功用发生任何影响。针对处理传输中的毛病、以及数据过载问题,Fluentd运用磁盘或内存来进行缓冲和行列。一起,Fluentd经过支撑多种装备选项,以保证供给更为灵敏的数据管道。

Kubernetes原生的Fluentd和Fluent Bit都隶归于CNCF项目。它们不光能够与Kubernetes无缝集成,并且能够在仅占用少数资源的情况下,运用相关的pod和容器元数据来丰厚各类数据。

长处:具有巨大的插件生态体系,供给优异的功用与可靠性。

缺陷:装备较为费事。

cAdvisor

作为一款开源的署理东西,cAdvisor能够经过搜集、处理和导出数据,来展现那些正在运转的容器功用,及其资源运用情况。它能够以Kubelet二进制文件的方法,被内置集成到Kubernetes之中。

与其他署理东西不同,cAdvisor并不是被布置在每个pod中,而是在节点级别上。它能够主动发现核算机上一切正在运转的容器,并搜集到比如内存、CPU等体系网络目标。

作为一款根底性的本地开源监督东西,cAdvisor具有易用性,用户能够开箱即用的方法发现Prometheus的参数目标。不过,要想成为一款全方位的监督处理计划,cAdvisor尚有继续改善的空间。

长处:内置于Kubernetes,易于布置和运用,能够支撑多个端点。

缺陷:过于根底,缺少剖析的深度,且功用有限。

kubewatch

望文生义, kubewatch能够监控那些特定的Kubernetes事情,并将此类事情以告诉的方法推送到比如Slack和PagerDuty的端点上。详细而言,kubewatch能够经过监控,来得悉Kubernetes指定资源的改变,其间包含:看护进程集、布置、pod、副本集、仿制控制器、服务、暗码、以及各种装备映射。Kubewatch不光易于装备,并且能够运用helm来进行自定义布置。

长处:支撑多个端点,且易于布置。

缺陷:仅仅一个监控器。

kube-ops-view

尽管kube-ops-view项意图官方文档已明确指出:它不是一款监控东西,不能对出产环境进行监控与报警。可是它可认为您供给Kubernetes集群、不同布置节点、以及节点上不同Pod的运转状况信息。

长处:易于布置与运用。

缺陷:作为只读东西,不太适用于办理Kubernetes资源。

kube-state-metrics

作为一款Kubernetes的原生监控目标服务,kube-state-metrics能够侦听各种Kubernetes API,并能够生成比如Pod、服务、布置、以及节点等,有关目标的状况目标。您能够经过链接:https://github.com/kubernetes/kube-state-metrics/tree/master/docs,来得悉kube-state-metrics能够生成的完好目标列表。

kube-state-metrics尽管极端简略易用,可是因为它只能供给单一的目标服务,因而需求更多的改善,才干集成到完好的Kubernetes监控处理计划之中。kube-state-metrics能够以纯文本格式,导出HTTP端点上的目标。那些运用Prometheus的用户会常常运用到它。

长处:归于Kubernetes原生,易于运用,能与Prometheus无缝集成。

缺陷:仅供给单一的目标生成服务。

Jaeger

现在,散布式盯梢正在逐步成为针对Kubernetes环境监督和毛病扫除的优异实践方法。Jaeger正是此类开源盯梢东西中的佼佼者。

2016年,Uber在其他现有盯梢东西:Zipkin和Dapper的启发下,开发出了开源式的Jaeger。它能够协助用户履行根本原因剖析,功用优化和散布式的业务监控。

Jaeger具有适用于Go、Java、Node、Python和C++运用程序的OpenTracing-based特征。它能够依据每一个服务或端点,来运用一致性的前端信息采样频率。一起,它也支撑Cassandra、Elasticsearch、Kafka、以及内存等多种存储后端形式。

Jaeger具有多种上手形式:用户既能够运用全新的Jaeger Operator,也能够运用看护进程来进行装备,别的它还有一个适用于测验和演示意图的all-in-one布置方法。

长处:易于布置,且能够经过用户界面来检测各种监控选项。

缺陷:供给有限的后端集成。

Weave Scope

由Weaveworks开发的监督东西--Weave Scope,能够让您得悉关于Kubernetes集群的操作洞见。

尽管和kube-ops-view有几分相似,但Weave Scope主要是经过更好的用户界面,来提高服务等级;并答使用户在其界面上运转各种确诊指令,来办理不同的容器。

您能够经过该运用东西,来有效地掌控布置环境,并在其上布置自己的根底架构,以及不同的组件衔接。

长处:供给了 零装备 式的用户界面。

缺陷:其剖析深度欠佳。

总结

上述所罗列的十大Kubernetes开源东西,仅仅业界一切东西中的 冰山一角 。它们在不同程度上为用户供给了规划Kubernetes仓库的可调查性。您能够经过设置小型的沙箱环境,从小规划的测验开端,进行尝试性的测验和布置,从而判别出哪一款才是您真实所需求的东西。

原文标题:Top 10 Open-Source Monitoring Tools for Kubernetes,作者:Daniel Berman

热门文章

随机推荐

推荐文章