可观测性的三大支柱:日志、度量和跟踪[通俗易懂]

可观测性的三大支柱:日志、度量和跟踪[通俗易懂]日志、度量标准和跟踪提供了关于系统性能的各自视角。当一起分析时,它们提供了您的基础设施的完整图片这些数据类型在云本身的可观测性工作流中扮演着如此

欢迎大家来到IT世界,在知识的湖畔探索吧!

日志、度量标准和跟踪提供了关于系统性能的各自视角。当一起分析时,它们提供了您的基础设施的完整图片

这些数据类型在云本身的可观测性工作流中扮演着如此重要的角色,以至于它们被称为可观测性的三大支柱。每个支柱提供了组织资源的不同视角。当对这些数据源进行组合和分析时,组织可以对其复杂的应用程序环境中发生的事情有一个全面的了解。

什么是日志?

日志是记录在软件环境中发生的事件、警告和错误的文件。大多数日志都包含上下文信息,例如事件发生的时间以及与其关联的用户或端点。

例如,Web 服务器的日志文件可能包括服务器何时启动、来自客户端的请求以及服务器如何响应这些请求。它记录有关每个成功事务的信息以及与客户端的连接失败等错误。

错误和警告有时会记录在单独的日志文件中,但是所有类型的日志数据都可以记录在单个文件中。出于可观测性的目的,日志的组织方式并不重要,因为大多数可观测性工具都会从多个日志文件中聚合数据并进行集体分析。

事件日志的优点和局限性

日志是可观察性的支柱,因为它们提供了软件资源生命周期中发生的所有事件和错误的全面记录。如果您想知道问题是什么时候发生的,或者哪些事件或趋势与之相关,日志是一个很好的可见性来源。

然而,日志可能有重要的局限性。其中最大的一个问题是,他们只记录事件、警告和日志软件配置为记录的错误。除非将日志记录工具和设置配置为注册某些信息,否则它不会出现在日志文件中。

从可观测性的角度来看,日志的另一个挑战是日志数据并不总是持久的。例如,在大多数情况下,当容器关闭时,由容器化应用程序创建的日志将永久消失。工程师可以通过在容器仍在运行时将日志数据移动到其他地方来解决这个问题,但是仍然存在忽略或丢失某些日志文件的风险。

什么是度量标准?

度量是反映应用程序或基础设施的健康状况和性能的可量化度量。例如,应用程序度量可能跟踪应用程序每秒处理多少事务,而基础设施度量衡量服务器上消耗了多少 CPU 或内存资源。可以跟踪许多可能的指标类型。两种流行的度量方法是 Weaveworks 的 RED 方法,它关注速率、错误和请求持续时间; 以及 Google 的 Golden Signals 方法,它测量延迟、流量、错误和饱和度。

度量的好处和局限性

度量的主要好处是它们提供对资源状态的实时洞察。如果您想知道应用程序的响应速度如何,或者想识别可能是性能问题早期征兆的异常情况,度量是可见性的关键来源。

通过将度量标准与来自日志和跟踪的数据相关联,组织可以获得关于系统性能或潜在可用性问题的尽可能全面的上下文。这就是为什么度量对于可观测性特别重要。

然而,与日志一样,度量标准只跟踪设计用于记录的应用程序和基础设施数据。此外,度量标准通常不能用于确定问题的根源,特别是在复杂的分布式系统中。例如,虽然度量数据可能表明您的应用程序正在经历高错误率,但是度量不够细粒度或者不够详细,无法确切识别微服务体系结构中的哪个服务触发了错误。度量标准只能表明应用程序出现了错误。

什么是分布式跟踪?

分布式跟踪是当应用程序请求流经应用程序的各个部分时跟踪应用程序请求的数据。跟踪记录每个应用程序组件处理请求并将结果传递给下一个组件所需的时间。跟踪还可以标识应用程序的哪些部分触发错误。

分布式跟踪的优点和局限性

如果需要研究问题的根本原因,分布式跟踪是实现这一点的最有效方法。尽管日志和度量可以帮助您了解问题的存在,但是如果不运行跟踪,就很难在微服务环境中查明问题的根源。

分布式跟踪的主要局限性在于,在大多数情况下,只有一小部分应用程序请求被跟踪。运行跟踪需要花费太多的时间和消耗太多的资源来跟踪应用程序接收到的每个请求。这意味着当发生错误时,可能并不总是有可用的跟踪数据。

此外,由于每个应用程序请求都可以是唯一的,因此一个分布式跟踪中的数据不一定能够使您对与其他请求相关的问题进行故障排除。与请求、端点和客户端配置相关的数据可能因请求而异,因此您可以根据一个跟踪推断出关于整个应用程序的结论的程度是有限的。

可观测性的三大支柱:日志、度量和跟踪[通俗易懂]

日志、度量和跟踪如何协同工作?

正如前面提到的,日志、度量和跟踪都提供了一个有价值但有限的软件环境可见性级别。但是,当您组合这些资源时,您将得到一个相对完整的环境中正在发生什么的图片。

例如,您可能会从持续的度量跟踪中注意到应用程序响应速度正在减慢,这可能表明性能问题。但是在假设出现问题之前,您需要查看应用程序的日志,以检查较慢的响应是否可以用良性变化来解释,例如应用程序处理比平常更复杂的事务。如果确定应用程序性能下降反映了一个问题,那么可以使用分布式跟踪数据来确定哪个特定的微服务触发了这个问题。

对三大支柱的批评

尽管同时分析日志、度量和跟踪可以使工程师对环境的状态有更广泛的了解,但团队不应该仅仅局限于这三个数据源。需要告知可观测性工作流的数据越多越好。

例如,使用来自 CI/CD 管道的数据将日志、指标和跟踪上下文化,以帮助您确定哪些应用程序更新或重新部署与性能下降相关,这可能很有用。同样,业务指标,如客户保留率,可以与技术可观测性指标相关联,以帮助衡量技术问题对业务绩效的影响。

如果您想观察云原生环境,那么首先应该收集和分析日志、度量和跟踪。这些不是可观测性的唯一潜在来源,但它们是最重要的来源,这使它们成为可观测性的三大支柱。

可观测性的三大支柱:日志、度量和跟踪[通俗易懂]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/18644.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信