AgentCore が生成したランタイムオブザーバビリティデータ
AgentCore が提供するランタイムメトリクスにより、エージェント実行アクティビティレベル、処理レイテンシー、リソース使用率、エラー率を可視化できます。AgentCore は、合計呼び出しとセッションの集計メトリクスも提供します。
オブザーバビリティランタイムメトリクス
次のリストでは、AgentCore が提供するランタイムメトリクスについて説明します。ランタイムメトリクスは 1 分間隔でバッチ処理されます。ランタイムメトリクスの表示の詳細については、「Amazon Bedrock AgentCore エージェントのオブザーバビリティデータを表示する」を参照してください。
- 呼び出し
-
データプレーン API に対して行われたリクエストの合計数を表示します。各 API コールは、リクエストペイロードのサイズやレスポンスのステータスに関係なく、1 回の呼び出しとしてカウントされます。
- 呼び出し (集計)
-
すべてのリソースの呼び出しの合計数を表示します。
- Throttles
-
許可された TPS (1 秒あたりのトランザクション数) またはクォータ制限を超えたためにサービスによってスロットリングされたリクエストの数を表示します。これらのリクエストは、HTTP ステータスコード 429 の ThrottlingException を返します。このメトリクスをモニタリングして、サービスクォータを確認する必要があるか、リクエストパターンを最適化する必要があるかを判断します。
- システムエラー
-
リクエスト処理中に AgentCore で発生したサーバー側のエラーの数を表示します。サーバー側のエラーレベルが高い場合は、調査が必要な潜在的なインフラストラクチャまたはサービスの問題がある可能性があります。考えられるエラーコードのリストについては、「エラータイプ」を参照してください。
- ユーザーエラー
-
無効なリクエストに起因するクライアント側のエラーの数を表します。これらを解決するにはユーザーアクションが必要です。クライアント側のエラーのレベルが高い場合は、対処する必要があるリクエストのフォーマットやアクセス許可に問題がある可能性があります。考えられるエラーコードのリストについては、「エラータイプ」を参照してください。
- レイテンシー
-
リクエストの受信から最終レスポンストークンの送信までの経過時間の合計。リクエストの完全なend-to-end処理時間を表します。
- Total Errors (エラー総数)
-
システムエラーとユーザーエラーの合計数。Amazon Bedrock AgentCore コンソールでは、このメトリクスはエラーの数を呼び出しの合計数に対するパーセンテージとして表示します。
- セッション数
-
レポート期間中に作成された新しいエージェントセッションの数を表示します。各セッションは作成時に 1 回カウントされます。同じセッションへのそれ以降の呼び出しでは、このメトリクスは増加しません。これは累積カウンターであり、現在アクティブなセッションのゲージではありません。プラットフォームの全体的な使用状況のモニタリング、セッション作成率の傾向、ユーザーエンゲージメントパターンの理解に役立ちます。
- セッション (集計)
-
レポート期間中にすべてのリソースで作成された新しいセッションの合計数を表示します。
- ActiveSessionCount
-
アカウントの現在アクティブなセッションの数を表示します。
SessionCountメトリクス (累積カウンター) とは異なり、このメトリクスは、特定の時点で実行されているセッションの数を示すリアルタイムゲージです。Amazon Bedrock AgentCore は、サービスタイプごとにこのメトリクスを 1 分に 1 回発行します。これを使用して、現在の容量使用率のモニタリング、予期しない使用量の急増に対するアラームの設定、セッションクォータの消費量の把握を行います。Serviceディメンション を値AgentCore.Runtime、AgentCore.CodeInterpreter、または とともに使用AgentCore.Browserして、ワークロードタイプでこのメトリクスをフィルタリングします。Amazon Bedrock AgentCore は、このメトリクスをAWS/Bedrock-AgentCore名前空間の AWS アカウントに直接発行します。 - ActiveStreamingConnections
-
(WebSocket のみ) エージェントあたりのアクティブな WebSocket 接続の現在の数を表示します。このメトリクスをモニタリングして接続の使用状況を把握し、キャパシティプランニングの接続低下やスパイクを検出します。唯一の意味のある統計は 1 分の合計です。
- InboundStreamingBytesProcessed
-
(WebSocket のみ) クライアントからエージェントコンテナに受信した WebSocket フレームで正常に処理された合計バイト数を表示します。このメトリクスを使用して、データスループットをモニタリングし、使用パターンを特定します。
- OutboundStreamingBytesProcessed
-
(WebSocket のみ) エージェントコンテナからクライアントに送信された WebSocket フレームで正常に処理された合計バイト数を表示します。このメトリクスをモニタリングしてエージェントのレスポンスパターンを理解し、データ転送が成功することを確認します。
リソース使用状況メトリクスとログ
Amazon Bedrock AgentCore ランタイムは、ランタイムリソースの CPU およびメモリ消費メトリクスを含む包括的なリソース使用状況テレメトリを提供します。
注記
リソース使用状況データは最大 60 分遅延し、精度はメトリクスによって異なる場合があります。
提供されたメトリクス
Amazon Bedrock AgentCore ランタイムは、アカウント、エージェントのランタイム、エージェントのエンドポイントレベルでリソース使用状況メトリクスを自動的に提供します。これらのメトリクスは 1 分の解像度で発行されます。Amazon CloudWatch の集約とメトリクスのデータ保持は、標準の Amazon CloudWatch データ保持ポリシーに従います。詳細については、https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric を参照してください。
リソースのモニタリングに使用できるディメンションセットとメトリクスは次のとおりです。
| 名前 | ディメンション | 説明 |
|---|---|---|
|
CPUUsed-vCPUHours |
サービス、サービス、リソース、サービス、リソース、名前 |
vCPU-Hours 単位で消費される仮想 CPU の合計量。リソースレベルとアカウントレベルで使用できます。リソースの追跡と推定請求の可視性に役立ちます。 |
|
MemoryUsed-GBHours |
サービス、サービス、リソース、サービス、リソース、名前 |
リソースレベルとアカウントレベルで利用可能な、GB-時間単位で消費されるメモリの合計量。リソースの追跡と推定請求の可視性に役立ちます。 |
ディメンションの説明
-
サービス - AgentCore.Runtime
-
リソース - エージェント ARN
-
名前 - AgentName::EndpointName のAgentNameエンドポイント名
アカウントレベルのメトリクスは、Amazon CloudWatch Bedrock AgentCore Observability Console のランタイムタブで使用できます。ダッシュボードには、これらのメトリクスから生成されたメモリと CPU の使用状況グラフが表示され、 リージョン内のアカウント内のすべてのエージェントにおける合計リソース使用量を表します。
エージェントエンドポイントレベルのメトリクスは、Amazon CloudWatch Bedrock AgentCore Observability Console の AgentEndpoint AgentEndpoint ページにあります。ダッシュボードには、これらのメトリクスから生成されたメモリと CPU の使用状況グラフが表示され、指定されたエージェントエンドポイントによって呼び出されたすべてのセッションの合計リソース使用量を表します。
注記
テレメトリデータはモニタリング目的で提供されます。実際の請求は、計測された使用状況データに基づいて計算され、集計タイミング、調整プロセス、測定精度によってテレメトリ値とは異なる場合があります。正規料金については、 AWS 請求明細書を参照してください。
提供されるログ
Bedrock AgentCore ランタイムは、セッションレベルの使用状況メトリクスの提供ログを 1 秒単位で提供します。各ログレコードには、CPU 使用率 (agent.runtime.vcpu.hours.used) やメモリ消費量 (agent.runtime.memory.gb_hours.used) などのリソース消費データが含まれています。
各ログレコードには、次のスキーマがあります。
| ログタイプ | ログフィールド | 説明 |
|---|---|---|
|
USAGE_LOGS |
event_timestamp, resource_arn, service.name, cloud.provider, cloud.region, account.id, region, resource.id, session.id, agent.name, elapsed_time_seconds, agent.runtime.vcpu.hours.used, agent.runtime.memory.gb_hours.used |
セッションレベルのリソース追跡のリソース使用状況ログ。 |
エージェントの USAGE_LOG ログタイプを有効にするには、「Amazon Bedrock AgentCore リソースにオブザーバビリティを追加する」を参照してください。その後、ログは設定された送信先 (AWS LogGroup、Amazon S3、または Amazon Kinesis Firehose) に設定されたとおりに表示されます。
Amazon CloudWatch Bedrock AgentCore Observability Console のエージェントセッションページで、これらのログから生成されたリソース使用状況メトリクスを確認できます。メトリクスの表示エクスペリエンスを最適化するには、右上の セレクターを使用して目的の時間範囲を選択し、特定の CPU およびメモリ使用量データに焦点を当てます。
注記
テレメトリデータはモニタリング目的で提供されます。実際の請求は、計測された使用状況データに基づいて計算され、集計タイミング、調整プロセス、測定精度によってテレメトリ値とは異なる場合があります。正規料金については、 AWS 請求明細書を参照してください。
提供されたスパンデータ
AgentCore は、オブザーバビリティを高めるために、エージェントのランタイム呼び出しを可視化する構造化スパンを提供します。このスパンデータを有効にするには、エージェントリソースでオブザーバビリティを有効にする必要があります。ステップと詳細については、「Amazon Bedrock AgentCore リソースにオブザーバビリティを追加する」を参照してください。このスパンデータは Amazon CloudWatch Logs で利用できます。スパンは、エージェントのロググループ (/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>)、または共有スパン送信先を使用するエージェントのaws/spansロググループに表示されます。詳細については、「Amazon Bedrock AgentCore ランタイムでホストされているエージェントのスパン送信先」を参照してください。次の表は、スパンが作成されるオペレーションと、キャプチャされた各スパンの属性を定義します。
| オペレーション名 | スパン属性 | 説明 |
|---|---|---|
|
InvokeAgentRuntime |
aws.operation.name、aws.resource.arn、aws.request_id、aws.agent.id、aws.endpoint.name、aws.account.id、、session.id、レイテンシー_ms、エラータイプ、aws.resource.type、aws.xray.origin、aws.region |
エージェントランタイムを呼び出します。 |
-
aws.operation.name - オペレーション名 (InvokeAgentRuntime)
-
aws.resource.arn - エージェントランタイムの Amazon リソース名
-
aws.request_id - 呼び出しのリクエスト ID
-
aws.agent.id - エージェントランタイムの一意の識別子
-
aws.endpoint.name - エージェントランタイムの呼び出しに使用されるエンドポイントの名前
-
aws.account.id - 顧客のアカウント ID
-
session.id - 呼び出しのセッション ID
-
latency_ms - ミリ秒単位のリクエストのレイテンシー
-
error_type - スロットル、システム、またはユーザー (エラーの場合にのみ存在します)
-
aws.resource.type - CFN リソースタイプ
-
aws.xray.origin - サービスを識別するために X 線で使用される CFN リソースタイプ
-
aws.region - 顧客リソースが存在するリージョン
アプリケーションログデータ
AgentCore は、エージェントのランタイム呼び出しとセッションレベルのリソース消費を可視化するのに役立つ構造化されたアプリケーションログを提供します。このログデータは、エージェントリソースでオブザーバビリティを有効にするときに提供されます。ステップと詳細については、「Amazon Bedrock AgentCore リソースにオブザーバビリティを追加する」を参照してください。AgentCore はCloudWatch Logs、Amazon S3、または Firehose ストリームにログを出力できます。CloudWatch Logs 送信先を使用する場合、これらのログはエージェントのアプリケーションログまたは独自のカスタムロググループの下に保存されます。
| ログタイプ | ログフィールド | 説明 |
|---|---|---|
|
APPLICATION_LOGS |
timestamp, resource_arn, event_timestamp, account_id, request_id, session_id, trace_id, span_id, service_name, operation, request_payload, response_payload |
トレースフィールド、リクエスト、レスポンスペイロードを含む InvokeRuntimeOperation のアプリケーションログ |
-
request_payload - エージェント呼び出しのリクエストペイロード
-
response_payload - エージェント呼び出しからのレスポンス
エラータイプ
次のリストは、ユーザー、システム、スロットリングエラーの考えられるエラータイプを定義します。
ユーザーエラーコード
-
InvocationError.Validation- クライアントが無効な入力を提供 (400) -
InvocationError.ResourceNotFound- リクエストされたリソースが存在しません (404) -
InvocationError.AccessDenied- クライアントにアクセス許可がない (403) -
InvocationError.Conflict- リソースの競合 (409)
システムエラーコード
-
InvocationError.Internal- 内部サーバーエラー (500)
エラーコードのスロットリング
-
InvocationError.Throttling- レート制限 (429) -
InvocationError.ServiceQuota- サービス側のクォータ/制限に達しました (402)