

# 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.  [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) を使用すると、既存のアプリケーションのメトリクスを収集して、新しいメトリクスの追加に利用できます。 

   1.  Enterprise Support を利用している場合は、テクニカルアカウントマネージャーに、[Building a Monitoring Strategy Workshop](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) (モニタリング戦略策定ワークショップ) を申し込むことができます。このワークショップは、ワークロードのオブザーバビリティ戦略策定の支援となります。 

1.  ワークロードのアプリケーションとコンポーネントのメトリクスを特定します。個別のコンポーネントとアプリケーションの正常性を示す主要なメトリクスにはどのようなものがあるでしょうか。 アプリケーションとコンポーネントはさまざまなメトリクスを生成する可能性があるとはいえ、全体的な正常性を示す主要なメトリクスを 1～3 種類選択します。 

1.  ワークロードのメトリクスを定期的に評価するメカニズムを導入します。ビジネス KPI が変更された場合、ステークホルダーと協力してワークロードのメトリクスを更新します。ワークロードのコンポーネントとアプリケーションの進化に合わせて、ワークロードのメトリクスを調整します。 

 **実装計画に必要な工数レベル:** 中。アプリケーションにビジネス KPI のメトリクスを追加するには、ある程度の労力が必要になる場合があります。 

## リソース
<a name="resources"></a>

 **関連するベストプラクティス:** 
+  [OPS04-BP01 アプリケーションテレメトリーを実装する](ops_telemetry_application_telemetry.md) - アプリケーションは、ビジネス上の成果をサポートするテレメトリーを生成する必要があります。 
+  [OPS04-BP02 ワークロードテレメトリーを実装して設定する](ops_telemetry_workload_telemetry.md) - ビジネス上の成果をサポートするワークロードのメトリクスを定義する前に、テレメトリーを送信するワークロードを計測する必要があります。 
+  [OPS08-BP01 主要業績評価指標 (KPI) を特定する](ops_workload_health_define_workload_kpis.md) - ワークロードのメトリクスを選択する前に、主要業績評価指標 (KPI) を特定する必要があります。 

 **関連するドキュメント:** 
+ [ 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/blogs/mt/adding-metrics-and-traces-to-your-application-on-amazon-eks-with-aws-distro-for-opentelemetry-aws-x-ray-and-amazon-cloudwatch/)(AWS Distro for OpenTelemetry、AWS X-Ray、Amazon CloudWatch を使用して、Amazon EKS のアプリケーションにメトリクスとトレースを追加する)
+ [Amazon Builder’s Library の](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/)
+ [ How to better monitor your custom application metrics using Amazon CloudWatch Agent ](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/) (Amazon CloudWatch エージェントを使用してカスタムアプリケーションメトリクスのモニタリングを改善する方法)

 **関連動画:** 
+ [AWS re:Invent 2020: Monitoring production services at Amazon ](https://www.youtube.com/watch?v=hnPcf_Czbvw)(AWS re:Invent 2020: Amazon における本稼働サービスのモニタリング)
+ [AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310) ](https://www.youtube.com/watch?v=efk8XFJrW2c)(AWS re:Invent 2022 - OpenTelemetry を使用したオブザーバブルなアプリケーションの構築 (BOA310))
+ [How to Easily Setup Application Monitoring for Your AWS Workloads - AWS Online Tech Talks](https://www.youtube.com/watch?v=LKCth30RqnA) (AWS ワークロードのアプリケーションモニタリングを簡単に設定する方法 - AWS オンラインテックトーク)
+ [Mastering Observability of Your Serverless Applications - AWS Online Tech Talks](https://www.youtube.com/watch?v=CtsiXhiAUq8) (サーバーレスアプリケーションのオブザーバビリティをマスターする - AWS オンラインテックトーク)

 **関連する例:** 
+ [1 つの可観測性ワークショップ](https://catalog.workshops.aws/observability/en-US/intro)

 **関連サービス:** 
+ [ Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [AWS Distro for OpenTelemetry ](https://aws-otel.github.io/)