View a markdown version of this page

Observabilidad con Amazon CloudWatch - Amazon Bedrock AgentCore

Observabilidad con Amazon CloudWatch

AgentCore payments admite la observabilidad a través de Amazon CloudWatch, por lo que puedes supervisar tu integración de pagos y solucionar problemas.

  • Amazon CloudWatch es el servicio AWS de monitoreo y observabilidad. Recopila y rastrea las métricas, los registros y las trazas de sus AWS recursos, lo que le brinda visibilidad del rendimiento de las aplicaciones.

  • Los registros vendidos son registros que los AWS servicios publican en su nombre directamente en su grupo de CloudWatch registros. A diferencia de los registros de aplicaciones que usted mismo instrumenta, el servicio genera automáticamente los registros vendidos. Usted configura dónde entregarlos.

  • Los intervalos representan las unidades de trabajo de una solicitud (por ejemplo, una llamada a la API y sus operaciones posteriores). Usa los intervalos para rastrear el flujo de una solicitud a través del sistema e identificar los cuellos de botella o los fallos de latencia.

Tras completar los siguientes procedimientos de configuración, cualquier llamada a la API del plano de datos (por ejemploCreatePaymentInstrument) genera registros y rastrea datos en el grupo de registros configurado. CloudWatch

Requisitos previos

  • Un grupo de CloudWatch registros como destino de entrega (por ejemplo,/bedrock-agentcore/payments/my-logs). Si no tiene uno, cree uno mediante la consola o la CLI.

  • El ARN de recurso de su. PaymentManager

Cree un grupo de registros:

ejemplo
Console

Abra la CloudWatch consola, vaya a Registros > Grupos de registros y elija Crear grupo de registros. Introduce un nombre similar /bedrock-agentcore/payments/my-logs y selecciona el período de retención que prefieras.

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

Permisos de IAM

Su usuario o rol de IAM debe tener los siguientes permisos para crear recursos de entrega de registro y distribución:

{ "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": "*" } ] }

Registros proporcionados

Los registros vendidos aparecen como registros de aplicaciones en el grupo de registros configurado. El servicio de AgentCore pagos los genera automáticamente para cada llamada a la API del plano de datos.

Intervalos vendidos

Los intervalos vendidos son registros de rastreo de solicitudes individuales. Úselos para visualizar el flujo de solicitudes. AWS X-Ray Cada intervalo representa una unidad de trabajo (por ejemplo, una llamada a la API y sus operaciones posteriores), lo que te permite identificar los cuellos de botella o los fallos de latencia.

Nombres de los tramos

AgentCore payments emite un intervalo por cada llamada a la API del plano de datos. Los nombres de los tramos siguen el siguiente patrónBedrock.AgentCore.Payments.<Operation>:

Nombre del span Description (Descripción)

Bedrock.AgentCore.Payments.ProcessPayment

Procesa una transacción de pago

Bedrock.AgentCore.Payments.CreatePaymentInstrument

Crea un instrumento de pago

Bedrock.AgentCore.Payments.GetPaymentInstrument

Recupera un instrumento de pago

Bedrock.AgentCore.Payments.ListPaymentInstruments

Enumere los instrumentos de pago

Bedrock.AgentCore.Payments.DeletePaymentInstrument

Eliminar un instrumento de pago

Bedrock.AgentCore.Payments.GetPaymentInstrumentBalance

Obtenga el saldo del instrumento

Bedrock.AgentCore.Payments.CreatePaymentSession

Crea una sesión de pago

Bedrock.AgentCore.Payments.GetPaymentSession

Recupera una sesión de pago

Bedrock.AgentCore.Payments.ListPaymentSessions

Enumere las sesiones de pago

Bedrock.AgentCore.Payments.DeletePaymentSession

Eliminar una sesión de pago

Atributos de spam

Cada intervalo incluye los siguientes atributos para filtrarlos y analizarlos AWS X-Ray:

Atributo Description (Descripción)

aws.payments.payment_manager_id

El ID del administrador de pagos de esta solicitud

aws.payments.payment_connector_id

El ID del conector de pago (cuando proceda)

aws.payments.payment_instrument_id

El ID del instrumento de pago (cuando proceda)

aws.payments.payment_session_id

El identificador de la sesión de pago (cuando proceda)

aws.payments.spend_amount

El importe del pago (ProcessPayment únicamente)

aws.payments.spend_currency

La divisa de pago (ProcessPayment únicamente)

aws.payments.session_remaining_budget

El presupuesto restante de la sesión tras el pago (ProcessPayment únicamente)

aws.payments.total_budget_amount

Presupuesto total de la sesión (ProcessPayment únicamente)

aws.payments.merchant

La dirección del vendedor (PayTo) de la transacción (ProcessPayment únicamente)

aws.payments.payment_agent_name

El nombre del agente, si se proporciona a través del encabezado X-Amzn-Bedrock-AgentCore-Payments-Agent-Name

aws.payments.token_fetch_latency_ms

Latencia de la recuperación del token de credenciales de AgentCore Identity (únicamente) ProcessPayment

AWS Los atributos estándar también se incluyen en cada intervalo:

  • aws.region— La AWS región

  • aws.account.id— El identificador de cuenta de la persona que llama

  • aws.resource.arn— El PaymentManager ARN

  • aws.request_id— El identificador de la solicitud

  • http.response.status_code— El código de estado de la respuesta HTTP

Métricas vendidas

AgentCore payments publica las siguientes métricas en tu espacio de CloudWatch nombres de Amazon. Úsalas para crear paneles de control, configurar alarmas y supervisar el estado de los pagos.

Métrica Unidad Description (Descripción)

OperationSuccess

Recuento

Número de llamadas a la API que se han realizado correctamente

OperationFailure

Recuento

Número de llamadas a la API fallidas

OperationLatency

Milisegundos

End-to-end latencia por llamada a la API

SpendAmount

Ninguno

Importe del pago procesado (ProcessPayment únicamente)

Throttles

Recuento

Número de solicitudes limitadas

UserErrors

Recuento

Número de errores de validación del lado del cliente

ActiveSessions

Recuento

Número de sesiones de pago activas

PaymentRequestCount

Recuento

Total de solicitudes de pago

PaymentSuccessCount

Recuento

Transacciones de pago realizadas correctamente

PaymentFailureCount

Recuento

Transacciones de pago fallidas

PaymentLatency

Milisegundos

Latencia de procesamiento de pagos

Dimensiones de la métrica

Las métricas se publican con las siguientes dimensiones de filtrado:

  • Operación: el nombre de la operación de la API (siempre presente)

  • PaymentManagerId— El ID del administrador de pagos (cuando esté disponible)

  • PaymentConnectorId— El ID del conector de pago (cuando esté disponible)

  • AgentName— El nombre del agente (si se proporciona a través del encabezado)

  • Divisa: la moneda de pago (para el SpendAmount sistema métrico)

Habilitar la observabilidad

ejemplo
Console

Desde la página de detalles de Payment Manager de la AgentCore consola de Amazon Bedrock:

  1. Diríjase a la sección Envíos y rastreo de registros.

  2. Configure la entrega de registros a su grupo de CloudWatch registros.

  3. Habilite los seguimientos para ver los intervalos. AWS X-Ray

La sección de observabilidad de la página de detalles del administrador de pagos proporciona métricas en tiempo real, como el recuento de sesiones, las invocaciones a las API, las tasas de éxito de las transacciones y las tasas de error.

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" )

Para obtener más información sobre la AgentCore observabilidad, consulta Observabilidad. AgentCore Para ver las métricas y los intervalos específicos de las pasarelas, consulta los datos de observabilidad de las pasarelas generados. AgentCore