最新消息: PyCharm vs VSCode,哪个更好?
您现在的位置是:群英 > 开发技术 > web开发 >
分享5种好用的Kubernetes日志管理工具
ITPUB发表于 2020-12-30 16:40 次浏览
 
分享5种好用的Kubernetes日志管理工具

Kubernetes 是容器编排市场的主导者,经常被用来托管微服务。微服务的每个实例都会生成大量的日志事件,并且这些事件很快就会变得难以管理。但是,更糟糕的是,当问题发生时,由于服务之间的复杂的交互以及几乎无穷无尽的可能故障模式,很难找到问题根源。这种潜在的问题推动了 Kubernetes 日志管理工具的流行。
 
 
但是为什么我们有如此多的工具呢?是否存在一种完美的工具,能够满足每一种需求,并尽可能高效、快速地进行监控、日志记录和根源分析?你可能已经猜到了,答案是否定的。
 
 
大多数 Kubernetes 日志管理工具都是 ELK 的变体,具有相似的功能并且具有相似的局限性。这些工具可以帮助你访问日志并搜索信息,但问题是,你需要知道要查找的内容。这些工具中的大多数还需要解析规则和警报规则才能正常工作。但我遇到了一个例外,它不需要手动创建规则就可以自动检测问题。
 
 
下面是我列出的 2020 年 Kubernetes 最佳日志管理工具清单。

Zebrium

你可能会优先考虑Prometheus(普罗米修斯)或ELK?但Zebrium却也能作为优先选项。

这家新成立的初创公司最近入选了“Gartner 2020年值得关注的25家企业软件初创企业”。分享5种好用的Kubernetes日志管理工具谈到最佳实践,Zebrium最近还帮助Sweetwater将事件跟踪时间从3小时减少到只有几分钟。Zebrium甚至可以发现以前未发现的隐藏问题。这是一项出色的功能,因为它可以帮助在问题影响客户之前发现问题。

那么,什么使Zebrium在竞争中脱颖而出?Zebrium使用人工智能来发现问题以及自动发现根本原因,而所有其他工具都依赖于用户手动添加规则。Zebrium也可以用作独立的日志管理平台,也可以与ELK Stack或其他日志管理器集成。

优点:易于启动;只需复制/粘贴自定义的HELM或kubectl命令;自动检测问题和根本原因,无需手动规则;可以用作独立的日志管理工具,也可以用作现有日志管理工具(例如ELK Stack)的机器学习附件。

缺点:免费计划限制为每天500 MB,保留3天;支持Kubernetes,Docker和大多数常见平台,但不支持Windows。

Sematext

用于日志管理和应用程序性能监控的解决方案。Sematex提供了系统状态的全栈可见性。
 

分享5种好用的Kubernetes日志管理工具


Sematext不仅限于Kubernetes日志,还可以监控和Kubernetes(基于度量标准和日志)。收集到的日志会自动针对几种不同的已知日志格式进行解析/结构化,并且用户还可以提供自定义日志的模式。它还公开了Elasticsearch API,因此也可以使用任何与Elasticsearch配合使用的工具,例如Filebeat和Logstash与Sematex。可以将其用作ELK的变体或与本机Sematext生态系统一起使用。该工具有助于创建特定规则,来监控特定情况并捕获异常。借助Sematex全面的实时仪表板,客户可以控制和监控所有服务。关注民工哥技术之路公众号,回复1024获取2TB资料一份,助力大家更好的学习技术。

优点:与其他Sematext云工具集成;可配置超限来阻止日志被接受从而控制成本;具有ELK的灵活性。

缺点:Sematext小部件和Kibana不能在一个仪表板上混合使用;自定义解析需要在日志传送器中完成,Sematext仅在服务器端解析Syslog和JSON;跟踪功能较弱,但已经在计划进行改进。

Loki

Loki是一个受Prometheus启发的多租户和高度可用的日志聚合工具。这款工具有助于收集日志,但是用户将需要为其建立手动规则。Loki与Grafana,Prometheus和Kubernetes合作。Loki可以让内部流程更有效率。如,它节省了Paytm Insider 75%的日志记录和监控成本。Loki不会索引你的日志内容,而是仅索引每个事件流的一组标签,因此效率很高。
 

分享5种好用的Kubernetes日志管理工具


优点:拥有大型的生态系统;丰富的可视化功能;由于未索引日志内容而提高了效率。

缺点:未针对Kubernetes日志管理进行优化;大量的架构规则手工工作;缺少内容索引可能会限制搜索性能。

ELK Stack

ELK是最著名的日志管理开源工具。ELK是Elasticsearch,Logstash和Kibana的首字母缩写。每个组件负责日志记录过程的不同部分。Elasticsearch是一个功能强大且可扩展的搜索系统,Logstash聚合并处理日志,而Kibana提供了一个分析和可视化界面,可帮助用户理解数据。它们共同为Kubernetes提供了全面的日志记录解决方案。但ELK Stack还有许多其他变体,如EFK Stack,即Elasticsearch,Fluentd和Kibana组成。
 

分享5种好用的Kubernetes日志管理工具


ELK被Adobe,T-Mobile和沃尔玛等许多大公司使用,因此可以证明它的可生产性。所以ELK是一个可靠且经过验证的工具。但他会带来复杂性和工作所需的大量资源。

优点:ELK是众所周知的,并且拥有庞大的社区;非常广泛的平台支持;Kibana中丰富的分析和可视化功能;需要对日志和手动定义的警报规则进行复杂的分析。

缺点:维持规模难度大;需要很多调整,特别是对于大型环境;大量的资源需求;某些功能需要付费许可证。

Fluentd

Fluentd是一个跨平台的开源数据收集器,提供了统一的日志记录层,但它不是独立的日志管理器。作为颇受欢迎的工具,拥有Atlassian,微软和亚马逊等5000多个客户。看到这些大型客户,可印证其可靠性和性能。此外,Fluentd还创建了一个统一的日志记录层,可帮助更有效地使用数据并在软件上快速迭代数据。它可以帮助你每秒处理120000条记录。
 

分享5种好用的Kubernetes日志管理工具


优点:大型社区和插件生态系统;统一日志记录层;经过验证的可靠性和性能。可以在不到10分钟的时间内安装完毕。

缺点:难以配置;对转换数据的支持有限;不是完整的日志记录解决方案。

结语

你可能会问,为什么没有将Prometheus列入名单,因为本文专注于日志监控工具,而Prometheus处理指标不支持日志。

所以,如果你对手动搜索日志的不擅长,或者不愿意构建和管理警报规则,则应尝试使用基于机器学习算法的Zebrium。这可能会节省大量时间,并摆脱创建大量规则的繁琐任务。

如果你正在寻找更主流的东西,并且知道要创建哪些规则,可尝试使用Loki或Sematext,它们将是非常适合的高效工具。

此外,你希望在公有云中使用日志监控,则不妨使用云提供商提供的服务,比如AWS的CloudWatch,而他们仅对自家云中的业务的提供支持。

如果你的日志有多个或特殊的来源,则可尝试使用Fluentd及其统一的日志记录层,但是你仍然需要一个日志记录工具。


标签:kubernetes编排
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
下一篇:没有了
相关信息推荐