

# OPS08-BP02 定义工作负载指标
<a name="ops_workload_health_design_workload_metrics"></a>

定义指标来衡量工作负载的运行状况。通过业务成果的实现（KPI）以及工作负载组件和应用程序的状态来衡量工作负载运行状况。KPI 的例子包括放弃的购物车、下达的订单、成本、价格和分配的工作负载费用。虽然您可以从多个组件收集遥测数据，但只需要选择可深入了解总体工作负载运行状况的子集。随着业务需求的变化，随着时间的推移调整工作负载指标。

 **期望结果：** 
+  您有已经确定的指标，它们用于验证 KPI 达成情况，从而反映业务成果。 
+  您有用于显示工作负载运行状况的一致视图的指标。 
+  随着业务需求的变化，定期评估工作负载指标。 

 **常见反模式：** 
+ 您正在监控工作负载中的所有应用程序，但无法确定您的工作负载是否正在实现业务成果。
+ 您有已经确定的工作负载指标，但它们未与任何业务 KPI 关联。

 **建立此最佳实践的好处：** 
+  您可以根据业务成果的实现情况来衡量工作负载。 
+  您知道自己的工作负载是否处于正常运行状态，或是否需要干预。 

 **在未建立这种最佳实践的情况下暴露的风险等级：**高 

## 实施指导
<a name="implementation-guidance"></a>

 此最佳实践的目标是，您可以回答以下问题：我的工作负载是否正常运行？ 通过业务成果的实现以及工作负载中的组件和应用程序的状态来确定工作负载运行状况。根据业务 KPI 进行反推，以便确定指标。根据组件和应用程序确定关键指标。随着业务需求的变化，定期审查工作负载指标。 

 **客户示例** 

 在 AnyCompany Retail，通过一组应用程序和组件指标来确定工作负载运行状况。他们从业务 KPI 开始，确定可表明他们正在取得业务成果的指标（如订单达成率）。他们还包括了关键应用程序指标（如页面响应）和组件指标（如开放式数据库连接）。他们每季度重新评估工作负载指标，确保它们在确定工作负载运行状况方面仍然有效。 

 **实施步骤** 

1.  从业务 KPI 开始，确定可表明您正在取得业务成果的指标。如果有些 KPI 没有指标，请使用任何缺失业务 KPI 的额外指标来检测工作负载。 

   1.  您可以将自定义指标从应用程序发布到 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)。 

   1.  [适用于 OpenTelemetry 的 AWS Distro](https://aws-otel.github.io/) 可以从现有应用程序收集指标，并用于添加新指标。 

   1.  购买了 Enterprise Support 服务的客户可以向他们的技术客户经理请求[建立监测策略研讨会](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/)。此研讨会帮助您为工作负载构建可观测性策略。 

1.  确定工作负载中应用程序和组件的指标。表明各个组件和应用程序运行状况的关键指标是什么？ 应用程序和组件可能发出许多不同的指标，但只需要选择一到三个关键指标来显示它们的总体运行状况。 

1.  实施一种机制，定期评估工作负载指标。当业务 KPI 变化时，与利益攸关方一起更新工作负载指标。随着工作负载组件和应用程序不断演变，调整工作负载指标。 

 **实施计划的工作量级别：**中等。将业务 KPI 的指标添加到应用程序可能需要作出适当的努力。 

## 资源
<a name="resources"></a>

 **相关最佳实践：** 
+  [OPS04-BP01 实施应用程序遥测](ops_telemetry_application_telemetry.md) - 应用程序必须发出支持业务成果的遥测数据。 
+  [OPS04-BP02 实施和配置工作负载遥测](ops_telemetry_workload_telemetry.md) - 必须先检测工作负载以发出遥测数据，然后才可以定义支持业务成果的工作负载指标。 
+  [OPS08-BP01 识别关键性能指标](ops_workload_health_define_workload_kpis.md) - 必须先确定关键性能指标，然后选择工作负载指标。 

 **相关文档：** 
+ [在 Amazon EKS 上使用适用于 OpenTelemetry 的 AWS Distro、AWS X-Ray 和 Amazon CloudWatch 向应用程序添加指标和踪迹](https://aws.amazon.com/blogs/mt/adding-metrics-and-traces-to-your-application-on-amazon-eks-with-aws-distro-for-opentelemetry-aws-x-ray-and-amazon-cloudwatch/)
+ [检测分布式系统的运营可见性](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/)
+ [实施运行状况检查](https://aws.amazon.com/builders-library/implementing-health-checks/)
+ [如何高效地监控应用程序](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/)
+ [如何使用 Amazon CloudWatch 代理更好地监控自定义应用程序指标](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/)

 **相关视频：** 
+ [AWS re:Invent 2020：在亚马逊监控生产服务](https://www.youtube.com/watch?v=hnPcf_Czbvw)
+ [AWS re:Invent 2022 - 使用 OpenTelemetry 构建可观察应用程序（BOA310）](https://www.youtube.com/watch?v=efk8XFJrW2c)
+ [如何为 AWS 工作负载轻松设置应用程序监控 – AWS 在线技术讲座](https://www.youtube.com/watch?v=LKCth30RqnA)
+ [掌握无服务器应用程序的可观测性 – AWS 在线技术讲座](https://www.youtube.com/watch?v=CtsiXhiAUq8)

 **相关示例：** 
+ [可观测性研讨会](https://catalog.workshops.aws/observability/en-US/intro)

 **相关服务：** 
+ [ Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [适用于 OpenTelemetry 的 AWS Distro](https://aws-otel.github.io/)