Microsoft Foundry Toolkit でトレースを収集して検査する

Microsoft Foundry Toolkit for Visual Studio Codeを使用して、ローカル トレースを収集したり、Microsoft Foundry にデプロイされたエージェントのテレメトリを表示したりできます。 トレースは、要求に対して記録された操作をグループ化します。 各操作は、タイミング、状態、およびインストルメンテーションによって提供される属性またはイベントを含むスパンです。

この記事では、最初にローカル コレクション、次にデプロイされたエージェントのクラウド トレースについて説明します。 調査に一致するデータ ソースを選択します。

Approach これを次の目的に使用します。 データと責務
エージェントインスペクター ローカル リクエストを送信し、ライブ応答とツール イベントを検査し、ブレークポイントでコードを一時停止できます。 サーバーは、プロトコル イベントと開発診断を提供します。 この方法では、OTLP コレクターを必要とせず、クラウド トレース履歴も作成しません。
ローカル トレース 開発中に記録されたモデル、ツール、エージェントのスパンを比較します。 アプリケーションは、ツールキットのローカル コレクターにテレメトリをエクスポートします。 インストルメンテーションを構成し、格納されているローカル データを管理します。
ホステッド エージェントのトレース Foundry にデプロイされたエージェントによって処理された要求を調査します。 トレースは、プロジェクトの接続された Application Insights リソースに存在します。 アクセス、リテンション期間、および料金は、Azure リソース構成に従います。

ホステッド エージェントは、Foundry Agent Service でカスタム コードを実行します。 Foundry はホスティングを管理しますが、コードと依存関係については引き続き責任を負います。 トレースによって エージェントの作成とデプロイが置き換えられることはありません。

Prerequisites

ローカル コレクションには、Application Insights またはクラウド テレメトリのアクセス許可は必要ありません。 モデル呼び出しとツールの実行では、引き続きリモート サービスを使用でき、料金が発生します。

ローカル トレースを収集する

ローカル コレクターは、OpenTelemetry Protocol (OTLP) 経由でテレメトリを受信します。 アプリケーションは自動的にインストルメント化されません。 フレームワークまたはインストルメンテーション ライブラリでは、スパンを作成し、コレクターにエクスポートする必要があります。

SDK と言語のセットアップ

インストルメンテーションが組み込まれた SDK には、引き続きエクスポーターが必要です。 その他の SDK では、個別のインストルメンテーション パッケージが使用されます。

SDK またはフレームワーク Python JavaScript と TypeScript (Node.js)
Microsoft Agent Framework 組み込みの OpenTelemetry インストルメンテーション。 専用のツールキットのセットアップ ガイダンスはありません。
Azure AI 推論 SDK (プレビュー) Azure SDK インストルメンター。 Azure SDK インストルメンテーション.
Foundry Projects SDK クライアント側インストルメンター (プレビュー)。 基になる OpenAI または Azure SDK クライアントをインストルメント化します。
Foundry classic Agents SDK Azure SDK インストルメンター 専用のツールキットのセットアップ ガイダンスはありません。
Anthropic OpenLLMetry instrumentor。 Traceloop インストルメンテーション。
Google GenAI (Gemini) Google GenAI OpenTelemetry Instrumentor。 専用のToolkitセットアップ ガイドはありません。
LangChain OpenLLMetry インストルメンター。 Traceloop インストルメンテーション。
OpenAI SDK (Azure OpenAI クライアントを含む) OpenLLMetry インストルメンター。 Traceloop インストルメンテーション。
OpenAI エージェント SDK OpenLLMetry トレースプロセッサ。 専用のツールキットのセットアップ ガイダンスはありません。

"No dedicated Toolkit setup guidance" は、その言語向けに SDK 固有のセットアップ パスがここにはないという意味であり、コレクターがそのテレメトリを拒否するという意味ではありません。 コレクターは OTLP データを受け入れます。 インストルメンターは、キャプチャされる操作とメッセージの詳細を決定します。

これらの例では、互換性のあるライブラリの完全な一覧ではなく、選択したインストルメンテーション オプションを使用します。 OpenLLMetry および Traceloop インストルメンテーションは、Microsoft以外のライブラリです。

計測を設定する

既存の Python Agent Framework アプリケーションでこの手順を使用します。 このチュートリアルでは、エージェントとコレクターを同じローカル環境に保持します。

  1. アクティビティ バーで Foundry Toolkit を選択し、開発者ツール>Monitor>Tracing。

  2. アプリケーションを実行する前に、[コレクターの起動] を選択してください。

  3. アプリケーションのPython環境で、依存関係でまだ宣言されていない場合は、gRPC エクスポーターをインストールします。

    python -m pip install opentelemetry-exporter-otlp-proto-grpc
    

    リファレンス: OpenTelemetry Python OTLP エクスポーター。

  4. エージェントを構築または実行する前に、アプリケーションの起動時に OpenTelemetry を 1 回構成します。

    import os
    
    os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = "http://localhost:4317"
    os.environ["OTEL_EXPORTER_OTLP_PROTOCOL"] = "grpc"
    
    from agent_framework.observability import configure_otel_providers
    
    configure_otel_providers(enable_sensitive_data=False)
    

    リファレンス: エージェント フレームワークの可観測性。

    アプリケーションまたはホスティング ライブラリで既に OpenTelemetry プロバイダーが構成されている場合は、別のプロバイダーセットアップを追加するのではなく、既存のエクスポーターを構成します。 シグナル固有の OTEL_EXPORTER_OTLP_*_ENDPOINT 変数は、基本エンドポイントをオーバーライドできます。 他の場所を指す既存のトレース、ログ、またはメトリックの設定を確認します。

  5. 通常のエントリ ポイントでアプリケーションを実行し、エージェントを動作させるリクエストを送信します。 要求を完了させ、プロセスを停止する前に、テレメトリを送信する時間をエクスポーターに与えてください。

  6. トレース で 更新 を選択し、新しいトレースを選択してそのスパンを検査します。

Agent Framework は、サポートされているモデル クライアント、エージェント、およびワークフロー操作をインストルメント化します。 他のフレームワークでは、インストルメンテーション ライブラリが必要になる場合があります。 OTLP の互換性により、コレクターはデータを受信できます。一方、出力される属性と 生成型 AI セマンティック規則によって ビューアーに表示される内容が決まります。

別の SDK または言語の場合は、Agent Framework の構成ではなく、以下のセットアップを使用してください。 まずコレクターを起動し、クライアントを作成する前にインストルメンテーションを構成してから、アプリケーションを実行してトレースリストを更新します。

実行中のローカル OTLP コレクターと gRPC エンドポイントと HTTP エンドポイント、および設定されたトレース リストのスクリーンショット。

コレクターエンドポイント

エクスポーター プロトコルをコレクター エンドポイントと一致させます。 ツールキットは、次の既定値で localhost で待ち受けます。

輸出者 エンドポイント
OTLP gRPC http://localhost:4317
OTLP HTTP トレース エクスポーター http://localhost:4318/v1/traces
OTLP HTTP ログ エクスポーター http://localhost:4318/v1/logs

一部の HTTP エクスポーターは、 http://localhost:4318 を受け入れ、シグナル パス自体を追加します。 パスを2回追加するのではなく、エクスポーターの設定に従ってください。 一部のインストルメンテーションライブラリでは、メッセージ内容をログレコードとして送信するため、スパンだけをエクスポートしても、入力と出力の詳細が含まれない場合があります。

これらのポートは、エージェントの HTTP サーバーとデバッガーのポートとは関係ありません。 コンテナーまたはリモート開発環境では、localhostはその環境を指します。 接続先がデスクトップであると決めつけるのではなく、コレクターへの適切な接続を確立してください。

Python SDK のセットアップ

以下の例では、アプリケーションがモデル SDK、資格情報、およびモデル構成をすでに備えていることを前提としています。 次の表に示す、お使いの SDK 用の共有依存関係と追加パッケージをインストールします。

python -m pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http

リファレンス: OpenTelemetry Python SDK、OTLP エクスポーター。

アプリケーションの起動時にこの共有セットアップを一度追加し、その後、表の1行に対応するインストルメンテーションを追加します。 別のライブラリのプロバイダーのセットアップと組み合わせないでください。

import os

os.environ["TRACELOOP_TRACE_CONTENT"] = "false"
os.environ["OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT"] = "false"
os.environ["AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED"] = "false"

from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import (
    OTLPSpanExporter,
)

provider = TracerProvider(
    resource=Resource.create({"service.name": "my-agent"})
)
provider.add_span_processor(BatchSpanProcessor(
    OTLPSpanExporter(endpoint="http://localhost:4318/v1/traces")
))
trace.set_tracer_provider(provider)

リファレンス: TracerProvider およびスパンプロセッサ、OTLPSpanExporter。

選択した行で、python -m pip install <package> を使用してパッケージをインストールします。 OpenAI、Anthropic、LangChain、および別個の OpenAI Agents の例では、Microsoft 以外の OpenLLMetry インストルメンテーションを使用します。 SDK のバージョンやモデル API によって、返される詳細情報が異なる場合があります。

SDK 追加のパッケージ 共通セットアップ後の計測
Azure OpenAI クライアントを含む OpenAI opentelemetry-instrumentation-openai from opentelemetry.instrumentation.openai import OpenAIInstrumentor
OpenAIInstrumentor().instrument()
Anthropic opentelemetry-instrumentation-anthropic from opentelemetry.instrumentation.anthropic import AnthropicInstrumentor
AnthropicInstrumentor().instrument()
LangChain opentelemetry-instrumentation-langchain from opentelemetry.instrumentation.langchain import LangchainInstrumentor
LangchainInstrumentor().instrument()
Google GenAI opentelemetry-instrumentation-google-genai os.environ["OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT"] = "NO_CONTENT"
from opentelemetry.instrumentation.google_genai import GoogleGenAiSdkInstrumentor
GoogleGenAiSdkInstrumentor().instrument()
Foundry Projects クライアント側トレース (プレビュー) azure-core-tracing-opentelemetryに加えてazure-ai-projects os.environ["AZURE_EXPERIMENTAL_ENABLE_GENAI_TRACING"] = "true"
from azure.ai.projects.telemetry import AIProjectInstrumentor
AIProjectInstrumentor().instrument(enable_content_recording=False)
Foundry classic Agents SDK azure-core-tracing-opentelemetryと併せてazure-ai-agents os.environ["AZURE_SDK_TRACING_IMPLEMENTATION"] = "opentelemetry"
from azure.ai.agents.telemetry import AIAgentsInstrumentor
AIAgentsInstrumentor().instrument()
Azure AI 推論 SDK (プレビュー) azure-core-tracing-opentelemetryと共に azure-ai-inference os.environ["AZURE_SDK_TRACING_IMPLEMENTATION"] = "opentelemetry"
from azure.ai.inference.tracing import AIInferenceInstrumentor
AIInferenceInstrumentor().instrument()

Foundry Projects の場合は、クライアント側のトレース ガイダンスに従い、インストルメンテーション後に OpenAI クライアントを作成してください。 このガイダンスは 従来の Agents SDK とは異なります。 AIProjectInstrumentorと別の OpenAI インストルメンタの両方で同じ OpenAI 呼び出しをインストルメント化しないでください。

OpenAI Agents SDK の場合は、opentelemetry-instrumentation-openai-agentsをインストールし、共有セットアップの後に次のコードを追加します。

from agents import set_trace_processors
from opentelemetry.instrumentation.openai_agents import OpenAIAgentsInstrumentor

set_trace_processors([])
OpenAIAgentsInstrumentor().instrument()

リファレンス: OpenAI エージェントのインストルメンテーション、OpenAI エージェントのトレーシング。

この例では、OpenTelemetry プロセッサを追加する前に、既存のトレース プロセッサを置き換えます。 その置き換えがなければ、SDK はトレースを既定のバックエンドにエクスポートすることもできます。 既存のプロセッサがある場合は、トレース先を変更する前に確認してください。 OpenTelemetry プロセッサがイベントを受け取るように SDK トレースを有効のままにします。

短時間で終了するアプリケーションがその要求を完了したら、バッファースパンを送信するために終了する前に provider.force_flush() を呼び出します。 これらのスニペットを調整する際は、ツールキットのトレース コード生成ツールを使用してください。

メッセージ ログ レコードをエクスポートする

一部のインストルメンターは、スパン属性ではなく OpenTelemetry ログ レコードとしてメッセージ コンテンツを出力します。 そのコンテンツを制御された開発テストに記録する場合は、前述の Python トレース プロバイダーと共にこのセットアップを 1 回追加します。

from opentelemetry import _logs
from opentelemetry.sdk._logs import LoggerProvider
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter

logger_provider = LoggerProvider(resource=provider.resource)
logger_provider.add_log_record_processor(BatchLogRecordProcessor(
    OTLPLogExporter(endpoint="http://localhost:4318/v1/logs")
))
_logs.set_logger_provider(logger_provider)

リファレンス: OpenTelemetry Python ログ SDK、OTLPLogExporter。

短時間しか実行されないアプリケーションを終了する前に、logger_provider.force_flush() を呼び出します。 ログ エクスポーターは、コンテンツ キャプチャを単独で有効にしません。 インストルメントーのコンテンツ設定とデータ処理に関するガイダンスに従ってください。

JavaScript と TypeScript SDK のセットアップ

Node.js アプリケーションの場合は、1 つのトレース プロバイダーを共有し、SDK のインストルメンテーションを登録してください。 この例では、CommonJS と OpenTelemetry JavaScript 2.x プロバイダー構成を使用します。 CommonJS にコンパイルされた TypeScript アプリケーションでは、同じ初期化順序を使用できます。

アプリケーションには、モデル SDK、資格情報、およびモデル構成が既に備わっている必要があります。 共有依存関係と OpenAI instrumentor をインストールします。

npm install @opentelemetry/api @opentelemetry/sdk-trace-node \
  @opentelemetry/sdk-trace-base @opentelemetry/exporter-trace-otlp-proto \
  @opentelemetry/instrumentation @traceloop/instrumentation-openai

リファレンス: OpenTelemetry JavaScript エクスポーター、 OpenAI インストルメンテーション。

tracing.cjsを作成します。

const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const {
  OTLPTraceExporter
} = require('@opentelemetry/exporter-trace-otlp-proto');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { OpenAIInstrumentation } = require('@traceloop/instrumentation-openai');

const provider = new NodeTracerProvider({
  spanProcessors: [
    new BatchSpanProcessor(new OTLPTraceExporter({
      url: 'http://localhost:4318/v1/traces'
    }))
  ]
});
provider.register();

registerInstrumentations({
  instrumentations: [new OpenAIInstrumentation({ traceContent: false })]
});

module.exports = provider;

リファレンス: NodeTracerProvider、 OpenAI インストルメンテーション。

モデル SDK をインポートまたは require する前に、このファイルを読み込みます。 たとえば、CommonJS アプリケーションでは node --require ./tracing.cjs app.cjs を実行します。 別の SDK の場合は、OpenAI パッケージ、インポート、登録エントリを対応する行の内容に置き換えます。

SDK 計測パッケージ インポートと登録エントリ
Azure OpenAI クライアントを含む OpenAI @traceloop/instrumentation-openai const { OpenAIInstrumentation } = require('@traceloop/instrumentation-openai');
new OpenAIInstrumentation({ traceContent: false })
Anthropic @traceloop/instrumentation-anthropic const { AnthropicInstrumentation } = require('@traceloop/instrumentation-anthropic');
new AnthropicInstrumentation({ traceContent: false })
LangChain @traceloop/instrumentation-langchain const { LangChainInstrumentation } = require('@traceloop/instrumentation-langchain');
new LangChainInstrumentation({ traceContent: false })
Azure AI 推論を含むAzure SDK操作 @azure/opentelemetry-instrumentation-azure-sdk const { createAzureSdkInstrumentation } = require('@azure/opentelemetry-instrumentation-azure-sdk');
createAzureSdkInstrumentation()

Traceloop パッケージは、Microsoft 製ではないインストルメンテーションです。 Foundry Projects アプリケーションの場合は、モデル要求を行うクライアントをインストルメント化します。 Azure SDKインストルメンテーションでは、OpenAI クライアントを介して行われた呼び出しの OpenAI インストルメンテーションは置き換えられません。

ネイティブ ECMAScript モジュールの場合は、OpenTelemetry の ESM セットアップに従ってください。 ターゲット SDK の後にインストルメンテーションを読み込むと、呼び出しが計測されない可能性があります。 シャットダウン時に、要求の完了後に provider.shutdown() を待機して、バッファーに格納されたスパンをエクスポートします。

Important

これらの例では、一覧に示されている GenAI インストルメンターのメッセージ コンテンツ キャプチャを無効にします。 これは一般的な墨消し保証ではありません。 データを共有する前に、他のエクスポーター、SDK ログ、スパン属性、およびカスタム インストルメンテーションを確認してください。 サポートされているパッケージと API については、リンクされたインストルメント化ツールのドキュメントを参照してください。

ローカル トレースの検査と管理

スパン ツリーを使用して、エージェント オーケストレーションからモデルおよびツール操作まで要求を追跡します。

  1. 低速または失敗したスパンを選択します。
  2. その継続時間と状態を調べます。
  3. インストルメンテーションによって指定された場合は、記録されたメッセージの 入力と出力 を開くか、スパン属性の メタデータ を開きます。

これらの例では、機密性の高いコンテンツキャプチャがオフに保たれます。 メッセージのないタイミング データは、期待される結果になる可能性があります。

制御された Agent Framework 開発テストの場合は、既存の構成内で enable_sensitive_data=True を設定して、サポートされているプロンプト、応答、およびツールのコンテンツを記録します。 テストの完了後、False に復元します。 他のインストルメンターは、独自のコンテンツ設定を持っています。

注意事項

コンテンツの記録により、個人データ、シークレット、ツールの引数、結果が記録される可能性があります。 機密ではないテスト データを使用し、テレメトリに入る前にコンテンツを最小化または墨消しします。 空の入力ビューと出力ビューを埋めるためだけに、実稼働コンテンツの記録を有効にしないでください。

要求、トレース、会話の識別子が伏せられた、ローカル ワークフロー スパン ツリーと選択したスパンの [メタデータ] タブのスクリーンショット。

収集されたトレースは、ユーザー ホーム フォルダーの下にあるtracingの.aitkサブディレクトリ内の、traces.dbという名前のローカル SQLite データベースに保持されます。 ビューアーを閉じても削除されません。

コレクターを停止 を選択してローカル コレクションを停止します。 エージェントとそのモデル呼び出しは引き続き実行中です。 ローカル レコードを削除するには、一覧からトレースを選択し、[削除] を選択します。

ローカル ストレージは Application Insights とは別です。 ローカル トレースを削除してもクラウド テレメトリは削除されません。インスペクターで会話をクリアしても、どちらのストアからも削除されません。

hosted-agent トレースを表示する

デプロイ後は、ローカル プロセスではなく、クラウド トレースを使用して Foundry で実行されているエージェントを調査します。 ツールキットは、プロジェクトの接続された Application Insights リソースに対してクエリを実行します。 あなたのローカル トレース データベースはアップロードしません。

開始する前に クラウドの前提条件を 確認してください。 エージェントへのアクセスだけでは、テレメトリのクエリを実行するアクセス許可は付与されません。

Application Insights を接続して要求を検査する

エージェントの トレース タブを使用して Application Insights に接続し、デプロイされたエージェント要求を見つけます。

  1. Foundry Toolkit サイドバーで、[ マイ リソース>Agents] を開きます。 [ Hosted Agent ] タブを選択し、エージェントの名前を選択します。

  2. トレース を選択します。 プロジェクトに接続されているリソースがない場合は、[App Insights を有効にする] を選択します。

  3. App Insights の設定で、既存の Application Insights リソース名を選択します。 または、リソースを作成し、必要なリソース フィールドとワークスペース フィールドに入力します。 送信 を選択し、確認メッセージが表示されるまで待ちます。

    これは、ローカル ワークスペースの設定ではなく、プロジェクトの共有の Application Insights 接続を変更します。 リソースの作成とテレメトリの収集には、Azure料金が発生する可能性があります。 提出する前に、対象のプロジェクトとリソースを確認します。

  4. Playground に戻り、デプロイされたエージェントにテストリクエストを送信します。

  5. データが取り込まれるまでしばらく待ってから、トレース を再度開きます。 時間範囲、会話 ID で検索、状態、または 期間 フィルターを使用して、リクエストを特定します。

    リソースと要求の識別子が伏せられた、hosted-agent トレース フィルターと完了した要求のスクリーンショット。

  6. トレースを選択し、次にスパンを選択して、コンテンツを利用できる場合はメタデータと入力 + 出力を確認します。

会話に関連付けられている操作を検査するには、トレース一覧でその 会話 ID を 選択します。 会話ビューには、操作ツリーとメタデータが表示されます。

リソースと会話の識別子が編集された、エージェント、モデル、およびツールの操作とメタデータを使用したホスト型エージェントの会話のスクリーンショット。

Application Insights を接続することで、Foundry のサーバー側トレースを有効にします。 モデル呼び出し、ツール呼び出し、およびカスタム コードの可視性は、ホスティング ライブラリとフレームワークのインストルメンテーションにも依存します。 サービス側のコレクションと追加のクライアント インストルメンテーションについては、「 Foundry でのトレースの設定 」を参照してください。

ツールキットのトレース詳細クエリは、現在、直近7日間を対象としています。 これはクエリウィンドウであって、保持設定ではありません。 古いデータについては、接続先ワークスペースの保持構成に応じて、Foundry ポータルまたは Azure Monitor を使用します。

データ、アクセス、リテンション期間、コスト

コンテンツ キャプチャを有効にしたりクラウド リソースを接続したりする前に、テレメトリの送信先を決めてください。 同じリクエストによって、ローカルスパン、クラウドテレメトリ、およびモデルまたはツールのプロバイダーに送信されるデータを生成できます。

データソース Responsibilities
ローカルトレース ローカル データベースとコピーされたデータへのアクセスを保護します。 コレクターを停止しても、アプリケーションで構成されている他のエクスポーターは停止されません。
クラウドトレース Application Insights とLog Analyticsは、アクセス、リテンション期間、テレメトリの料金を制御します。 ツールキット フィルターでは、これらのポリシーは変更されません。
モデルとツールの呼び出し ローカル コレクションでは、要求がコンピューターの外部に送信されることを防ぐことはありません。 Microsoft以外のツールを含め、接続されているすべてのサービスのデータ処理を確認します。

セキュリティとプライバシーおよびデータの保持とコストについては、Foundry トレース ガイダンスを使用します。 production identity、ネットワーク分離、ダウンストリーム アクセスについては、ホステッド エージェントのセキュリティとデータ処理に従ってください。 ローカル認証情報は、デプロイされたエージェントのアクセス許可として扱わないでください。

Troubleshooting

Issue 確認すべきこと
トレース はサイドバーでは使用できません。 現在の拡張機能がインストールされ、実行する環境で有効になっていることを確認してください。 ローカル トレースには、ネイティブ SQLite コンポーネントの読み込みが必要です。
コレクターが起動しません。 ポート 4317 または 4318 を使用している別のプロセスがないか確認し、ツールキットの出力を確認します。 同じポートでコレクター同士が競合しないようにしてください。
ローカル要求は成功しますが、トレースは表示されません。 リクエスト前にインストルメンテーションが実行されていることを確認し、コレクターが実行中であり、エクスポーターが正しいプロトコルとエンドポイントを使用していることを確認します。 エンドポイントのオーバーライド、エクスポーター エラー、バッファー内のテレメトリを確認し、[ 最新の情報に更新] を選択します。
メッセージがない span が表示されます。 コンテンツ記録の設定とサポートされている属性を確認します。 一部のライブラリには、ログ エクスポーターも必要です。 コンテンツが見つからない場合、コレクションが失敗したとは限りません。
クラウド トレースは空です。 プロジェクトと Application Insights の接続を確認し、新しいトラフィックを生成し、時間範囲を拡張して、インジェストの遅延を許可します。
クラウド クエリは承認エラーで失敗します。 サービスの前提要件を使用して、保護されたテーブルを含む Application Insights と Log Analytics に対する読み取りアクセスを確認します。
古いトレースには、ツールキットで詳細がありません。 詳細クエリには 7 日間が含まれます。 Foundry または Azure Monitor の古い保持レコードに対してクエリを実行します。