监视和SRE的“黄金信号”是什么?

注意事项 佩雷夫 :今天所谓的SRE(站点可靠性工程-“确保信息系统的可靠性”)包括旨在实现所需可靠性水平的软件产品操作的多种措施。 监控是关键事件之一,“黄金信号”构成了应考虑的主要指标。 在Habré上未找到有关它们的任何材料后,我们决定翻译事件管理平台(VictorOps)的作者的简短说明,该注释提供了此方法的一般概念。



有效的站点可靠性工程( SRE )基于对基础服务基础结构和体系结构的深刻理解。 提高应用程序和基础结构状态的透明度只是积极主动地创建可靠系统的开始。 同时,所谓的“四个黄金信号” SRE被认为是监视系统状态的最佳起点。 建立了这四种基本监视方法后,我们可以继续提高系统的透明度。

提高透明度,再加上有效的协作方法,使SRE团队可以快速监视系统并采取措施消除事件的后果,从而提高监视和警告方法的整体有效性。 Gold SRE信号可帮助团队确定可靠性方面的任何潜在弱点,使他们能够集中精力解决基础结构问题。 让我们检查一下监视方法和SRE命令之间的关系,看看金信号对过程有什么影响。

监控和SRE


DevOps词典的第三部分中我们探索了Internet,试图找到SRE的定义。 根据相关的维基百科文章“ Google网站可靠性团队的创建者本·特雷诺(Ben Treynor)[说] SRE是“当软件工程师做过去称为维护的事情时会发生的情况 SRE将软件工程的挑战和能力与IT运营的挑战相结合,可以帮助您找到可靠性问题的解决方案。 可以理解的是,SRE团队应监视其服务,以确定可提高可靠性的领域。

这正是SRE团队的监视任务。 在创建高度透明的系统中 ,它仅占一小部分,但这是了解应用程序和基础结构状态的重要元素。 四个黄金监控信号和SRE在创建的所有内容的可靠性方面提供了基本的透明性。 在达到金信号状态可观察性的舒适水平之后,您可以使用此附加信息通过监视工具进行更深入的分析。

既然我们已经决定了监视黄金SRE信号的重要性,那么我们来看看构成它们的真实指标。

四个黄金监控信号


在改进监控工作的开始之初,可能很难理解从哪里开始。 Google的SRE书中首次引用了四个黄金SRE和监视信号,现在许多团队都在积极使用。 从它们开始非常好,因为它们有助于突出应始终跟踪的主要指标。

因此,让我们看一下黄金信号,看看为什么对黄金信号的监控是确保任何系统可靠性的不可或缺的要素。

1.延迟


处理请求需要多长时间? 为成功请求的典型延迟定义一个参考点,并将其与未成功请求的延迟进行比较。 由错误引起的跟踪延迟使您能够解决与事件检测和响应速度有关的任何问题。

2.交通


该信号不需要任何特殊说明。 用户数量或通过服务传递的交易数量对系统有什么影响? 取决于服务的功能,各个公司的流量度量可能会有很大差异。 通过跟踪与实际用户和流量的交互,您可以更好地了解最终用户如何感知服务并了解系统在压力下的行为。

3.错误


当然,每个团队都应该跟踪错误。 无论错误是手动触发还是自主触发(例如失败的HTTP请求),SRE命令都应跟踪它们。 许多SRE团队使用特殊的事件管理软件来警告他们严重的错误,发现原因并采取纠正措施。

4.饱和度


每个团队都应监视其系统的负载。 设置饱和度指标很重要,这将意味着服务已达到其最大功能。 大多数服务甚至在负载达到100%之前就开始失去性能,因此了解您自己系统的功能对于确定有意义的饱和度准则很重要。

通过为四个黄金信号设置监视和警报规则,您将涵盖系统中的大多数关键事件。 但是,为了开始创建主动监控系统和SRE,您必须更深入地研究。

注意事项 佩雷夫 :作为说明带有“黄金信号”图表的仪表板的示例,我们从Sysdig的本文中介绍Kubernetes的相应监视配置的结果:



注意事项 佩雷夫 :这是Denise Yu的金色信号的更直观表示,可以用作方便的备注:



主动SRE超越了黄金信号


监视黄金信号是分析服务事件的一个很好的开始,但这还不够。 经验丰富的SRE团队会使用许多其他方法来主动探索其系统。 SRE团队在准备阶段和生产阶段进行有组织的测试,因此他们积极研究他们的系统并使用收到的信息来提高服务的可靠性。

混沌工程


混沌工程是团队用来测试其系统以主动检测弱点和漏洞的一门学科。 手动将混乱引入服务中,您可以看到系统如何响应各种情况。

注意事项 佩雷夫 :在“混沌工程:故意破坏的艺术”一文( 第1 部分第2部分 )中了解有关此方法的更多信息。

比赛日


混乱的工程学着重于了解系统,而游戏日可以帮助员工理解。 它们用于测试团队在应对事件和消除事件后果方面的应变能力。 游戏日的结果可用于开发更有效的流程或确定对提高员工效率的新工具的需求。

综合监测


综合监控使团队可以创建人工用户并使用该服务模拟其行为。 您可以设置特定的行为模式,并观察系统在给定负载下的行为。 综合监视是用于详细测试和确定整个系统中特定服务的可靠性的出色方法。

...


任何试图以视觉方式监视系统状态的团队都必须监视金色的SRE信号。 但是,系统状态和整体可靠性的思想与提高其可靠性的想法完全不同。 在高度分布式系统和快速部署的现代生态系统中,SRE团队面临艰巨的任务。 监视和SRE的金牌信号可以成为SRE内部开始进一步改善的起点。

译者的PS


另请参阅我们的博客:

Source: https://habr.com/ru/post/zh-CN462503/


All Articles