

# OPS04-BP02 アプリケーションテレメトリーを実装する
<a name="ops_observability_application_telemetry"></a>

 アプリケーションテレメトリーは、ワークロードオブザーバビリティの基盤です。アプリケーションの状態や、技術的およびビジネス上の成果の達成に関する実践的なインサイトを提供するテレメトリーを送出することが重要です。トラブルシューティングから新機能の影響の測定、ビジネスの主要業績評価指標 (KPI) との整合性の確認まで、アプリケーションテレメトリーを使用することで、ワークロードのビルド、運用、展開の仕方に関する情報を得ることができます。 

 メトリクス、ログ、トレースは、オブザーバビリティの 3 つの主要な柱となります。この 3 つの柱は、アプリケーションの状態を説明する診断ツールとして機能し、徐々にベースラインの作成や異常の特定に役立つようになります。ただし、モニタリングアクティビティとビジネス目標の整合性を確保するには、主要業績評価指標 (KPI) を定義してモニタリングすることが非常に重要です。多くの場合、ビジネス KPI を使用すると、技術的なメトリクスのみの場合よりも問題を特定しやすくなります。 

 リアルユーザーモニタリング (RUM) や合成トランザクションなどのその他の種類のテレメトリーは、これらの主要なデータソースを補完します。RUM はリアルタイムのユーザーの操作に関するインサイトを提供します。合成トランザクションは潜在的なユーザー行動のシミュレーションを行い、実際のユーザーがボトルネックに直面する前にボトルネックを検出するのに役立ちます。 

 **期待される成果:** ワークロードのパフォーマンスに関する実践的なインサイトを導き出します。このようなインサイトを活用すると、パフォーマンスの最適化に関する積極的な意思決定、ワークロードの安定性の向上、CI/CD プロセスの合理化、リソースの効果的な活用につながります。 

 **一般的なアンチパターン:** 
+  不完全なオブザーバビリティ: ワークロードのあらゆるレイヤーにオブザーバビリティを組み込むことを怠ると、死角が生じ、システムのパフォーマンスや動作に関する重要なインサイトが明らかにされない可能性があります。 
+  断片化されたデータビュー: データが複数のツールやシステムに分散している場合、ワークロードの状態とパフォーマンスを包括的に把握することが困難になります。 
+  ユーザーから報告された問題: これは、テレメトリーとビジネス KPI のモニタリングによる積極的な問題検出ができていないという兆候です。 

 **このベストプラクティスを活用するメリット:** 
+  情報に基づいた意思決定: テレメトリーとビジネス KPI から得られるインサイトを活用して、データ主導の意思決定を行うことができます。 
+  運用効率の向上: データ主導型のリソース利用は、高いコスト効率をもたらします。 
+  ワークロードの安定性の向上: 問題をより迅速に検出して解決し、稼働時間を改善します。 
+  CI/CD プロセスの効率化: テレメトリーデータから得られるインサイトにより、プロセスの改善と信頼性の高いコードの配信が容易になります。 

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 ワークロードのアプリケーションテレメトリーを実装するには、 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) および [AWS X-Ray などの AWS サービスを使用します](https://aws.amazon.com/xray/)。Amazon CloudWatch が提供する包括的なモニタリングツールのスイートを使用して、AWS 内やオンプレミス環境のリソースやアプリケーションをモニタリングできます。メトリクスを収集、追跡、分析して、ログデータの統合とモニタリングを行い、リソースの変化に対応して、ワークロードがどのように運用されているかの詳細を明らかにします。これと連携して AWS X-Ray を使用すると、アプリケーションをトレース、分析、デバッグできるため、ワークロードの動作を詳しく把握できます。サービスマップ、レイテンシー分布、トレースタイムラインなどの機能を提供する X-Ray を使用すると、ワークロードのパフォーマンスとパフォーマンスに影響を及ぼすボトルネックに関するインサイトが得られます。 

### 実装手順
<a name="implementation-steps"></a>

1.  **収集するデータの特定:** ワークロードの状態、パフォーマンス、動作に関する重要なインサイトを提供する主要なメトリクス、ログ、トレースを確認します。 

1.  ** [CloudWatch](https://aws.amazon.com/cloudwatch/) エージェントのデプロイ:** CloudWatch エージェントを使用すると、ワークロードと基盤となるインフラストラクチャからシステムとアプリケーションのメトリクスとログを取得できます。CloudWatch エージェントを使用すると、OpenTelemetry や X-Ray トレースを収集して、X-Ray に送信することもできます。 

1.  **ビジネス KPI の定義とモニタリング:** ビジネス成果に沿った [カスタムメトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) を確立 [します](https://aws-observability.github.io/observability-best-practices/guides/operational/business/monitoring-for-business-outcomes/)。 

1.  **AWS X-Ray を使用したアプリケーションのインストルメント化: ** CloudWatch エージェントのデプロイに加えて、トレースデータを送出できるよう [アプリケーションをインストルメント化する](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html) ことが重要です。このプロセスにより、ワークロードの動作とパフォーマンスをさらに詳細に把握できます。 

1.  **アプリケーション全体にわたるデータ収集の標準化:** アプリケーション全体にわたり、データ収集方法を標準化します。均一性を確立することで、データの関連付けと分析が容易になり、アプリケーションの動作を包括的に把握しやすくなります。 

1.  **データの分析とデータに基づく対処:** データ収集と正規化が完了したら、 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/features/) をメトリクスとログの分析に、 [AWS X-Ray](https://aws.amazon.com/xray/features/) をトレース分析に使用します。このような分析を行うことで、ワークロードの状態、パフォーマンス、動作に関する重要なインサイトを入手し、意思決定プロセスの指針とすることができます。 

 **実装計画に必要な工数レベル:** 高 

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

 **関連するベストプラクティス:** 
+  [OPS04-BP01 主要業績評価指標を特定する](ops_observability_identify_kpis.md) 
+  [OPS04-BP03 ユーザーエクスペリエンステレメトリーを実装する](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 依存関係のテレメトリーを実装する](ops_observability_dependency_telemetry.md) 
+  [OPS04-BP05 分散トレースを実装する](ops_observability_dist_trace.md) 

 **関連するドキュメント:** 
+ [AWS オブザーバビリティのベストプラクティス ](https://aws-observability.github.io/observability-best-practices/)
+ [ CloudWatch ユーザーガイド ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [AWS X-Ray デベロッパーガイド ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ 運用の可視性を高めるために分散システムを装備する ](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility)
+ [AWS オブザーバビリティ Skill Builder コース ](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability)
+ [ Amazon CloudWatch の最新情報 ](https://aws.amazon.com/about-aws/whats-new/management-and-governance/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23amazon-cloudwatch)
+ [AWS X-Ray の最新情報 ](https://aws.amazon.com/about-aws/whats-new/developer-tools/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23aws-x-ray)

 **関連動画:** 
+ [AWS re:Invent 2022 - Amazon におけるオブザーバビリティのベストプラクティス ](https://youtu.be/zZPzXEBW4P8)
+ [AWS re:Invent 2022 - オブザーバビリティ戦略の策定 ](https://youtu.be/Ub3ATriFapQ)

 **関連する例:** 
+  [One Observability ワークショップ](https://catalog.workshops.aws/observability/en-US) 
+ [AWS ソリューションライブラリ: Amazon CloudWatch を使用したアプリケーションモニタリング ](https://aws.amazon.com/solutions/implementations/application-monitoring-with-cloudwatch)