次の方法で共有


Live Metrics: 1 秒の待機時間での監視と診断

Application Insights の Live Metrics (QuickPulse とも呼ばれています) を使用して、実稼働中の Web アプリケーションを監視します。 メトリックやパフォーマンス カウンターを選択してフィルター処理し、サービスに支障をきたすことなく、リアルタイムで監視できます。 失敗した要求と例外のサンプルからスタック トレースを確認することもできます。 Live Metrics をプロファイラースナップショット デバッガーと併用することにより、実稼働中の Web サイト向けの強力で非侵襲的な診断ツールを利用できます。

Note

Live Metrics では、TLS 1.2 のみがサポートされます。 詳細については、トラブルシューティングのヒントに関するページをご覧ください。

Live Metrics を使用すると、次のことが可能になります。

  • 修正がリリースされている間に、パフォーマンスと失敗の数を確認して、修正を検証します。
  • テスト負荷の影響を監視し、問題をライブで診断します。
  • 監視するメトリックを選択してフィルタリングすることにより、特定のテスト セッションに焦点を当てたり、既知の問題を除外したりできます。
  • 発生時に例外トレースを取得します。
  • フィルターを試して、最も関連性の高い KPI を検索します。
  • すべての Windows パフォーマンス カウンターをライブで監視します。
  • 問題が発生しているサーバーを簡単に特定し、すべての KPI/ライブ フィードをフィルター処理してそのサーバーだけに絞り込むことができます。

[Live Metrics] タブを示すスクリーンショット。

現在、Live Metrics は ASP.NET、ASP.NET Core、Azure Functions、Java、Node.js のアプリでサポートされています。

Note

Live Metrics によって表示される監視対象のサーバー インスタンス数は、アプリケーションに割り当てられている実際のインスタンス数よりも少ない場合があります。 多くの最新の Web サーバーが、リソースを節約するために、一定の時間にわたって要求を受信しないアプリケーションをアンロードするため、この不整合が発生します。 Live Metrics を使用すると、アプリケーションを現在実行しているサーバーのみがカウントされるため、プロセスを既にアンロードしているサーバーはその合計には含まれません。

作業の開始

重要

Application Insights を有効にするには、Azure portal でそれがアクティブにされていることと、アプリで最新バージョンの Azure Monitor OpenTelemetry Distro またはクラシック Application Insights NuGet パッケージを使っていることを確認します。 NuGet パッケージを使用しない場合、一部のテレメトリが Application Insights に送信されますが、そのテレメトリは [Live Metrics] ペインには表示されません。

  1. 言語固有のガイドラインに従い、Live Metrics を有効にします。
  • ASP.NET: サポートされていません。
  • ASP.NET Core: 既定で有効になっています。
  • Java: 既定で有効になっています。
  • Node.js: 既定で有効になっています。
  • Python: enable_live_metrics=Trueconfigure_azure_monitor に渡します。 詳細については、Azure Monitor OpenTelemetry Distro に関するドキュメントをご覧ください。
  1. Azure portal でアプリケーションの Application Insights リソースを開きます。 左側のメニューにある [調査] の下に一覧表示されている [Live Metrics] を選びます。

  2. フィルターに顧客名などの機密データを使用する場合は、コントロール チャネルを保護します。

注意

インストルメンテーション キーのインジェストのサポートは、2025 年 3 月 31 日に終了します。 インストルメンテーション キーのインジェストは引き続き機能しますが、この機能の更新プログラムやサポートは提供されなくなります。 接続文字列に移行することで、新機能をご利用いただけます。

Live Metrics がメトリックス エクスプローラーや Log Analytics と異なる点

機能 Live Stream メトリックス エクスプローラーと Log Analytics
Latency 1 秒以内に表示されるデータ。 数分間で集計。
リテンション期間なし データは、グラフに表示されている間は保持され、その後破棄されます。 データは 90 日間保持。
オン デマンド データは、[Live Metircs] ペインが開いている間のみストリーミングされます。 SDK がインストールされて有効になるたびに、データが送信されます。
Free Live Stream データの料金は発生しません。 価格設定の対象。
サンプリング 選択したすべてのメトリックとカウンターが送信されます。 失敗やスタック トレースがサンプリングされます。 イベントはサンプリングできます。
コントロール チャネル フィルターの制御シグナルが SDK に送信されます。 このチャネルをセキュリティで保護することをお勧めします。 通信はポータルへの一方向です。

メトリックの選択とフィルタリング

これらの機能は、ASP.NET、ASP.NET Core、Azure Functions (v2) で使用できます。

ポータルで Application Insights Telemetry に任意のフィルターを適用して、カスタム ライブ KPI を監視できます。 グラフをマウスでポイントしたときに表示されるフィルター コントロールを選択します。 次のグラフでは、URL期間の各属性にフィルターを適用して、カスタム要求数 KPI をプロットしています。 [ストリームのプレビュー] セクションでフィルターを検証します。このセクションには、指定した条件といずれかの時点で一致するテレメトリのライブ フィードが表示されます。

要求率のフィルター処理を示すスクリーンショット。

Count 以外の値を監視できます。 オプションはストリームの種類によって異なります。ストリームの種類には、任意の Application Insights テレメトリ (要求、依存関係、例外、トレース、イベント、メトリックなど) を指定できます。 また、独自のカスタム測定を指定することもできます。

要求率のクエリ ビルダーとカスタム メトリックを示すスクリーンショット。

Application Insights テレメトリと共に、任意の Windows パフォーマンス カウンターを監視することもできます。 ストリーム オプションから選択し、パフォーマンス カウンターの名前を指定します。

Live Metrics は 2 つのポイントで集計されます。具体的には、サーバーごとにローカルで集計された後、すべてのサーバーにわたって集計されます。 どちらについても、それぞれのドロップダウン リストで他のオプションを選択することで既定値を変更できます。

サンプル テレメトリ: カスタム ライブ診断イベント

既定では、イベントのライブ フィードには失敗した要求と依存関係呼び出し、例外、イベント、トレースのサンプルが表示されます。 フィルター アイコンを選択すると、任意の時点で適用された条件が表示されます。

[フィルター] ボタンを示すスクリーンショット。

メトリックと同様に、Application Insights Telemetry の種類のいずれかに任意の条件を指定できます。 この例では、特定の要求エラーとイベントを選択しています。

クエリ ビルダーを示すスクリーンショット。

Note

現時点では、例外メッセージ ベースの条件には、最も外側の例外メッセージを使用します。 前の例では、[The client disconnected](クライアントが切断されました) という内部例外メッセージ ("<--" 区切り記号の後) が示されている害のない例外を除外するために、[Error reading request content](要求内容の読み取りエラー) が含まれていないメッセージという条件を使用します。

ライブ フィードの項目を選択して、詳細を表示します。 フィードを一時停止するには、[一時停止] を選択するか、下にスクロールして項目を選択します。 スクロールして上部に戻るか、一時停止されている間に収集された項目のカウンターを選択すると、ライブ フィードが再開されます。

スクリーンショットには、例外が選択され、ウィンドウの下部に例外の詳細が表示された [サンプル テレメトリ] ウィンドウが示されています。

サーバー インスタンスによるフィルター処理

特定のサーバー ロール インスタンスを監視する場合は、サーバーでフィルター処理できます。 フィルターを適用するには、[サーバー] でサーバー名を選択します。

サンプリングされたライブ エラーを示すスクリーンショット。

コントロール チャネルの保護

Live Metrics のカスタム フィルターを使用すると、アプリケーションのテレメトリのうち、Azure portal 内の Live Metrics ペインにストリーミングされるテレメトリを制御できます。 フィルター条件は、Application Insights SDK でインストルメント化されたアプリに送信されます。 フィルター値に顧客 ID などの機密情報が含まれている可能性があります。 この値をセキュリティで保護し、認可されていないアプリケーションに開示される可能性を防ぐには、Microsoft Entra 認証を使用して Live Metrics チャネルをセキュリティで保護します。

Note

2025 年 9 月 30 日に、ライブ メトリック テレメトリを Application Insights にストリーミングするために使用される API キーが廃止されます。 その日を過ぎると、API キーを使用するアプリケーションは、Live Metrics データを Application Insights リソースに送信できなくなります。 Application Insights にストリーミングする Live Metrics の認証済みテレメトリ インジェストは、Application Insights に対する Microsoft Entra 認証を使用して実行する必要があります。

認証されたチャネルを設定せずにカスタム フィルターを試すことができます。 フィルター アイコンのいずれかを選択して、接続されたサーバーを承認します。 このオプションを選択する場合は、新しいセッションごとに、または新しいサーバーがオンラインになるたびに、接続されているサーバーを承認する必要があります。

警告

セキュリティで保護されていないチャネルを使用しないことを強くお勧めしす。このオプションは、使用を開始してから 6 か月後に無効になります。 [Authorize connected servers] (接続されたサーバーの承認) ダイアログに、このオプションが無効になる日付が表示されます。

[Authorize connected servers](接続されたサーバーの承認) ダイアログを示すスクリーンショット。

サポートされる機能の表

Language 基本メトリック パフォーマンス メトリック カスタム フィルター処理 サンプル テレメトリ プロセス別の CPU 分割
.NET Framework サポート対象 (LTS) サポート対象 (LTS) サポート対象 (LTS) サポート対象 (LTS) サポート対象 (LTS)
.NET Core (ターゲット =.NET Framework) サポート対象 (LTS) サポート対象 (LTS) サポート対象 (LTS) サポート対象 (LTS) サポート対象 (LTS)
.NET Core (ターゲット =.NET Core) サポート対象 (LTS) サポート対象* サポート対象 (LTS) サポート対象 (LTS) サポートされていません
Azure Functions v2 サポートされています サポート対象 サポート対象 サポート対象 サポートされていません
Java サポート対象 (V2.0.0 以降) サポート対象 (V2.0.0 以降) サポートされていません サポート対象 (V3.2.0 以降) サポートされていません
Node.js サポート対象 (V1.3.0 以降) サポート対象 (V1.3.0 以降) サポートされていません サポート対象 (V1.3.0 以降) サポートされていません
Python サポート対象 (ディストリビューションのバージョン 1.6.0 以上) サポートされていません サポートされていません サポートされていません サポートされていません

基本メトリックには、要求、依存関係、例外率が含まれます。 パフォーマンス メトリック (パフォーマンス カウンター) には、メモリと CPU が含まれます。 テレメトリのサンプルには、失敗した要求と依存関係、例外、イベント、トレースに関する詳細情報のストリームが表示されます。

PerfCounters のサポートは、.NET Framework を対象としない .NET Core のバージョンによって多少異なります。

  • PerfCounters メトリックは、Azure App Service for Windows (ASP.NET Core SDK バージョン 2.4.1 以降) で実行する場合にサポートされます。
  • PerfCounters は、.NET Core LTS 以降を対象とするアプリ用の任意の Windows マシンでアプリが実行されている場合にサポートされます。
  • PerfCounters は、最新バージョンでは、アプリの "実行場所" (Linux、Windows、Linux のアプリ サービス、コンテナーなど) を問わずサポートされますが、.NET Core LTS 以降を対象とするアプリに限られます。

トラブルシューティング

Live Metrics では、他の Application Insights テレメトリとは異なる IP アドレスを使用します。 これらの IP アドレスがファイアウォールで開いていることを確認してください。 また、サーバーのファイアウォールで、Live Metrics の発信ポートが開いていることを確認します。

Azure TLS 1.2 の移行に関するお知らせのページで説明されているように、Live Metrics では TLS 1.2 のみがサポートされるようになりました。 以前のバージョンの TLS を使用している場合、[Live Metrics] ペインにデータは表示されません。 .NET Framework 4.5.1 に基づくアプリケーションの場合は、クライアントでのトランスポート層セキュリティ (TLS) 1.2 の有効化 - Configuration Manager に関する説明を参照し、新しい TLS バージョンをサポートするようにしてください。

.NET の構成が見つかりません

  1. NuGet パッケージMicrosoft.ApplicationInsights.PerfCounterCollector の最新バージョンを使用していることを確認します。

  2. ApplicationInsights.config ファイルを編集します。

    • 接続文字列が、使用している Application Insights リソースを指していることを確認します。
    • QuickPulseTelemetryModule 構成オプションを見つけます。 ない場合は、追加します。
    • QuickPulseTelemetryProcessor 構成オプションを見つけます。 ない場合は、追加します。
    <TelemetryModules>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryModules>
    
    <TelemetryProcessors>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryProcessors>
    
  3. アプリケーションを再起動します

"データに一時的にアクセスできません" ステータス メッセージ

Live Metrics に移動すると、次のステータス メッセージのバナーが表示されることがあります: "データに一時的にアクセスできません。 状態に関する最新情報をこちらでお知らせします https://aka.ms/aistatus "

[Azure の状態] ページへのリンクに従って、Application Insights に影響を与えるアクティブ化の停止があるかどうかをチェックします。 停止が発生していない場合、ファイアウォールとブラウザー拡張機能が Live Metrics へのアクセスをブロックしていないことを確認します。 たとえば、いくつかの一般的な広告ブロッカー拡張機能は、*.monitor.azure.com への接続をブロックします。 Live Metrics の完全な機能を使うには、広告ブロッカー拡張機能を無効にするか、広告ブロッカーやファイアウォールなどにドメイン *.livediagnostics.monitor.azure.com の除外ルールを追加します。

livediagnostics.monitor.azure.com への予期しないほど多数の要求

Application Insights SDK では、REST API を使用して QuickPulse エンドポイントと通信します。これにより、Web アプリケーションのライブ メトリックが提供されます。 既定では、Azure portal で [Live Metrics] ウィンドウを表示している場合、SDK はエンドポイントを 5 秒ごとに 1 回ポーリングしてチェックします。

[Live Metrics] を開くと、SDK は高頻度モードに切り替わり、新しいメトリックを 1 秒ごとに QuickPulse に送信します。 これにより、1 秒の待機時間でライブ アプリケーションを監視および診断できるだけでなく、より多くのネットワーク トラフィックも生成されます。 通常のトラフィック フローを復元するには、[Live Metrics] ペインから移動します。

Note

SDK によって QuickPulse エンドポイントに対して行われた REST API 呼び出しは Application Insights で追跡されず、依存関係の呼び出しやその他のメトリックには影響しません。 ただし、他のネットワーク監視ツールに表示される場合があります。

次のステップ