Azure Monitor で変更分析を使用する
標準的な監視ソリューションでは、ライブ サイトの問題、停止、またはコンポーネントの障害が警告されることがありますが、多くの場合はその原因が説明されません。 たとえば、5 分前には動作していたサイトが、今は停止しています。 この 5 分間でどのような変更があったのでしょうか。
変更分析は、Azure Monitor でのこのような質問に回答するように設計されました。
変更分析は Azure Resource Graph を基に構築されており、次の特長を備えています。
- Azure アプリケーションの変更に関する分析情報の提供。
- 可観測性の向上。
- 平均修復時間 (MTTR) の削減。
注意
現在、変更分析はパブリック Azure Cloud でのみ使用できます。
変更分析アーキテクチャ
変更分析では、インフラストラクチャ レイヤーからアプリケーション デプロイにわたって、さまざまな種類の変更を検出します。 変更分析は、次の機能を備えたサブスクリプション レベルの Azure リソース プロバイダーです。
- サブスクリプション内のリソース変更を確認する。
- 問題を引き起こした可能性がある変更をユーザーが理解するために役立つ、さまざまな診断ツール向けのデータを提供する。
以下の図に、変更分析のアーキテクチャを示します。
サポートされているリソースの種類
Azure Monitor 変更分析サービスでは、次のような一般的なリソースを含む、すべての Azure リソースの種類でのリソース プロパティ レベルの変更がサポートされます。
- 仮想マシン
- 仮想マシン スケール セット
- App Service
- Azure Kubernetes Service (AKS)
- Azure 関数
- ネットワーク リソース:
- ネットワーク セキュリティ グループ
- Virtual Network
- Application Gateway など。
- データ サービス:
- ストレージ
- SQL
- Redis Cache
- Azure Cosmos DB など。
データ ソース
Azure Monitor の変更分析クエリは次のとおりです。
変更分析はまた、リソース依存関係の変更を追跡して、アプリケーションの診断と監視をエンド ツー エンドで行います。
Azure Resource Manager のリソース プロパティの変更
変更分析では、Azure Resource Graph が使用され、アプリケーションをホストしている Azure リソースが時間と共にどのように変更されたかを示す履歴の記録が提供されます。 次の基本的な構成設定は、Azure Resource Manager を使用して設定され、Azure Resource Graph によって追跡されます。
- マネージド ID
- プラットフォーム OS のアップグレード
- ホスト名
リソース構成の変更
Azure Resource Manager を使用して設定した設定に加えて、CLI、Bicep などを使用して、次のような構成設定を設定できます。
- IP 構成のルール
- TLS の設定
- 拡張機能のバージョン
これらの設定の変更は、Azure Resource Graph ではキャプチャされません。 変更分析では、接続文字列の変更など、これらの主要な構成プロパティの変更のスナップショットをキャプチャすることで、このギャップを埋めます。スナップショットでは、構成の変更と変更の詳細が最大 6 時間ごとに取得されます。 既知の制限事項を参照してください。
Azure 関数と Web Apps の変更 (ゲスト内変更)
変更分析では、30 分ごとに Web アプリケーションの構成の状態がキャプチャされます。 たとえば、アプリケーション環境変数、構成ファイル、WebJob の変更を検出できます。 このツールで差分が計算され、変更点が提示されます。
30 分以内のファイルの変更や、6 時間以内の構成の変更が表示されない場合は、トラブルシューティング ガイドを参照してください。
現在、サイト ルート wwwroot の下にあるテキストベースのファイルで次の拡張子が付くものは、すべてサポートされています。
- *.json
- *.xml
- *.ini
- *.yml
- *.config
- *.properties
- *.html
- *.cshtml
- *.js
- requirements.txt
- Gemfile
- Gemfile.lock
- config.gemspec
依存関係の変更
リソースの依存関係の変更も、リソースで問題を引き起こす場合があります。 たとえば、Web アプリから Redis キャッシュが呼び出される場合、Redis キャッシュ SKU が Web アプリのパフォーマンスに影響を与える可能性があります。
別の例として、仮想マシンのネットワーク セキュリティ グループでポート 22 が閉じられた場合は、接続エラーが発生します。
Web アプリに関する問題の診断と解決のナビゲーター (プレビュー)
依存関係の変更を検出するために、変更分析では Web アプリの DNS レコードが確認されます。 このようにして、問題を引き起こす可能性のあるすべてのアプリ コンポーネントの変更が特定されます。
現在、次の依存関係は Web アプリに関する問題の診断と解決 | ナビゲーターでサポートされています。
- Web Apps
- Azure Storage
- Azure SQL
制限事項
- OS 環境: Azure 関数と Web App のゲスト内変更の場合、変更分析は現在、Linux ではなく Windows 環境でのみ機能します。
- Web アプリのデプロイの変更: 変更分析ツールでは、コード デプロイの変更情報をすぐに利用できない場合があります。 変更分析で最新の変更を表示するには、 [Refresh](最新の情報に更新) を選択します。
- 関数と Web App ファイルの変更: ファイルの変更が表示されるまでに最大 30 分かかります。
- 関数と Web App の構成の変更: 構成変更に対するスナップショット アプローチにより、変更が実際に発生した時点から、構成変更のタイムスタンプが表示されるまでに最大 6 時間かかることがあります。
- Web アプリのデプロイと構成の変更: これらの変更はサイト拡張機能によって収集され、アプリケーションが所有するディスク領域に格納されるため、データ収集とストレージはアプリケーションの動作の影響を受けます。 不適切な動作をしているアプリケーションが結果に影響しているかどうかを確認します。
- すべての変更のスナップショット保有期間: リソースの変更分析データは、Azure Resource Graphs (ARG) によって追跡されます。 ARG は、追跡対象リソースのスナップショット履歴を 14 日間だけ保持します。
次の手順
- 変更分析の有効化について学習する
- 変更分析での視覚化について学習する
- 変更分析の問題をトラブルシューティングする方法について学習する
- Azure Web Apps に対して Application Insights を有効にします。
- Azure VM と Azure 仮想マシン スケール セットの IIS でホストされたアプリの Application Insights を有効にします。