Live:CloudOps Webinars & Hands-on Workshops ·Register ↗
跳到主要内容

Metrics

Metrics 是一系列按创建时间排序的数值。它们用于跟踪从环境中服务器数量、磁盘使用率、每秒处理的请求数到完成这些请求的延迟等一切内容。

但 metrics 不仅限于基础设施或应用程序监控。相反,它们可以用于任何类型的业务或工作负载来跟踪销售额、呼叫队列和客户满意度。实际上,当将运营数据和业务 metrics 结合在一起时,metrics 最为有用,可以提供全面的视角和可观测的系统。

您可能值得查看 OpenTelemetry 文档页面,它提供了关于 Metrics 的一些额外背景信息。

了解您的关键绩效指标 (KPI) 并进行测量!

Metrics 最重要的事情是测量正确的东西。而这对每个人来说都是不同的。一个电子商务应用程序可能将每小时销售额作为关键 KPI,而一家面包店可能更关注每天制作的牛角面包数量。

注意

对于您的业务 KPI,没有单一的、完全完整的和全面的来源。您必须充分了解您的项目或应用程序,才能知道您的输出目标是什么。

您的第一步是命名您的高级目标,而这些目标很可能不是仅从基础设施获得的单一 metric 所能表达的。在上面的电子商务示例中,一旦确定了目标(即测量每小时销售额),您就可以回溯到详细的 metrics,如购买前搜索产品所花费的时间、完成结账流程所需的时间、产品搜索结果的延迟等。这将指导我们有意识地收集相关信息来观测系统。

信息

确定了 KPI 后,您现在可以反向工作来了解工作负载中哪些 metrics 会影响它们。

与运营 metric 数据关联

如果 Web 服务器上的高 CPU 利用率导致响应时间变慢,进而导致客户不满,最终降低收入,那么测量 CPU 利用率对您的业务成果有直接影响,绝对应该进行测量!

或者反过来,如果您有一个在临时云资源(如 Amazon EC2 队列或其他云提供商环境中的类似资源)上执行批处理的应用程序,那么您可能希望 CPU 利用率尽可能高,以实现完成批处理的最经济有效的方式。

在这两种情况下,您需要将运营数据(如 CPU 利用率)与业务 metrics 放在同一个系统中,以便将两者关联起来。

信息

将业务 metrics 和运营 metrics 存储在一个系统中,在那里您可以将它们关联起来,并根据观察到的对两者的影响得出结论。

了解正常是什么样子!

理解什么是健康的基线可能具有挑战性。许多人必须对工作负载进行压力测试才能理解健康的 metrics 是什么样子的。但是,根据您的需求,您可能能够观察现有的运营 metrics 来安全地得出关于健康阈值的结论。

健康的工作负载是在满足 KPI 目标的同时保持弹性、可用性和成本效益之间取得平衡的工作负载。

信息

您的 KPI 必须有一个确定的健康范围,这样您就可以在性能低于或高于所需水平时创建告警

使用异常检测算法

了解正常是什么样子的挑战在于,了解系统中每个 metric 的健康阈值可能不切实际。关系型数据库管理系统 (RDBMS) 可以发出数十个性能 metrics,当与微服务架构结合时,您可能有数百个可能影响 KPI 的 metrics。

观察如此大量的数据点并逐一确定其上下阈值对人类来说可能并不总是实际的。但机器学习非常擅长这种重复性任务。尽可能利用自动化和机器学习,因为它可以帮助识别您否则甚至不会知道的问题!

信息

使用机器学习算法和异常检测模型来自动计算工作负载的性能阈值。