アプリケーションが運用環境にデプロイされると、監視によってアプリケーションのパフォーマンスと使用パターンに関する情報が提供されるため、問題を特定、軽減、または解決できます。
監視の目標
監視の 1 つの目標は、時間の観点から測定される主要なメトリックを最小限に抑えることで高可用性を実現することです。
- 検出時間 (TTD): パフォーマンスまたはその他の問題が発生すると、問題に関する豊富な診断データが、自動監視によって開発チームにフィードバックされます。
- 軽減時間 (TTM): DevOps チームは、ユーザーが影響を受けないように、できるだけ早く問題を軽減するために情報に基づいて行動します。
- 修復時間 (TTR): 解決時間が測定され、チームは時間の経過に伴う改善に取り組む。 軽減策の後、チームは根本原因の問題を修復して再発しないようにする方法に取り組んでいます。
監視の 2 つ目の目標は、使用状況を追跡して 検証された学習 を有効にすることです。 検証済み学習の主要な概念は、すべてのデプロイが、デプロイにつながった仮説をサポートまたは減少させる実験結果を追跡する機会であるという点です。 使用状況とバージョン間の違いを追跡することで、チームは変更の影響を測定し、ビジネス上の意思決定を推進できます。 仮説が減少した場合、チームは迅速に 失敗 したり ピボットしたりすることができます。 仮説がサポートされている場合、チームは 2 倍にしたり 、忍耐したりすることができます。 これらのデータに基づく決定は、バックログの新しい仮説と優先順位付けにつながります。
重要な概念
テレメトリ は、監視からデータを収集するためのメカニズムです。 テレメトリでは、デプロイ環境にインストールされているエージェント、ソース コードに挿入されたマーカーに依存する SDK、サーバー ログ、またはこれらの組み合わせを使用できます。 通常、テレメトリは、リアルタイムのアラートとダッシュボード用に最適化されたデータ パイプラインと、トラブルシューティングや使用状況分析に必要な大量のデータを区別します。
合成監視 では、一貫したトランザクション セットを使用して、パフォーマンスと可用性を評価します。 シンセティックトランザクションは、リリースごとの比較を非常に予測しやすく行う利点を持つ予測可能なテストです。 一方、実際のユーザー監視 (RUM) は、ユーザーのブラウザー、モバイル デバイス、またはデスクトップからのエクスペリエンスを測定します。 これは、携帯ネットワーク、インターネット ルーティング、キャッシュなどの 最後 のマイル条件を考慮しています。 合成とは異なり、RUM は通常、時間の経過と同時に反復可能な測定を提供しません。
監視は、 運用環境でテストするためによく使用されます。 適切に監視されたデプロイでは、運用インシデントをすぐに特定できるように、その正常性とパフォーマンスに関するデータがストリーミングされます。 継続的デプロイ リリース パイプラインと組み合わせることで、監視によって新しい異常が検出され、迅速な軽減が可能になります。 これにより、実稼働前の環境では予測できないアプリケーション動作における未知の未知数を検出できます。
効果的な監視は、DevOps チームが迅速に提供し、運用環境からフィードバックを得て、顧客満足度、獲得、保持期間を向上させるために不可欠です。
次のステップ
Azure Monitor の監視機能の詳細を確認します。
Application Insights を設定して監視に使用する方法について説明します。