【.comExpress翻译】要正确管理和监控应用程序,您需要一个目标来定义您的位置和做得如何,以便您可以不断调整和改进。此参考点称为服务级别目标(SLO)。花时间定义明确的SLO将使服务所有者以及依赖您的服务的内部和外部用户的生活更轻松。但是,在定义SLO之前,您需要一个客观的定量指标,您可以查看该指标以确定应用程序的性能或可靠性。此类指标称为服务水平指标(SLI)。服务水平指标(SLI)确定用于SLI的指标的一个好方法是考虑在应用程序性能方面直接影响用户满意度的因素。这可能包括应用程序的延迟、可用性和准确性等方面。另一方面,CPU利用率将是一个糟糕的SLI,因为您的用户并不真正关心服务器CPU的性能,只要它不影响您的应用程序体验即可。此外,您选择的SLI将取决于您运行的应用程序类型。对于典型的请求/响应类型的应用程序,您可能会关心可用性、请求延迟和每秒成功请求的数量。您可能会查看用于数据存储的数据的可用性和一致性。在数据管道的情况下,您的SLI可能会返回预期的数据以及处理数据需要多长时间,尤其是在最终一致性模型中。服务级别目标(SLO)SLO是在一段时间内针对SLI衡量的性能阈值。这就是衡量SLI以确定性能是否符合预期的方式。一个好的SLO将定义您的应用程序所需的性能级别,但不会高于必要的级别。这是一个关键点,需要随着时间的推移进行测试。如果您的用户对99%的可用性感到满意,则没有理由投入大量资金来实现99.999%的可用性。延迟的一些示例SLO可能是第95个百分位延迟,它告诉您用户发出的最慢5%的请求的延迟。这比简单的延迟平均值要好得多,后者很容易被异常值扭曲。提供更细粒度的另一种选择是测量请求总数和超过合理阈值(比如1秒)的请求数。超过基线的请求百分比将有助于确定您的用户不耐烦地等待数据返回、页面呈现或操作完成的频率。一旦确定了现实的性能目标,就需要确定测量的时间段。SLO的两个常见时间段是从一个设定日期到另一个设定日期(例如一个月的开始和结束)的基于日历的测量。另一个是滚动窗口,可以从当前日期回溯一定天数。服务水平协议(SLA)服务水平协议(SLA)是SLO,包含服务提供商和客户之间的附加协议,指定如果不满足SLO将产生的某种形式的后果。这通常发生在两个不同的企业(供应商和客户)之间,违反SLA会产生经济后果。SLA也可以在公司内部使用,其中某些服务可能依赖于由不同团队控制的其他服务,以使产品正常运行。为什么使用SLO?现在您已经清楚地了解什么是服务级别目标,您可能想知道为什么要花时间创建和使用SLO。最明显的原因是,花时间找出对绩效真正重要的事情可以大大简化您团队的工作,并在整个公司内清楚地传达标准。您可以通过多种不同的方式跟踪您的应用程序生成的指标,但如果将其分解为它对用户产生明显影响的原因,则可以消除很多噪音和噪音。在InfluxData,我们专注于时间序列数据。因此,我们有大量数据涵盖我们系统的各个方面。虽然高度精细的指标具有运营价值,但这些指标并不能很好地反映客户体验,而且肯定会让服务所有者想要更多。因此,我们采取了检查每个微服务及其消费者的方法,并建立合理的成功标准和可实现的目标。这样做的结果是我们可以在整个车队中应用的一致测量,提供对可用性和错误率的洞察,作为客户体验的代理。这不仅有利于服务所有者作为实现卓越运营和告知错误预算的一种方式,还有助于深入了解我们公司各个级别的工程组织。这些是我们运营的服务背后的仪表板背后的目标。您会发现它一目了然,提供了有用的警报和错误预算指标,并显示该服务的目标可用性为99.9%。通过在整个公司范围内提供这些数据,我们可以加快服务的交付。反过来,这为客户在我们的平台上开发应用程序带来了高速的“美好时光”。需要注意的重要一点是,SLO不必在第一次实施时就完美无缺。SLO总是在不断发展,并且可以随着您获得更多数据并更多地了解用户需求和期望而迭代。请记住:实施SLO最重要的方面是监控应用程序的整体思维方式转变。原标题:UnderstandingSLOsformonitoringapplications,作者:TimYocum
