View a markdown version of this page

Observabilité avec Amazon CloudWatch - Amazon Bedrock AgentCore

Observabilité avec Amazon CloudWatch

AgentCore payments prend en charge l'observabilité via Amazon CloudWatch, ce qui vous permet de surveiller et de résoudre les problèmes liés à votre intégration des paiements.

  • Amazon CloudWatch est le service AWS de surveillance et d'observabilité. Il collecte et suit les métriques, les journaux et les traces de vos AWS ressources, vous donnant ainsi une visibilité sur les performances des applications.

  • Les journaux vendus sont des journaux que les AWS services publient en votre nom directement dans votre groupe de CloudWatch journaux. Contrairement aux journaux d'applications que vous instrumentalisez vous-même, les journaux vendus sont générés automatiquement par le service. Vous configurez où les livrer.

  • Les intervalles représentent les unités de travail au sein d'une demande (par exemple, un appel d'API et ses opérations en aval). Utilisez des intervalles pour suivre le flux d'une demande dans le système et identifier les problèmes de latence ou les défaillances.

Après avoir effectué les procédures de configuration suivantes, tout appel d'API du plan de données (par exempleCreatePaymentInstrument) produit des journaux et des données de suivi dans le groupe de journaux que CloudWatch vous avez configuré.

Conditions préalables

  • Un groupe de CloudWatch journaux comme destination de livraison (par exemple,/bedrock-agentcore/payments/my-logs). Si vous n'en avez pas, créez-en un à l'aide de la console ou de la CLI.

  • L'ARN de la ressource de votre PaymentManager.

Créez un groupe de journaux :

Exemple
Console

Ouvrez la CloudWatch console, accédez à Journaux > Groupes de journaux, puis choisissez Créer un groupe de journaux. Entrez un nom comme /bedrock-agentcore/payments/my-logs et sélectionnez votre période de conservation préférée.

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

Autorisations IAM

Votre utilisateur ou rôle IAM doit disposer des autorisations suivantes pour créer des ressources de diffusion log et span :

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

Journaux vended

Les journaux vendus apparaissent sous forme de journaux d'applications dans le groupe de journaux que vous avez configuré. Ils sont générés automatiquement par le service de AgentCore paiement pour chaque appel d'API du plan de données.

Portées vendues

Les spans vendus sont des enregistrements de suivi pour les demandes individuelles. Utilisez-les pour visualiser le flux des demandes entrantes AWS X-Ray. Chaque intervalle représente une unité de travail (par exemple, un appel d'API et ses opérations en aval), ce qui vous permet d'identifier les blocages ou les défaillances liés à la latence.

Noms de Span

AgentCore payments émet un intervalle par appel d'API du plan de données. Les noms de span suivent le modèle suivant Bedrock.AgentCore.Payments.<Operation> :

Nom de l'Espagne Description

Bedrock.AgentCore.Payments.ProcessPayment

Traiter une transaction de paiement

Bedrock.AgentCore.Payments.CreatePaymentInstrument

Création d'un instrument de paiement

Bedrock.AgentCore.Payments.GetPaymentInstrument

Récupérez un instrument de paiement

Bedrock.AgentCore.Payments.ListPaymentInstruments

Lister les instruments de paiement

Bedrock.AgentCore.Payments.DeletePaymentInstrument

Supprimer un instrument de paiement

Bedrock.AgentCore.Payments.GetPaymentInstrumentBalance

Obtenez l'équilibre de l'instrument

Bedrock.AgentCore.Payments.CreatePaymentSession

Création d'une session de paiement

Bedrock.AgentCore.Payments.GetPaymentSession

Récupérer une session de paiement

Bedrock.AgentCore.Payments.ListPaymentSessions

Lister les sessions de paiement

Bedrock.AgentCore.Payments.DeletePaymentSession

Supprimer une session de paiement

Attributs d'envergure

Chaque intervalle inclut les attributs suivants pour le filtrage et l'analyse dans AWS X-Ray :

Attribut Description

aws.payments.payment_manager_id

L'identifiant du gestionnaire de paiements pour cette demande

aws.payments.payment_connector_id

L'identifiant du connecteur de paiement (le cas échéant)

aws.payments.payment_instrument_id

L'identifiant de l'instrument de paiement (le cas échéant)

aws.payments.payment_session_id

L'identifiant de session de paiement (le cas échéant)

aws.payments.spend_amount

Le montant du paiement (ProcessPayment uniquement)

aws.payments.spend_currency

Devise de paiement (ProcessPayment uniquement)

aws.payments.session_remaining_budget

Budget de session restant après paiement (ProcessPayment uniquement)

aws.payments.total_budget_amount

Budget total de la session (ProcessPayment uniquement)

aws.payments.merchant

L'adresse du commerçant (PayTo) pour la transaction (ProcessPayment uniquement)

aws.payments.payment_agent_name

Le nom de l'agent, s'il est fourni via l'X-Amzn-Bedrock-AgentCore-Payments-Agent-Nameen-tête

aws.payments.token_fetch_latency_ms

Latence de récupération du jeton d'identification depuis AgentCore Identity (uniquement) ProcessPayment

Des AWS attributs standard sont également inclus sur chaque span :

  • aws.region— La AWS région

  • aws.account.id— L'identifiant du compte de l'appelant

  • aws.resource.arn— L' PaymentManager ARN

  • aws.request_id— L'ID de la demande

  • http.response.status_code— Le code d'état de la réponse HTTP

Métriques vendues

AgentCore payments publie les statistiques suivantes dans votre espace de CloudWatch noms Amazon. Utilisez-les pour créer des tableaux de bord, définir des alarmes et surveiller l'état des paiements.

Métrique Unité Description

OperationSuccess

Nombre

Nombre d'appels d'API réussis

OperationFailure

Nombre

Nombre d'appels d'API ayant échoué

OperationLatency

Millisecondes

End-to-end latence par appel d'API

SpendAmount

Aucune

Montant du paiement traité (ProcessPayment uniquement)

Throttles

Nombre

Nombre de demandes limitées

UserErrors

Nombre

Nombre d'erreurs de validation côté client

ActiveSessions

Nombre

Nombre de sessions de paiement actives

PaymentRequestCount

Nombre

Nombre total de demandes de paiement

PaymentSuccessCount

Nombre

Transactions de paiement réussies

PaymentFailureCount

Nombre

Transactions de paiement échouées

PaymentLatency

Millisecondes

Latence du traitement des paiements

Dimensions des métriques

Les métriques sont publiées avec les dimensions suivantes pour le filtrage :

  • Opération — Le nom de l'opération API (toujours présent)

  • PaymentManagerId— L'identifiant du gestionnaire de paiements (lorsqu'il est disponible)

  • PaymentConnectorId— L'identifiant du connecteur de paiement (lorsqu'il est disponible)

  • AgentName— Le nom de l'agent (lorsqu'il est fourni via un en-tête)

  • Devise — Devise de paiement (pour le SpendAmount système métrique)

Permettre l'observabilité

Exemple
Console

Depuis la page de détails du gestionnaire de paiements de la AgentCore console Amazon Bedrock :

  1. Accédez à la section Livraisons de journaux et suivi.

  2. Configurez la livraison des journaux à votre groupe de CloudWatch journaux.

  3. Activez les traces pour afficher les travées. AWS X-Ray

La section Observabilité de la page de détails du gestionnaire de paiements fournit des mesures en temps réel, notamment le nombre de sessions, les appels d'API, les taux de réussite des transactions et les taux d'erreur.

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

Pour plus d'informations sur l' AgentCore observabilité, voir AgentCore Observabilité. Pour les métriques et les intervalles spécifiques à la passerelle, voir les données d'observabilité AgentCore générées par la passerelle.