このページでは、Agent Gateway デプロイを介してルーティングされたトラフィックのログの表示、リクエストのモニタリング、分散トレースの追跡を行う方法について説明します。
ロギング
Agent Gateway のログは、networkservices.googleapis.com/Gateway モニタリング対象リソースを使用して生成されます。
これらのログを使用して、ゲートウェイへのアクセス リクエストをモニタリングできます。これには、Agent Gateway がドライラン モードでデプロイされたときに作成されたログが含まれます。
特定のゲートウェイのログを表示する
特定のゲートウェイのログを表示するには、次の操作を行います。
コンソール クエリ
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
[クエリを表示] をクリックします。
または、クエリ フィールドに次の内容を貼り付けます。
resource.type="networkservices.googleapis.com/Gateway" resource.labels.location="REGION" resource.labels.gateway_name="AGENT_GATEWAY_NAME"
次のように置き換えます。
REGION: ゲートウェイのリージョン。AGENT_GATEWAY_NAME: ゲートウェイの名前。
[クエリを実行] をクリックします。
Agent Platform のログ名
ログ エクスプローラで特定のタイプのログエントリをクエリするには、logName フィールドを使用してログ名でクエリをフィルタします。次の表に、Agent Gateway とエージェント側のオペレーションによって生成される主なログ名を示します。
| ログ名 | 説明 |
|---|---|
projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests |
ゲートウェイの許可と拒否の決定に関するログ。 |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access |
Identity-Aware Proxy(IAP)AuthorizeUser の決定の Cloud Audit Logs。 |
projects/PROJECT_ID/logs/aiplatform.googleapis.com%2Freasoning_engine_stderr |
エージェント側の起動エラーと実行エラー(推論エンジン stderr)。 |
projects/PROJECT_ID/logs/aiplatform.googleapis.com%2Freasoning_engine_stdout |
エージェント側の標準出力(推論エンジン stdout)。 |
PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。
コンテンツのサニタイズに Model Armor を使用する場合、これらのログは個別に発行されます。Model Armor ログのクエリの手順については、ログ エクスプローラで未加工のコンテンツ セキュリティ ログを表示するをご覧ください。
ログの内容
Agent Gateway のログエントリには、ゲートウェイとの間のトラフィックのモニタリングとデバッグに役立つ情報が含まれています。
| フィールド | フィールドの形式 | フィールドのタイプ: 必須または省略可 | 説明 |
|---|---|---|---|
| severity insertID timestamp receiveTimestamp trace traceSampled logName |
LogEntry | 必須 | ログエントリで説明されている一般的なフィールド。 |
| httpRequest | HttpRequest | 必須 | HTTP リクエストをロギングするための共通プロトコル。 |
| resource | MonitoredResource | 必須 |
|
| jsonPayload | object(Struct 形式) | 必須 | JSON オブジェクトとして表されるログエントリ ペイロード。JSON オブジェクトには、次の Agent Gateway フィールドが含まれています。
|
モニタリング
Agent Gateway は、一部の Service Extensions 指標を Cloud Monitoring にエクスポートします。認可を Service Extensions に委任する場合は、これらの指標を使用して、拡張機能との間のトラフィックをモニタリングできます。詳細については、Cloud Load Balancing のコールアウトのロギングとモニタリングをご覧ください。
オブザーバビリティ ダッシュボード
Agent Gateway には、ゲートウェイ経由でルーティングされたトラフィックのモニタリング、監査、デバッグを行うためのオブザーバビリティ ダッシュボードが用意されています。
- スコアカード: 試行された認証の合計数、認証の失敗数、1 秒あたりのリクエスト数を追跡します。
- グラフ: 承認失敗率(%)と 1 秒あたりのリクエスト数を時系列で可視化します。
- Egress トラフィック ログ:
403拒否、登録されていないエンドポイントへのトラフィック、トラフィック全体など、Egress クエリの詳細なログを確認します。
Google Cloud コンソールでゲートウェイのオブザーバビリティ ダッシュボードにアクセスする手順は次のとおりです。
Google Cloud コンソールで、[エージェント ゲートウェイ] ページに移動します。
モニタリングするゲートウェイの名前をクリックします。
[オブザーバビリティ] タブをクリックします。
ダッシュボードのデータ要件
Agent Gateway オブザーバビリティ ダッシュボードは、オブザーバビリティ分析を使用してデータを表示します。ダッシュボードにデータが読み込まれない場合は、オブザーバビリティ分析を使用するように _Default ログバケットをアップグレードしてください。ダッシュボードは、_Default バケットの _AllLogs ビューからデータを取得します。
Cloud Trace を使用する
Agent Gateway は Cloud Trace と統合され、エージェント ワークロードのエンドツーエンドのリクエストのオブザーバビリティを提供します。Agent Gateway は AI エージェントの中心的な制御ポイントとして機能するため、トレースを有効にすると、エージェントからゲートウェイを介して複数の Google Cloud サービス、ツール、エージェント、MCP サーバーにリクエストがどのように伝播されるかを把握できます。Trace は、これらのサービス境界を越えてリクエスト フローを追跡することで、エージェント アーキテクチャの完全な分散トレースを提供します。
Trace を使用すると、次のことができます。
- エージェントのインタラクションを正確にデバッグする: サービス境界を越えてリクエストの全行程を追跡し、レイテンシのボトルネックと失敗したバックエンド呼び出しを特定します。
- アップストリームのサンプリング決定を尊重する: 親ベースのサンプリングを使用して、アップストリーム エージェントまたはクライアントがトレースを開始したときにエンドツーエンドのトレースの継続性を維持し、ルーチン トラフィックのベースライン サンプリング レートを上げることなく、優先度の高いリクエストを完全にキャプチャします。
- オープン標準でオブザーバビリティを統合する: OpenTelemetry と W3C TraceContext 標準に基づいて構築されたトレースは、AI エージェント、Agent Gateway、ターゲット MCP サーバーまたはツール、サードパーティのモニタリング プラットフォーム間でコンテキストをシームレスに伝播します。
- 根本原因分析を迅速化する:
trace_idを使用してトレース スパンをゲートウェイ リクエスト ログと指標に直接関連付け、本番環境の問題を迅速にトラブルシューティングします。
Trace の詳細については、Cloud Trace の概要をご覧ください。
必要なロール
プロジェクトに次の Identity and Access Management(IAM)ロールが必要です。
- トレース ポリシーを構成して更新する: Compute ネットワーク管理者(
roles/compute.networkAdmin)または Compute 管理者(roles/compute.admin) - Google Cloud コンソールでトレースを表示する: Cloud Trace ユーザー(
roles/cloudtrace.user)
また、Agent Gateway がトレース スパンを Trace に書き込めるようにするには、次のサービス アカウントに Cloud Trace エージェント ロール(roles/cloudtrace.agent)を付与する必要があります。
- Compute Engine サービス エージェント:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com - Network Security サービス エージェント:
service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com - Agent Gateway サービス エージェント:
service-PROJECT_NUMBER@gcp-sa-agentgateway.iam.gserviceaccount.com - エージェントまたはクライアント ワークロードのサービス アカウント: 呼び出し元の AI エージェントまたはクライアント ワークロードがトレースを開始し、独自の親スパンを Trace にエクスポートする場合、ワークロードのサービス アカウントまたはエージェントに接続されたカスタム サービス アカウントにも、プロジェクトに対する
roles/cloudtrace.agentロールが付与されている必要があります。それ以外の場合、Agent Gateway の子スパンのみが書き込まれ、親スパンは Trace に表示されません。
PROJECT_NUMBER は、使用する Google Cloud プロジェクト番号に置き換えます。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
トレースを有効にする
Agent Gateway のトレースを有効にするには、オブザーバビリティ ポリシーの YAML ファイルを作成し、gcloud CLI を使用してインポートします。
tracing-policy.yamlという名前の構成ファイルを作成します。name: "projects/PROJECT_ID/locations/REGION/telemetryPolicies/POLICY_NAME" telemetryTarget: resources: # You can attach a policy to multiple gateways - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_NAME" displayName: "Tracing policy for Agent Gateway traffic" tracingConfiguration: samplingRate: SAMPLING_RATE parentBasedSampling: enabled: ENABLE_PARENT_BASED_SAMPLING samplingRate: PARENT_BASED_SAMPLING_RATE次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。REGION: ゲートウェイのリージョン(europe-west1など)。POLICY_NAME: オブザーバビリティ ポリシーの名前(my-agw-tracing-policyなど)。AGENT_GATEWAY_NAME: ゲートウェイの名前。SAMPLING_RATE: トレースするリクエストの割合。0.0から1.0までの値に設定します。トラフィックの多い本番環境では、オブザーバビリティと取り込み費用のバランスを取るために、1%(0.01)または 0.1%(0.001)のレートをおすすめします。ENABLE_PARENT_BASED_SAMPLING: 上流の呼び出し元からの受信traceparentヘッダーのサンプリングされたビットを尊重するかどうかを制御します。trueまたはfalseに設定します。PARENT_BASED_SAMPLING_RATE: トレースする事前サンプリングされたリクエストの割合。0.0から1.0までの値に設定します。たとえば、1.0はサンプリング前のリクエストの 100% をトレースします。
オブザーバビリティ ポリシーをインポートします。
gcloud beta network-services telemetry-policies import POLICY_NAME \ --source=tracing-policy.yaml \ --location=REGION
トレースを表示
分散トレースを有効にして、ゲートウェイを介してトラフィックを送信すると、 Google Cloud コンソールでトレースの詳細を表示できます。
-
Google Cloud コンソールで、
[Trace エクスプローラ] ページに移動します。このページは、検索バーを使用して見つけることもできます。
[フィルタ] バーに、トレース フィルタ式(レイテンシしきい値、HTTP ステータス コード、リクエスト URI でフィルタする場合など)を入力するか、特定のトレース ID で検索します。
Trace エクスプローラ UI の使用方法について詳しくは、トレースを検索して調査するをご覧ください。
Trace エクスプローラ
Trace の Trace エクスプローラ ビュー トレース タイムライン ビュー
Trace のタイムライン ビュー トレース グラフビュー
Trace のグラフビュー
トレースをログと指標に関連付ける
Agent Gateway は、トレース、ログ、指標間のシームレスな関連付けを提供します。
ログとトレースの関連付け: Cloud Logging に書き込まれるすべてのゲートウェイ リクエストログ エントリには、
projects/PROJECT_ID/traces/TRACE_ID形式のtraceフィールドが含まれています。- ログ エクスプローラで、ログエントリをクリックし、[トレースの詳細を表示] を選択して、Trace の対応するスパンに直接移動します。
- Trace で、[トレースの詳細] ペインの [ログを表示] をクリックして、そのリクエストに関連付けられているすべてのゲートウェイ リクエスト ログを表示します。
指標の関連付け:
networkservices.googleapis.com/agentgateway/total_latenciesなどの Cloud Monitoring 指標で観測されたレイテンシの急増をトレース スパンの内訳と比較して、レイテンシの急増がゲートウェイ内で発生したのか、宛先ツールまたはサーバーで発生したのかを特定します。
トラブルシューティング
このセクションでは、一般的な問題とその解決策について説明します。
トレースが Cloud Trace に表示されない:
プロジェクトで Cloud Trace API(
cloudtrace.googleapis.com)が有効になっていることを確認します。gcloud services enable cloudtrace.googleapis.com --project=PROJECT_ID
必要な Cloud Trace エージェント IAM ロール(
roles/cloudtrace.agent)が、必要なすべてのサービス アカウントに付与されていることを確認します。オブザーバビリティ ポリシーが正しいリージョンに存在し、適切な Agent Gateway を参照していることを確認します。
gcloud beta network-services telemetry-policies describe POLICY_NAME \ --location=REGION構成された
samplingRateを確認します。トラフィック量が少ない場合やサンプリング レートが低い場合は、トレースがすぐにキャプチャされないことがあります。トレースが機能していることを確認するには、100% サンプリング(samplingRate: 1.00)を使用するようにポリシーを一時的に更新します。テストが完了したら、本番環境のレートを復元します。
不完全なトレース スパン:
トレース スパンがアプリケーション リクエストの子スパンではなく、独立したルート トレースとして表示される場合は、次の操作を行います。
- オブザーバビリティ ポリシーで
parentBasedSamplingが有効(trueに設定)になっていることを確認します。 - 呼び出し元の AI エージェントまたはワークロードのサービス アカウントに、プロジェクトの Cloud Trace エージェント ロール(
roles/cloudtrace.agent)が付与されていることを確認します。これにより、親スパンを Trace にエクスポートできます。 - アプリケーションが、分散トレース コンテキストの伝播が有効になっている OpenTelemetry SDK を使用していることを確認します。これにより、W3C
traceparentヘッダーがサービス境界間で伝播されます。詳細については、OpenTelemetry TraceContext propagator のドキュメントをご覧ください。
- オブザーバビリティ ポリシーで
次のステップ
Codelab: Agent Platform でエージェント ワークロードを管理する
Gemini Enterprise Agent Platform の Agent Gateway でエージェント ワークロードを管理する方法について説明します。