系统监控的四个黄金指标

为客户提供高质量的应用程序或服务取决于幕后的高可用性基础架构。当您的服务不可用,速度慢或损坏时,客户可能会感到沮丧,减少支出或完全停止使用您的服务。您的运营团队需要快速地了解问题,以防止服务质量降低并影响您的业务。

目前流行的现代分布式系统以基础架构和主机指标(如CPU利用率,APM指标,如响应时间,数据库指标等)的形式发布数百个指标。不断监视所有这些指标是不切实际的,因此我们建议在监视分布式系统时选择一个用作应用程序关键性能指标的子集。

Google的网站可靠性工程师小组(SRE)定义了四个需要监控的关键指标。他们称之为“四个黄金信号”:延迟(Latency),流量(Traffic),错误(Errors)和饱和度(Saturation)。这些与微服务的RED度量密切相关:速率,错误和持续时间,以及关注利用率,饱和度和错误的USE方法。这四个信号应该是服务级别目标(SLO)的关键部分,因为它们对于提供高可用性的服务至关重要。

延迟 Latency

延迟是发送请求和接收响应所需的时间。延迟通常从服务器端测量,但也可以从客户端测量,以解决网络速度的差异。您的运营团队可以最大程度地控制服务器端延迟,但客户端延迟将与您的客户更相关。

您选择的目标阈值可能因应用程序类型而异。像API或广告服务器这样的自动化系统可能需要比手机上的人有更快的响应时间。您还应分别跟踪成功和失败请求的延迟,区分成功请求的延迟和失败请求的延迟是很重要的。例如,由于与数据库或其他关键后端的连接丢失而触发的HTTP 500错误可能很快得到处理;但是,由于处理超时而引起的HTTP 500错误,可能导致误导性判断。另一方面,一个慢的错误甚至比一个快速的错误更糟糕!因此,跟踪错误延迟是很重要的,而不是仅仅过滤掉错误。

流量 Traffic

流量是衡量流经网络的请求数量。这些可能是对Web服务器或API的HTTP请求,也可能是发送到处理队列的消息。高峰流量的时间可能会对您的基础架构造成额外压力,并可能将其推向极限,从而触发下游效应。这是一个关键信号,因为它可以帮助您区分容量问题和不正确的系统配置,即使在低流量时也可能导致问题。对于分布式系统,它还可以帮助您提前规划容量以满足即将到来的需求。

错误 Errors

错误可以告诉您基础结构中的错误配置,应用程序代码中的错误或依赖项损坏等。例如,错误率的峰值可能表示数据库或网络中断失败。在代码部署之后,它可以指示代码中的错误,这些错误以某种方式在测试中存活或仅在生产环境中浮出水面。错误消息将为您提供有关确切问题的更多信息。错误还可以通过人为降低延迟或重复重试来影响其他指标,最终导致分布式系统饱和。

饱和度 Saturation

饱和度定义网络和服务器资源的负载。每个资源都有一个限制,之后性能将降低或变得不可用。这适用于CPU利用率,内存使用率,磁盘容量和每秒操作等资源。了解您的分布式系统设计和通过经验来判断您的服务的哪些部分可能首先变得饱和。通常,这些指标是高级别指标,因此您可以在性能下降之前调整容量。

达到饱和度限制可能会以不同方式影响您的服务。例如,当CPU已满时,可能会导致响应延迟,填满的存储空间可能导致磁盘写入失败,并且网络饱和可能导致数据包丢失。通过仪表板和监控警报可以帮助您密切关注这些资源,并帮助您在容量达到饱和之前主动调整容量。

总结

这四个黄金信号是帮助提供良好客户体验的关键。可以帮助您在分布式系统监控中轻松跟踪每个信号。您可以使用它们报告服务级别目标,并通过向下探寻来快速解决问题以获取更多详细信息。您可以在问题影响客户之前主动解决问题。

https://blog.csdn.net/peterwanghao/article/details/81952748

------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
原文地址:https://www.cnblogs.com/feng9exe/p/14991827.html