Visual Studio の Azure Application Insights でアプリケーションをデバッグするDebug your applications with Azure Application Insights in Visual Studio

Visual Studio (2015 以降) では、Azure Application Insights からのテレメトリを使用して、ASP.NET Web アプリのパフォーマンスの分析と問題の診断を、デバッグ中と運用環境の両方において実行できます。In Visual Studio (2015 and later), you can analyze performance and diagnose issues in your ASP.NET web app both in debugging and in production, using telemetry from Azure Application Insights.

Visual Studio 2017 以降を使用して ASP.NET Web アプリを作成した場合は、Application Insights SDK が既に含まれています。If you created your ASP.NET web app using Visual Studio 2017 or later, it already has the Application Insights SDK. この操作をまだ行っていない場合は、アプリに Application Insights を追加してください。Otherwise, if you haven't done so already, add Application Insights to your app.

実際の運用環境でアプリを監視するには、通常、Azure Portal で Application Insights のテレメトリを確認します。Azure Portal では、アラートを設定し、強力な監視ツールを適用できます。To monitor your app when it's in live production, you normally view the Application Insights telemetry in the Azure portal, where you can set alerts and apply powerful monitoring tools. ただし、デバッグを行う場合は、Visual Studio でテレメトリを検索して分析することもできます。But for debugging, you can also search and analyze the telemetry in Visual Studio. Visual Studio を使用したテレメトリの分析は、運用サイトからも、開発用コンピューターでのデバッグの実行からも行うことができます。You can use Visual Studio to analyze telemetry both from your production site and from debugging runs on your development machine. 後者の場合、Azure Portal にテレメトリを送信するよう SDK をまだ構成していない場合でも、デバッグの実行を分析できます。In the latter case, you can analyze debugging runs even if you haven't yet configured the SDK to send telemetry to the Azure portal.

プロジェクトのデバッグDebug your project

F5 キーを使用して、ローカル デバッグ モードで Web アプリを実行します。Run your web app in local debug mode by using F5. ある程度のテレメトリを生成するために、複数のページを開きます。Open different pages to generate some telemetry.

Visual Studio では、プロジェクトの Application Insights モジュールによってログに記録されたイベント数を確認できます。In Visual Studio, you see a count of the events that have been logged by the Application Insights module in your project.

Visual Studio では、Application Insights ボタンはデバッグ時に表示されます。

このボタンをクリックして、テレメトリを検索します。Click this button to search your telemetry.

[Application Insights の検索] ウィンドウには、ログに記録されたイベントが表示されますThe Application Insights Search window shows events that have been logged. (Application Insights を設定する際に Azure にサインインした場合は、Azure Portal でも同じイベントを検索できます)。(If you signed in to Azure when you set up Application Insights, you can search the same events in the Azure portal.)

プロジェクトを右クリックし、[Application Insights]、[検索] を選択する

注意

フィルターを選択または選択解除した後、テキスト検索フィールドの末尾にある [検索] ボタンをクリックしてください。After you select or deselect filters, click the Search button at the end of the text search field.

フリー テキスト検索は、イベント内の任意のフィールドに使用できます。The free text search works on any fields in the events. たとえば、ページの URL の一部や、クライアントの市区町村などのプロパティ値、トレース ログの特定の単語などを検索できます。For example, search for part of the URL of a page; or the value of a property such as client city; or specific words in a trace log.

イベントをクリックすると、その詳細なプロパティが表示されます。Click any event to see its detailed properties.

Web アプリに対する要求では、クリックしてコードを表示できます。For requests to your web app, you can click through to the code.

[要求の詳細] でクリックしてコードを表示する

関連する項目を開いて、失敗した要求や例外を診断することもできます。You can also open related items to help diagnose failed requests or exceptions.

[要求の詳細] で下にスクロールし、関連する項目を表示する

例外と失敗した要求を表示するView exceptions and failed requests

例外のレポートは、[検索] ウィンドウに表示されますException reports show in the Search window. (古い種類の ASP.NET アプリケーションの一部では、フレームワークによって処理される例外が表示されるように、例外の監視を設定するする必要があります)。(In some older types of ASP.NET application, you have to set up exception monitoring to see exceptions that are handled by the framework.)

スタック トレースを取得するには、例外をクリックします。Click an exception to get a stack trace. Visual Studio でアプリのコードが開かれている場合は、コードの該当する行をスタック トレースからクリックできます。If the code of the app is open in Visual Studio, you can click through from the stack trace to the relevant line of the code.

Exception stack trace

コードに要求と例外の概要を表示するView request and exception summaries in the code

各ハンドラー メソッドの上にある CodeLens 行には、Application Insights によってログに記録された過去 24 時間の要求と例外の数が表示されます。In the Code Lens line above each handler method, you see a count of the requests and exceptions logged by Application Insights in the past 24 h.

Exception stack trace

注意

CodeLens に Application Insights のデータが表示されるのは、テレメトリを Application Insights ポータルに送信するようアプリを構成した場合のみです。Code Lens shows Application Insights data only if you have configured your app to send telemetry to the Application Insights portal.

CodeLens での Application Insights の詳細については、こちらを参照してください。More about Application Insights in Code Lens

傾向とは、時間経過に伴うアプリの動作を視覚化するためのツールです。Trends is a tool for visualizing how your app behaves over time.

Application Insights のツール バー ボタンか [Application Insights の検索] ウィンドウから、 [テレメトリの傾向を調べる] を選択します。Choose Explore Telemetry Trends from the Application Insights toolbar button or Application Insights Search window. 5 つの一般的なクエリから 1 つ選択して開始します。Choose one of five common queries to get started. テレメトリの種類、時間範囲、およびその他のプロパティに基づき、さまざまなデータセットを分析できます。You can analyze different datasets based on telemetry types, time ranges, and other properties.

データ内の異常を見つけるには、[ビューの種類] ボックスでいずれかの異常オプションを選択します。To find anomalies in your data, choose one of the anomaly options under the "View Type" dropdown. ウィンドウの下部にあるフィルター オプションを使用すると、テレメトリの特定の部分に対象を絞り込みやすくなります。The filtering options at the bottom of the window make it easy to hone in on specific subsets of your telemetry.

Trends

傾向について詳しくは、こちらを参照してください。More about Trends.

ローカル監視Local monitoring

Visual Studio 2015 Update 2 以降、Application Insights ポータルにテレメトリを送信するように SDK を構成していない (ApplicationInsights.config にインストルメンテーション キーが存在しない) 場合、診断ウィンドウには、直近のデバッグ セッションからのテレメトリが表示されます。(From Visual Studio 2015 Update 2) If you haven't configured the SDK to send telemetry to the Application Insights portal (so that there is no instrumentation key in ApplicationInsights.config) then the diagnostics window displays telemetry from your latest debugging session.

これは以前のバージョンのアプリを既に発行済みである場合に役立ちます。This is desirable if you have already published a previous version of your app. デバッグ セッションから得られたテレメトリが、Application Insights ポータル上の発行済みアプリから得られたテレメトリと混同されるのは望ましくありません。You don't want the telemetry from your debugging sessions to be mixed up with the telemetry on the Application Insights portal from the published app.

これは、ポータルにテレメトリを送信する前に、いくつかの カスタム テレメトリ をデバッグする場合にも役立ちます。It's also useful if you have some custom telemetry that you want to debug before sending telemetry to the portal.

  • 最初は、ポータルにテレメトリを送信するよう Application Insights を構成しましたが、今は、Visual Studio でテレメトリだけを表示したくなりました。At first, I fully configured Application Insights to send telemetry to the portal. But now I'd like to see the telemetry only in Visual Studio.

    • アプリからポータルにテレメトリを送信している場合でも、[検索] ウィンドウの [設定] に用意されているオプションでローカルの診断を検索できます。In the Search window's Settings, there's an option to search local diagnostics even if your app sends telemetry to the portal.
    • ポータルへのテレメトリの送信を中止するには、ApplicationInsights.config から <instrumentationkey>... 行をコメント アウトしてください。もう一度ポータルにテレメトリを送信する準備ができたら、コメント解除します。To stop telemetry being sent to the portal, comment out the line <instrumentationkey>... from ApplicationInsights.config. When you're ready to send telemetry to the portal again, uncomment it.

次の手順Next steps

データの追加Add more data
使用状況、可用性、依存関係、例外の監視。Monitor usage, availability, dependencies, exceptions. ログ記録フレームワークからのトレースを統合します。Integrate traces from logging frameworks. カスタム テレメトリを記述します。Write custom telemetry.
Visual studio
Application Insights ポータルの操作Working with the Application Insights portal
ダッシュボード、強力な診断および分析ツール、アラート、アプリケーションのリアルタイム依存関係マップ、エクスポートされたテレメトリ データを表示します。View dashboards, powerful diagnostic and analytic tools, alerts, a live dependency map of your application, and exported telemetry data.
Visual studio