美文网首页程序员
用于监控分布式系统的四个黄金信号

用于监控分布式系统的四个黄金信号

作者: RaiseHead | 来源:发表于2018-08-22 23:13 被阅读0次

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

目前流行的现代分布式系统以基础架构和主机指标(如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已满时,可能会导致响应延迟,填满的存储空间可能导致磁盘写入失败,并且网络饱和可能导致数据包丢失。通过仪表板和监控警报可以帮助您密切关注这些资源,并帮助您在容量达到饱和之前主动调整容量。

总结

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

相关文章

  • 用于监控分布式系统的四个黄金信号

    为客户提供高质量的应用程序或服务取决于幕后的高可用性基础架构。当您的服务不可用,速度慢或损坏时,客户可能会感到沮丧...

  • Spring Cloud 学习(32) --- APM(二)

    SkyWalking 是有个完整的 APM 系统,被用于追踪、监控、诊断分布式系统。 SkyWalking 整体由...

  • pinpoint单机安装

    简介: pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控...

  • CentOS7上搭建PINPOINT并运行SpringBoot项

    开始 pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。...

  • Pinpoint安装详解

    pinpoint是java的apm工具,可以监控系统性能,分析访问情况,可以适用于分布式系统,同时对spring ...

  • SkyWalking部署

    介绍: SkyWalking 创建于2015年,提供分布式追踪功能;他被用于追踪、监控和诊断分布式系统,特别是使用...

  • Jaeger入门简介

    Jaeger主要用于监视和诊断基于微服务的分布式系统,包括: 分布式上下文传播、分布式事务监控、根本原因分析、服务...

  • 业务链路监控(Google Dapper)和ThreadLoca

    Google Dapper和Alibaba EagleEye都是用于大规模分布式系统的业务链路监控,2者都是基于T...

  • 基于docker部署的项目如何和skywalking agent

    skywalking简介 skywalking是一款开源的应用性能监控系统,包括指标监控,分布式追踪,分布式系统性...

  • 中国分布式光伏发电(8)

    质量监控篇 83.为什么要重视分布式光伏发电系统的质量监控? 首先分布式光伏发电系统多是与建筑相结合,若是系统质量...

网友评论

    本文标题:用于监控分布式系统的四个黄金信号

    本文链接:https://www.haomeiwen.com/subject/izpuiftx.html