云原生可观察性工具泛滥的思考
前言
对于采用容器环境和 kubernetes 的公司来说,可观察性正变得越来越重要。CNCF 最近的一份报告发现,72%的受访者使用了多达 9 种不同的工具来监控他们的云原生环境和应用程序。当然,如果不使用足够的监控工具,可能会导致隐藏的安全问题。如果没有适当的可观察性,及时排除和诊断出现的问题将会变得非常困难。公司现在正在使用各种各样的可观察性工具,从传统的 APM 到现代的日志记录系统——但驾驭这种工具扩张的最佳方法是什么呢?在本文中,我们探讨了可观测性的重要性,云原生可观测性的当前状态,以及如何避免云原生可观测性工具的泛滥。
可观察性数据及重要性
可观察性数据是从用于监视应用程序的各种来源(如日志、测量指标和跟踪)中收集的。它使我们能够了解应用程序如何运行,帮助我们确定问题及需要改进地方。这对于容器化的环境尤其重要,因为这些环境通常是短暂的,并且会迅速变化。如果没有适当的可观察性,很难诊断和排除出现的任何问题。
收集的数据类型实际上取决于应用程序,它们可以是从应用程序日志文件和用户数据到容器指标和任务调度器。随着在 kubernetes 中运行的容器、数据库和其他应用程序的数量不断增长,可观测性数据的重要性也在不断增加。如何使用这些可观察性数据对于与 SLIs、SLOs 和 sla 保持一致也很重要。
云原生可观测性的状态
我们目前正处于云原生可观察性的早期阶段,需要更多的知识和注意力分享,想要达成一个目标,我们首先就要从距离目标的差距开始。例如,需要考虑的一个目标柱是其应用程序的高可用性情况。本质上,你的应用程序能产生多少停机时间并仍然保持其目标?
一旦确定了这一点,团队就应该开始识别他们当前设置中的差距,并慢慢地提升他们当前的可观察性,例如增强所收集的数据集和指标的方式。这里我们有一些建议:
改进的过程应当是循序渐进的,因为如果改进的幅度过大,会对既有的内容产生冲击,反而可能会阻止团队取得合理的进展。
建议使用团队喜欢和熟悉的工具,现在很多工具的能力都逐步提升,并对容器环境有了支持能力,逐步将容器集成到他们当前的设置中,会让改进的过程更加平滑。
建议使用开源工具,因为这可以帮助避免供应商锁定,并允许团队利用社区和可观察性的控制方面。
避免工具泛滥
随着正在使用的容器的数量持续增加。如今,公司可能在每个服务器中运行 100 到 200 个容器。每个容器都生成日志文件和应用程序数据,并且跟踪这些数据流对于诊断是否出现了什么问题至关重要。来自 Datadog 的一份报告发现,容器环境最终比非容器环境具有更多的监视器。
工具泛滥已经成为许多公司面临的一个问题,因为他们最终经常使用多种工具来监控这些不同的环境,无论是 APM、Datadog、Splunk 还是其他解决方案。
随着时间的推移,这些解决方案都发展到解决不同的垂直领域。现在有许多不同的后端解决方案,它们已经发展成为不同的数据垂直领域。对于企业监控,对核心应用程序指标的可见性可能会变得割裂和不透明。随着业务的横向扩展,会产生越来越多的工具和解决方案。
抽象和聚合的思考
针对于这种持续的膨胀效应,我们思考可以通过一个抽象层来避免工具泛滥。从多个代理中获取各种数据格式,并将它们转换为任何必要的视图。这将有助于减少代理的扩张和花费在计算资源上的金钱。它还为团队提供了更多的控制,因为他们可以制定规则和策略,更容易地调试错误日志。
可观察性对于保护容器化环境和 kubernetes 变得越来越重要,因为它有助于诊断和解决出现的任何问题。然而,团队必须小心避免工具泛滥,因为这不仅成本高昂,并导致性能下降。避免这种情况的一种潜在方法是使用一个抽象层,该抽象层可以从多个代理中获取数据,并将其转换为满足团队需求的仪表板。团队还应该利用开源工具和代理,因为这有助于减少数据和成本,并为团队提供更多的控制和灵活性。
关于 HummerRisk
HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和 K8S 容器云安全检测。
Github 地址:https://github.com/HummerRisk/HummerRisk
Gitee 地址:https://gitee.com/hummercloud/HummerRisk
版权声明: 本文为 InfoQ 作者【HummerCloud】的原创文章。
原文链接:【http://xie.infoq.cn/article/c315a12cad73568095881ba2a】。文章转载请联系作者。
评论