Azure App Service 診断の概要

Web アプリケーションを実行するに当たっては、500 エラーが発生したり、サイトがダウンした場合に向けての準備体制が重要になります。 App Service 診断は、アプリのトラブルシューティングを支援するインテリジェントな対話型エクスペリエンスを備え、構成は不要です。 アプリに問題が発生した場合、App Service 診断は問題点を指摘し、その問題をすばやく簡単にトラブルシューティングして解決するための適切な情報へとユーザーを導きます。

このエクスペリエンスはアプリの問題発生時刻が過去 24 時間以内である場合に最も役立ちますが、すべての診断グラフを常に分析に利用できます。

App Service 診断は、Windows 上のアプリだけでなく、Linux/コンテナーApp Service 環境、および Azure Functions 上のアプリに対しても機能します。

App Service 診断を開く

App Service 診断にアクセスするには、Azure portal 上の App Service Web アプリまたは App Service 環境に移動します。 左側のナビゲーションで、 [問題の診断と解決] をクリックします。

Azure Functions の場合、関数アプリに移動し、上部ナビゲーションにある [プラットフォーム機能] をクリックし、 [リソース管理] セクションの [問題の診断と解決] を選択します。

App Service 診断のホームページ上で、アプリの症状を検索したり、アプリでの問題を最もよく表している診断カテゴリを選択したりすることができます。 次に、アプリを改善するための実用的なレポートを提供する、リスク アラートという新しい機能があります。 最後に、このページで診断ツールを見つけることができます。 「診断ツール」のセクションを参照してください。

診断検索ボックス、リスク アラートの評価、選択された Azure リソースの診断を検出するためのトラブルシューティング カテゴリがある、App Service の [問題の診断と解決] ホームページ。

注意

アプリがダウンしているか、パフォーマンスが低下している場合は、プロファイリング トレースを収集して、問題の根本原因を特定できます。 プロファイリングは軽量であり、運用シナリオ向けに設計されています。

診断インターフェイス

App Service の診断ホームページでは、次の 4 つのセクションを使用して合理的に診断にアクセスできます。

  • Genie 検索ボックスに質問する
  • リスク アラート
  • カテゴリのトラブルシューティング
  • 一般的なトラブルシューティング ツール

Genie 検索ボックスでは、診断を簡単に見つけることができます。 同じ診断は、トラブルシューティング カテゴリから確認できます。

リスク アラート

App Service の診断ホームページでは、一連の構成チェックが実行され、独自のアプリケーションの構成に基づいて推奨事項が提供されます。

App Service の [問題の診断と解決] の [リスク アラート] には、検出された問題の数と詳細を表示するリンクを示すタイルでプロアクティブなアプリ検査が表示されます。

推奨事項と実行された検査は、[詳細を表示] リンクをクリックして確認できます。

ホームページで [詳細を表示] ハイパーリンクをクリックした後に、現行の Azure リソース アプリに合わせて調整された実用的な分析情報を表示する、App Service の [問題の診断と解決] の [リスク アラート] の右側パネル。

カテゴリのトラブルシューティング

トラブルシューティング カテゴリでは、見つけやすくするために診断がグループ化されます。 次の機能を使用できます:

  • 可用性とパフォーマンス
  • 構成と管理
  • SSL とドメイン
  • リスク評価
  • ナビゲーター (プレビュー)
  • 診断ツール

可用性とパフォーマンス、構成と管理、SSL とドメイン、リスク評価、ナビゲーター (プレビュー)、診断ツールを表示する、App Service の [問題の診断と解決] のトラブルシューティング カテゴリの一覧。

タイルまたは [トラブルシューティング] リンクには、カテゴリで使用可能な診断が表示されます。 可用性とパフォーマンスの調査に関心がある場合は、以下の診断が提供されます。

  • 概要
  • Web アプリのダウン
  • Web アプリのパフォーマンスが低下する
  • 高 CPU の分析
  • メモリの分析
  • Web アプリの再起動
  • アプリケーション変更 (プレビュー)
  • アプリケーションのクラッシュ
  • HTTP 4xx エラー
  • SNAT で失敗した接続エンドポイント
  • 可用性に対する SWAP 効果
  • TCP 接続
  • 運用環境でのテスト
  • Web ジョブの詳細

左側のナビゲーションに概要、Web アプリのダウン、Web アプリのパフォーマンスが低下する、高 CPU の分析、メモリの分析、Web アプリの再起動、アプリケーション変更 (プレビュー)、アプリケーションのクラッシュ、HTTP 4xx エラー、SNAT で失敗した接続エンドポイント、SNAT ポート不足、可用性に対する SWAP 効果、TCP 接続、運用環境でのテスト、Web ジョブの詳細が表示され、過去 24 時間のアプリ使用状況に関する規定の可用性ダッシュボードが日付と時刻の選択インターフェイスと一緒に表示される、App Service の [問題の診断と解決] の可用性とパフォーマンス カテゴリのホームページ。

診断レポート

問題をさらに詳しく調べるためにトピックをクリックすると、多くの場合はグラフとマークダウンが提供され、トピックに関する詳細をさらに閲覧できます。 診断レポートは、アプリでの問題を正確に特定するための優れたツールになる場合があります。 Web アプリの可用性とパフォーマンスの低下を次に示します。

可用性チャート、Organic SLA のパーセンテージ、検出された問題の監視とソリューションを表示する、Web アプリのダウン診断が選択された App Service の [問題の診断と解決] の可用性とパフォーマンス カテゴリのホームページ。

回復性スコア

調整されたベスト プラクティスの推奨事項を確認するには、回復性スコア レポートを確認してください。 これはダウンロード可能な PDF レポートとして入手できます。 これを取得するには、いずれかのトラブルシューティング カテゴリのコマンド バーにある [Get Resilience Score report] (回復性スコア レポートの取得) ボタンをクリックしてください。

アプリの回復性スコアとアプリの回復性を強化するためにアプリ開発者が実行できることを示すゲージが付いた、App Service の [問題の診断と解決] の回復性スコア レポート。

アプリケーション コードの問題を調査する (Windows アプリのみ)

多くのアプリの問題は、アプリケーション コードの問題に関連しているため、App Service 診断は、Application Insights と統合して、選択されたダウンタイムと相関する例外と依存関係の問題を明らかにします。 Application Insights は、個別に有効化する必要があります。

Application Insights

Application Insights の例外と依存関係を表示するには、 [Web App Down](Web アプリ停止) または [Web App Slow](Web アプリの低速化) タイル ショートカットを選択します。

トラブルシューティングの手順

過去 24 時間以内に特定の問題カテゴリでの問題が検出された場合は、全体の診断レポートを表示することができます。また、トラブルシューティングの詳しいアドバイスや、ガイド付きのエクスペリエンスへさらに進むために、App Service 診断によって次のステップへと誘導される場合もあります。

Application Insights およびトラブルシューティングと次のステップ

診断ツール

診断ツールには、アプリケーション コードの問題、低速化、接続文字列などを調査できるより高度な診断ツールに加えて、 CPU 使用量、要求、およびメモリの問題を緩和できるプロアクティブ ツールが用意されています。

プロアクティブ CPU 監視 (Windows アプリ専用)

プロアクティブ CPU 監視では、お使いのアプリやアプリの子プロセスにおいて多くの CPU リソースを費やしている場合に対策を取るための、簡単かつ事前対応型の方法を提供しています。 高い CPU 負荷の問題を一時的に緩和するために、予期しない問題の実質的な原因が検出されるまで、独自の CPU しきい値ツールを設定できます。 詳細については、「Mitigate your CPU problems before they happen (CPU の問題を発生する前に軽減する)」を参照してください。

プロアクティブ CPU 監視

自動復旧

自動復旧は、アプリで予期しない動作が発生した場合に実行できる軽減策です。 要求数、低速の要求、メモリ制限、および HTTP ステータス コードに基づいて独自のルールを設定し、軽減のアクションをトリガーできます。 ツールを使用して、根本的な原因が見つかるまで、予期しない動作を一時的に軽減します。 ツールは、現在、Windows Web アプリ、Linux Web アプリ、および Linux カスタム コンテナーに対して使用できます。 サポートされている条件と軽減策は、Web アプリの種類によって異なります。 詳細については、「Announcing the new auto healing experience in app service diagnostics (アプリ サービス診断における新しい自動復旧エクスペリエンスの告知)」と「Announcing Auto Heal for Linux (Linux の自動復旧の告知)」を参照してください。

自動復旧

プロアクティブ自動復旧 (Windows アプリ専用)

プロアクティブ CPU 監視と同様に、プロアクティブ自動復旧は、アプリの予期しない動作を緩和するためのターンキー ソリューションです。 アプリが復旧不可能な状態であると App Service で判断されると、プロアクティブ自動復旧によってアプリが再起動されます。 詳細については、「Introducing Proactive Auto Heal (プロアクティブな自動修復の概要)」を参照してください。

継続的インテグレーションが使用されていて、アプリに多くの依存関係がある大規模なチームでは、異常な動作を引き起こす特定の変更を明らかにするのが困難な場合があります。 ナビゲーターを使用すると、同じサブスクリプション内にあるアプリとすべてのリソースの依存関係マップが自動的にレンダリングされるため、アプリのトポロジを可視化するのに役立ちます。 ナビゲーターを使用すると、アプリとその依存関係によって行われた変更の統合リストを表示し、異常な動作を引き起こす変更を絞り込むことができます。 ホームページの [ナビゲーター] タイルからアクセスでき、初めて使用する前に有効にする必要があります。 詳しくは、「ナビゲーターでアプリの依存関係を可視化する」をご覧ください。

ナビゲーターの既定ページ

差分ビュー

アプリの変更の変更分析には、 [Availability and Performance](可用性とパフォーマンス) のタイル ショートカット [Application Changes](アプリケーションの変更) および [Application Crashes](アプリケーションのクラッシュ) を通じてアクセスできるので、他のメトリックと同時に使用できます。 機能を使用する前に、最初に有効にする必要があります。 詳しくは、「App Service 診断での新しい変更分析エクスペリエンスの告知」をご覧ください。

質問またはフィードバックは、UserVoice でタイトルに "[Diag]" を付けて投稿してください。

その他のリソース

チュートリアル: ロード テストを実行して Web アプリのパフォーマンスのボトルネックを特定する