View a markdown version of this page

Amazon CloudWatch でのオブザーバビリティ - Amazon Bedrock AgentCore

Amazon CloudWatch でのオブザーバビリティ

AgentCore 支払いは Amazon CloudWatch によるオブザーバビリティをサポートしているため、支払い統合をモニタリングおよびトラブルシューティングできます。

  • Amazon CloudWatch は、 AWS モニタリングおよびオブザーバビリティサービスです。 AWS リソースからメトリクス、ログ、トレースを収集および追跡し、アプリケーションのパフォーマンスを可視化します。

  • 提供されたログは、 AWS サービスがユーザーに代わって CloudWatch ロググループに直接発行するログです。自分で計測したアプリケーションログとは異なり、提供されたログはサービスによって自動的に生成されます。配信先を設定します。

  • スパンは、リクエスト内の作業単位 (API コールとそのダウンストリームオペレーションなど) を表します。スパンを使用して、システム経由のリクエストフローを追跡し、レイテンシーのボトルネックや障害を特定します。

以下のセットアップ手順を完了すると、データプレーン API コール ( などCreatePaymentInstrument) は、設定された CloudWatch ロググループにログとトレースデータを生成します。

前提条件

  • 配信先としての CloudWatch ロググループ (例: /bedrock-agentcore/payments/my-logs)。持っていない場合は、 コンソールまたは CLI を使用して作成します。

  • PaymentManager のリソース ARN

ロググループを作成します。

Console

CloudWatch コンソールを開き、ログ > ロググループに移動し、ロググループの作成を選択します。のような名前を入力し/bedrock-agentcore/payments/my-logs、希望する保持期間を選択します。

AWS CLI
aws logs create-log-group --log-group-name /bedrock-agentcore/payments/my-logs

IAM アクセス許可

ログを作成し、配信リソースにまたがるには、IAM ユーザーまたはロールに次のアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchLogsVendedDelivery", "Effect": "Allow", "Action": [ "logs:CreateDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteDelivery", "logs:DeleteDeliveryDestination", "logs:DeleteDeliverySource", "logs:DeleteLogGroup", "logs:DeleteResourcePolicy", "logs:DescribeLogGroups", "logs:DescribeResourcePolicies", "logs:GetDelivery", "logs:GetDeliveryDestination", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:PutDeliverySource", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:PutRetentionPolicy" ], "Resource": "*" }, { "Sid": "XRayApplicationSignalsCloudTrail", "Effect": "Allow", "Action": [ "xray:GetTraceSegmentDestination", "xray:ListResourcePolicies", "xray:PutResourcePolicy", "xray:PutTelemetryRecords", "xray:PutTraceSegments", "xray:UpdateTraceSegmentDestination", "application-signals:StartDiscovery", "cloudtrail:CreateServiceLinkedChannel" ], "Resource": "*" }, { "Sid": "CreateServiceLinkedRoleForAppSignals", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:*:iam::*:role/aws-service-role/application-signals.cloudwatch.amazonaws.com/AWSServiceRoleForCloudWatchApplicationSignals" }, { "Sid": "BedrockAgentCoreVendedLogDelivery", "Effect": "Allow", "Action": "bedrock-agentcore:AllowVendedLogDeliveryForResource", "Resource": "*" } ] }

提供されるログ

提供されたログは、設定されたロググループにアプリケーションログとして表示されます。これらは、データプレーン API コールごとに AgentCore 支払いサービスによって自動的に生成されます。

販売されたスパン

販売されたスパンは、個々のリクエストのトレースレコードです。これらを使用して、 AWS X-Ray でリクエストフローを視覚化します。各スパンは作業単位 (API コールとそのダウンストリームオペレーションなど) を表し、レイテンシーのボトルネックや障害を特定できます。

スパン名

AgentCore 支払いは、データプレーン API コールごとに 1 つのスパンを出力します。スパン名はパターン に従いますBedrock.AgentCore.Payments.<Operation>

スパン名 説明

Bedrock.AgentCore.Payments.ProcessPayment

支払いトランザクションを処理する

Bedrock.AgentCore.Payments.CreatePaymentInstrument

支払い手段を作成する

Bedrock.AgentCore.Payments.GetPaymentInstrument

支払い手段を取得する

Bedrock.AgentCore.Payments.ListPaymentInstruments

支払い手段を一覧表示する

Bedrock.AgentCore.Payments.DeletePaymentInstrument

支払い手段を削除する

Bedrock.AgentCore.Payments.GetPaymentInstrumentBalance

計測バランスを取得する

Bedrock.AgentCore.Payments.CreatePaymentSession

支払いセッションを作成する

Bedrock.AgentCore.Payments.GetPaymentSession

支払いセッションを取得する

Bedrock.AgentCore.Payments.ListPaymentSessions

支払いセッションを一覧表示する

Bedrock.AgentCore.Payments.DeletePaymentSession

支払いセッションを削除する

スパン属性

各スパンには、 AWS X-Ray でのフィルタリングと分析のための次の属性が含まれます。

属性 説明

aws.payments.payment_manager_id

このリクエストの Payment Manager ID

aws.payments.payment_connector_id

Payment Connector ID (該当する場合)

aws.payments.payment_instrument_id

支払い手段 ID (該当する場合)

aws.payments.payment_session_id

支払いセッション ID (該当する場合)

aws.payments.spend_amount

支払い金額 (ProcessPayment のみ)

aws.payments.spend_currency

支払い通貨 (ProcessPayment のみ)

aws.payments.session_remaining_budget

支払い後の残りのセッション予算 (ProcessPayment のみ)

aws.payments.total_budget_amount

セッション予算の合計 (ProcessPayment のみ)

aws.payments.merchant

トランザクションのマーチャントアドレス (payTo) (ProcessPayment のみ)

aws.payments.payment_agent_name

X-Amzn-Bedrock-AgentCore-Payments-Agent-Name ヘッダーで指定されている場合、エージェント名

aws.payments.token_fetch_latency_ms

AgentCore Identity からの認証情報トークンの取得のレイテンシー (ProcessPayment のみ)

標準 AWS 属性はすべてのスパンにも含まれます。

  • aws.region — AWS リージョン

  • aws.account.id — 発信者のアカウント ID

  • aws.resource.arn — PaymentManager ARN

  • aws.request_id — リクエスト ID

  • http.response.status_code — HTTP レスポンスステータスコード

提供されたメトリクス

AgentCore 支払いは、Amazon CloudWatch 名前空間に次のメトリクスを発行します。これらを使用して、ダッシュボードの構築、アラームの設定、支払いの正常性のモニタリングを行います。

メトリクス 単位 説明

OperationSuccess

カウント

成功した API コールの数

OperationFailure

カウント

失敗した API コールの数

OperationLatency

ミリ秒

API End-to-end コールあたりのエンドツーエンドのレイテンシー

SpendAmount

なし

処理された支払い金額 (ProcessPayment のみ)

Throttles

カウント

スロットリングされたリクエストの数

UserErrors

カウント

クライアント側の検証エラーの数

ActiveSessions

カウント

アクティブな支払いセッションの数

PaymentRequestCount

カウント

支払いリクエストの合計

PaymentSuccessCount

カウント

成功した支払いトランザクション

PaymentFailureCount

カウント

失敗した支払いトランザクション

PaymentLatency

ミリ秒

支払い処理のレイテンシー

メトリクスのディメンション

メトリクスは、フィルタリングのために次のディメンションで公開されます。

  • オペレーション — API オペレーション名 (常に存在します)

  • PaymentManagerId — Payment Manager ID (利用可能な場合)

  • PaymentConnectorId — Payment Connector ID (利用可能な場合)

  • AgentName — エージェント名 (ヘッダーで指定した場合)

  • 通貨 — 支払い通貨 (SpendAmount メトリクスの場合)

オブザーバビリティを有効にする

Console

Amazon Bedrock AgentCore コンソールの Payment Manager の詳細ページから:

  1. 配信とトレースのログセクションに移動します。

  2. CloudWatch ロググループへのログ配信を設定します。

  3. AWS X-Ray でスパンを表示するトレースを有効にします。

Payment Manager の詳細ページのオブザーバビリティセクションには、セッション数、API 呼び出し、トランザクションの成功率、エラー率などのリアルタイムメトリクスが表示されます。

AWS CLI
# Step 1: Allow vended log delivery for your Payment Manager aws bedrock-agentcore allow-vended-log-delivery-for-resource \ --resource-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" # Step 2: Create a delivery source aws logs put-delivery-source \ --name "payments-logs" \ --resource-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --log-type "APPLICATION_LOGS" # Step 3: Create a delivery destination aws logs put-delivery-destination \ --name "payments-log-destination" \ --delivery-destination-configuration '{"destinationResourceArn": "arn:aws:logs:us-west-2:123456789012:log-group:/bedrock-agentcore/payments/my-logs"}' # Step 4: Create the delivery aws logs create-delivery \ --delivery-source-name "payments-logs" \ --delivery-destination-arn "arn:aws:logs:us-west-2:123456789012:delivery-destination:payments-log-destination"
AWS SDK
import boto3 # Allow vended log delivery for your Payment Manager agentcore_client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") agentcore_client.allow_vended_log_delivery_for_resource( resourceArn="arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" ) # Configure CloudWatch Logs delivery logs_client = boto3.client("logs", region_name="us-west-2") # Create delivery source logs_client.put_delivery_source( name="payments-logs", resourceArn="arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager", logType="APPLICATION_LOGS" ) # Create delivery destination logs_client.put_delivery_destination( name="payments-log-destination", deliveryDestinationConfiguration={ "destinationResourceArn": "arn:aws:logs:us-west-2:123456789012:log-group:/bedrock-agentcore/payments/my-logs" } ) # Create the delivery logs_client.create_delivery( deliverySourceName="payments-logs", deliveryDestinationArn="arn:aws:logs:us-west-2:123456789012:delivery-destination:payments-log-destination" )

AgentCore オブザーバビリティの詳細については、AgentCore オブザーバビリティ」を参照してください。ゲートウェイ固有のメトリクスとスパンについては、AgentCore が生成したゲートウェイオブザーバビリティデータ」を参照してください。