信頼性の高い監視とアラート戦略を設計するための推奨事項

この Azure Well-Architected Framework の信頼性チェックリストの推奨事項に適用されます。

RE:10 ソリューションの正常性インジケーターを測定して公開します。 ワークロード全体、および個々のコンポーネントと主要なフローから、稼働時間やその他の信頼性データを継続的にキャプチャします。

このガイドでは、信頼性の高い監視とアラート戦略を設計するための推奨事項について説明します。 この戦略を実装して、運用チームに環境の正常性状態を常に通知し、ワークロードの確立された信頼性目標を確実に満たすようにします。

定義

期間 定義
メトリック 一定の間隔で収集される数値。 メトリックは、特定の時点におけるシステムの一部の側面を表します。
リソース ログ システムによって生成されるデータ。 システムの状態に関する情報を提供します。
トレース 要求がサービスとコンポーネントを通過するパスに関する情報を提供するデータ。

主要な設計戦略

監視とアラートの戦略を作成する前に、信頼性計画の一環として、ワークロードに対して次のタスクを実行します。

ワークロードが確実に動作するように、監視とアラートの戦略を作成します。 監視とアラートの戦略により、運用チームに認識が提供されるため、ワークロードの状態の変化が通知され、問題に迅速に対処できます。 重要なフローの 正常性モデル と、これらの重要なフローで構成されるコンポーネントを作成することで、堅牢で信頼性の高い監視戦略を構築します。 正常性モデルでは、正常な状態、機能低下状態、異常な状態が定義されます。 これらの状態の変化をすぐにキャッチするように運用体制を設計します。 正常性状態が正常から低下または異常に変わると、アラート メカニズムによって 自動修正措置 がトリガーされ、適切なチームに通知されます。

次の推奨事項を実装して、ビジネスの要件を満たす監視とアラートの戦略を設計します。

一般的なガイダンス

  • メトリックログ、トレースの違いを理解します

  • すべてのクラウド リソースの ログ記録 を有効にします。 デプロイで自動化とガバナンスを使用して、環境全体で診断ログを有効にします。

  • すべての診断ログを、 Log Analytics ワークスペースなどの一元化されたデータ シンクと分析プラットフォームに転送します。 リージョンデータ主権要件がある場合は、それらの要件の対象となるリージョンでローカル データ シンクを使用する必要があります。

トレードオフ: ログの格納とクエリにはコストの影響があります。 ログの分析と保持が予算にどのように影響するかに注目し、要件を満たすために最適な使用率のバランスを決定します。 詳細については、「 コスト最適化のベスト プラクティス」を参照してください。

  • ワークロードが 1 つ以上のコンプライアンス フレームワークの対象である場合、機密情報を処理するコンポーネント ログの一部も、これらのフレームワークの対象となります。 関連するコンポーネント ログを 、Microsoft Sentinel などのセキュリティ情報イベント管理 (SIEM) システムに送信します。

  • コンプライアンス フレームワークによってワークロードに課される長期的な保持要件を組み込んだ ログ保持ポリシー を作成します。

  • すべてのログ メッセージ に構造化ログを 使用して、ログ データのクエリを最適化します。

  • アラートを構成して、値が正常性モデルの状態の変化 (緑から黄色、赤など) に関連付けられる重大なしきい値を超えたときにトリガーするように構成します。

    しきい値の構成は、継続的な改善のプラクティスです。 ワークロードが進化すると、定義したしきい値が変わる可能性があります。 場合によっては、 動的しきい値 が監視戦略に適したオプションです。

  • 運用チームが将来の参照のためにこれらのイベントを追跡できるように、赤から黄、赤から緑など、状態が改善されたときにアラートを使用することを検討してください。

  • 環境のリアルタイムの正常性を視覚化します。

  • インシデント時に収集されたデータを使用して、正常性モデルと監視とアラート戦略を継続的に改善します。

  • 次を含むクラウド プラットフォームの監視とアラート サービスを組み込みます。

  • Azure Monitor 分析情報ツールなど、クラウド プロバイダーが提供する専用の高度な監視と分析を組み込みます。

  • バックアップと回復の監視を実装してキャプチャします。

    • ターゲットの目標復旧ポイント (RPO) 内でワークロードが確実に復旧を達成するためのデータ レプリケーションの状態。

    • 成功したバックアップと失敗したバックアップと回復。

    • ディザスター リカバリー計画を通知する復旧期間。

アプリケーションの監視

  • 正常性プローブまたはチェック関数を作成し、アプリケーションの外部から定期的に実行します。 顧客に地理的に近い複数の場所からテストすることを確認します。

  • アプリケーションが運用環境で実行されている間にデータをログに記録します。 運用環境の状態の問題の原因を診断するのに十分な情報が必要です。

  • サービスの境界でイベントのログを記録します。 フローがサービス境界をまたがる関連付け ID を含めます。 トランザクションが複数のサービスを通過し、そのうちの 1 つが失敗した場合、関連付け ID は、アプリケーション全体の要求を追跡し、トランザクションが失敗した理由を特定するのに役立ちます。

  • 非同期のログ記録を使用します。 同期ログ記録操作によってアプリケーション コードがブロックされることがあり、これにより、ログの書き込み時に要求がバックアップされます。 アプリケーションのログ記録の間に可用性を維持するには、非同期のログ記録を使います。

  • アプリケーションのログと監査を分けます。 一般に、監査レコードはコンプライアンスまたは法的要件のために保持され、完全なものである必要があります。 トランザクションの削除を回避するには、診断ログとは別に監査ログを保持します。

  • テレメトリの関連付けを使用して、エンドツーエンドのアプリケーションと重要なシステム フローを通じてトランザクションをマップできるようにします。 このプロセスは、障害の根本原因分析 (RCA) を実行するために不可欠です。 アプリケーションからプラットフォーム レベルのメトリックとログ (CPU 使用率、ネットワークイン、ネットワーク出力、ディスク操作など) をアプリケーションから収集し、正常性モデルに通知し、問題を検出して予測します。 この方法は、一時的な障害と非一時的な障害を区別するのに役立ちます。

  • ホワイトボックス監視を使用して、セマンティック ログとメトリックでアプリケーションをインストルメント化します。 アプリケーションからアプリケーション レベルのメトリックとログ (メモリ消費量や要求待機時間など) を収集して、正常性モデルに通知し、問題を検出して予測します。

  • ブラック ボックス監視を使用して、プラットフォーム サービスと結果のカスタマー エクスペリエンスを測定します。 ブラックボックスの監視では、システムの内部構造に関する知識がなくても、外部から参照できるアプリケーションの動作をテストします。 このアプローチは、顧客中心のサービス レベル インジケーター (SLI)、サービス レベル目標 (SLO)、サービス レベル アグリーメント (SLA) を測定する場合に一般的です。

注意

アプリケーションの監視の詳細については、「 正常性エンドポイントの監視パターン」を参照してください。

データとストレージを監視する

  • ストレージ コンテナーの可用性メトリックを監視します。 このメトリックが 100% を下回ると、書き込みが失敗したことを示します。 一時的な可用性の低下は、クラウド プロバイダーが負荷を管理するときに発生する可能性があります。 可用性の傾向を追跡して、ワークロードに問題があるかどうかを判断します。

    場合によっては、ストレージ コンテナーの可用性メトリックが低下すると、ストレージ コンテナーに関連付けられているコンピューティング レイヤーのボトルネックが示されます。

  • データベースを監視するメトリックは多数あります。 信頼性のコンテキストでは、監視する重要なメトリックは次のとおりです。

    • クエリ実行時間

    • Timeouts

    • 待機時間

    • メモリ不足

    • Locks

Azure ファシリテーション

  • Azure Monitor は、クラウドとオンプレミス環境から監視データを収集、分析、対応するために使用される包括的な監視ソリューションです。

  • Log Analytics は、Log Analytics ワークスペース内のデータに対するログ クエリを編集および実行するために使用される、Azure portalのツールです。

  • Application Insights は、Azure Monitor の拡張機能です。 アプリケーション パフォーマンス監視 (APM) 機能を提供します。

  • Azure Monitor の分析情報 は、仮想マシン、アプリケーション サービス、コンテナーなどの Azure サービスの監視に役立つ高度な分析ツールです。 分析情報は、Azure Monitor と Log Analytics の上に構築されています。

  • Azure Monitor for SAP solutions は、Azure で実行している SAP ランドスケープ向けの Azure ネイティブの監視製品です。

  • Azure Policy は、組織の標準を適用し、コンプライアンスを大規模に評価するのに役立ちます。

  • Azure ビジネス継続性センターは、ビジネス継続性の資産に関する分析情報を提供します。 ビジネス継続性とディザスター リカバリー (BCDR) に対して指定されたアプローチを適用する場合は、Azure ビジネス継続性センターを使用して、Azure とハイブリッド ワークロード全体のビジネス継続性保護の一元管理を行います。 Azure ビジネス継続性センターは、(バックアップまたはディザスター リカバリーを介して) 適切な保護を欠き、是正措置を取るリソースを特定します。 このツールは、統合された監視を容易にし、Azure Policyを通じてガバナンスと監査のコンプライアンスを確立し、すべて 1 つの場所で便利にアクセスできます。

  • 複数のワークスペースのベスト プラクティスについては、「 Log Analytics ワークスペース アーキテクチャを設計する」を参照してください。

実際の監視ソリューションの例については、「Azure での Web アプリケーションの監視」と「Azure Kubernetes Service クラスターのベースライン アーキテクチャ」を参照してください。

信頼性チェックリスト

推奨事項の完全なセットを参照してください。