この記事では、Azure App Service でアプリに関する問題のトラブルシューティングを行う方法について説明します。 Web アプリケーションを実行している場合は、発生する可能性のある問題に備える必要があります。 このような問題の範囲は、HTTP 500 エラーから、サイトがダウンしていることをユーザーに伝えるエラーまでです。
Azure App Service 診断は、構成を必要とせずアプリのトラブルシューティングを行うのに役立つ対話型エクスペリエンスです。 App Service 診断では、何が間違っているかを指摘し、問題のトラブルシューティングを簡単かつ迅速に行うために適切な情報を案内します。
このエクスペリエンスは、過去 24 時間以内に発生した問題に最も役立ちますが、すべての診断グラフを常に分析できます。
App Service 診断は、Windows 上のアプリだけでなく、組み込みコンテナーまたはカスタム コンテナー、 App Service Environment、 Azure Functions 上のアプリでも機能します。
App Service 診断を開くための手順
App Service 診断にアクセスするには:
Azure portal で、App Service Web アプリまたは App Service Environment に移動します。
サイドバー メニューの [問題の 診断と解決] を選択します。
App Service の診断ページには、アプリの問題を診断するための多くのツールが用意されています。 詳細については、この記事で後述する 診断ツール を参照してください。
注
アプリがダウンしているか、実行速度が遅い場合は、 プロファイリング トレースを収集 して、問題の根本原因を特定できます。 プロファイリングは軽量であり、運用環境のシナリオ向けに設計されています。
診断インターフェイス
App Service 診断のページでは、複数のセクションで効率的な診断アクセスが提供されます。
検索ボックス
検索ボックスは、診断をすばやく見つける方法です。 トラブルシューティング カテゴリを使用して、同じ診断を見つけることができます。
リスク アラート
App Service 診断ページでは、一連の構成チェックが実行され、アプリケーション固有の構成に基づいて推奨事項が提供されます。
推奨事項と実行されたチェックを確認するには、[ 詳細の表示 ] リンクを選択します。 情報は、ウィンドウの右側のパネルに表示されます。
トラブルシューティングカテゴリ
診断は、検出を容易にするためにトラブルシューティング カテゴリにグループ化されます。 次のカテゴリを使用できます。
- 可用性とパフォーマンス
- 構成と管理
- SSL とドメイン
- リスク評価
- デプロイ
- ネットワーク
- [Navigator]
- 診断ツール
- アプリのロード テスト
タイルには、カテゴリごとに使用可能な診断が表示されます。 [可用性とパフォーマンス] を選択した場合は、サイドバー メニューで次の診断を使用できます。
- 概要
- アプリダウンワークフロー
- Web アプリの停止
- アプリケーション ログ
- CPU 使用率
- メモリ使用量
- Web アプリのトラブルシューティング ツール
- アプリケーションの変更
- Linux - 実行中のコンテナーの数
- Linux スワップ領域が少ない
- プロセスフィルリスト
- プロセス 一覧
- SNAT ポートの枯渇
- TCP 接続
- 運用環境でのテスト
診断レポート
問題をさらに調査するには、トピックを選択し、診断レポートで詳細を表示します。 これらの詳細は、多くの場合、グラフで補完されます。
診断レポートは、アプリの問題を特定するための強力なツールです。 次の例は、可用性とパフォーマンスの Web アプリダウン レポートです。
アプリケーション コードの問題の調査 (Windows アプリのみ)
多くのアプリの問題はアプリケーション コードに関連しているため、App Service 診断は Application Insights と統合され、選択したダウンタイムと関連する例外と依存関係の問題が強調表示されます。 Application Insights は個別に有効にします。
Application Insights の例外と依存関係を表示するには、[ Web アプリダウン ] または [Web アプリの低速 ] タイル ショートカットを選択します。
トラブルシューティングの手順
過去 24 時間以内に特定のカテゴリで問題が検出された場合は、完全な診断レポートを表示できます。 App Service 診断では、より多くのトラブルシューティングのアドバイスと、よりガイド付きエクスペリエンスのための次の手順を表示するように求められる場合があります。
診断ツール
App Service には、アプリケーション コードの問題、低速、接続文字列などを調査するのに役立つ高度な診断ツールが含まれています。 また、CPU 使用率、要求、メモリに関する問題を軽減するのに役立つプロアクティブ ツールも含まれています。
プロアクティブ CPU 監視 (Windows アプリのみ)
プロアクティブ CPU 監視は、アプリまたはアプリの子プロセスが高い CPU リソースを消費しているときにアクションを実行するのに役立ちます。 実際の原因が見つかるまで、予期せず高い CPU を一時的に軽減する独自の CPU しきい値ルールを設定できます。 詳細については、ブログ記事「CPU の 問題が発生する前に CPU の問題を軽減する」を参照してください。
自動修復
自動復旧は、アプリに予期しない動作がある場合に実行できる軽減アクションです。 要求数、低速の要求、メモリ制限、および HTTP ステータス コードに基づいて独自のルールを設定し、軽減のアクションをトリガーできます。 ツールを使用して、根本的な原因が見つかるまで、予期しない動作を一時的に軽減します。
このツールは現在、Windows Web アプリ、Linux Web アプリ、Linux カスタム コンテナーで使用できます。 サポートされる条件と軽減策は、Web アプリの種類によって異なります。 詳細については、 App Service Diagnostics の新しい自動復旧エクスペリエンスの発表 と Linux の自動復旧の発表に関するブログ記事を参照してください。
プロアクティブ自動復旧 (Windows アプリのみ)
プロアクティブ CPU 監視と同様に、プロアクティブ自動復旧は、アプリの予期しない動作を軽減するためのターンキー ソリューションです。 アプリが復旧不可能な状態であると App Service で判断されると、プロアクティブ自動復旧によってアプリが再起動されます。 詳細については、 プロアクティブ自動修復の概要に関するブログ記事を参照してください。
ナビゲーター (Windows アプリのみ)
継続的インテグレーションと多くのアプリの依存関係を持つ大規模なチームでは、異常な動作を引き起こす特定の変更を特定することが困難な場合があります。 ナビゲーターは、アプリと同じサブスクリプション内のすべてのリソースの依存関係マップを自動的にレンダリングすることで、アプリのトポロジを可視化するのに役立ちます。
ナビゲーターを使用すると、アプリとその依存関係によって行われた変更の統合された一覧を表示できます。 その後、異常な動作の原因となっている変更を絞り込むことができます。 この機能には、App Service 診断のページの [ナビゲーター ] タイルを使用してアクセスします。 この機能を使用する前に、この機能を有効にする必要があります。 詳細については、ブログ記事「Navigator を使用 してアプリの依存関係を可視化する」を参照してください。
変更の分析
アプリの変更の変更分析には、可用性とパフォーマンスの [アプリケーションの変更] と [アプリケーションのクラッシュ] のタイル ショートカットを使用してアクセスできます。 変更分析は、他のメトリックと同時に使用できます。 この機能を使用する前に、この機能を有効にする必要があります。 詳細については、 App Service Diagnostics の新しい変更分析エクスペリエンスの発表に関するブログ投稿を参照してください。
質問またはフィードバック
タイトルに [Diag] を追加して、[アイデアの共有] に質問やフィードバックを投稿します。