View a markdown version of this page

Observabilité avec Amazon CloudWatch - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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 à l'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 des applications que vous instrumentez vous-même, les journaux distribués sont générés automatiquement par le service. Vous configurez l'endroit où vous souhaitez les distribuer.

  • Les spans 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 spans pour suivre le flux d'une demande dans le système et identifier les goulots d'étranglement ou les défaillances en matière de latence.

Une fois que vous avez terminé 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 trace dans votre groupe de CloudWatch journaux 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 l'interface de ligne de commande.

  • L'ARN de 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 tel que /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 and 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 distribués apparaissent sous forme de journaux d'application 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ée Vended

Les spans vended sont des enregistrements de traces pour les demandes individuelles. Utilisez-les pour visualiser le flux de demandes 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 goulots d'étranglement ou les défaillances en matière de latence.

Noms des spans

AgentCore payments émet une plage par appel d'API de plan de données. Les noms des spans suivent le modèle suivant Bedrock.AgentCore.Payments.<Operation> :

Nom de l'Espagne Description

Bedrock.AgentCore.Payments.ProcessPayment

Traiter une opération 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

Liste des 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éer une session de paiement

Bedrock.AgentCore.Payments.GetPaymentSession

Récupérez une session de paiement

Bedrock.AgentCore.Payments.ListPaymentSessions

Lister les sessions de paiement

Bedrock.AgentCore.Payments.DeletePaymentSession

Supprimer une session de paiement

Attributs Span

Chaque plage 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 paiement pour cette demande

aws.payments.payment_connector_id

L'ID 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'ID de session de paiement (le cas échéant)

aws.payments.spend_amount

Le montant du paiement (ProcessPayment uniquement)

aws.payments.spend_currency

La 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 la récupération des jetons d'identification depuis AgentCore Identity (uniquement) ProcessPayment

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

  • 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'identifiant de la demande

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

Métriques des ventes

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 requêtes limitées

UserErrors

Nombre

Nombre d'erreurs de validation côté client

ActiveSessions

Nombre

Nombre de sessions de paiement actives

PaymentRequestCount

Nombre

Total des 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 de filtrage suivantes :

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

  • PaymentManagerId— L'identifiant du gestionnaire de paiement (s'il est disponible)

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

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

  • Devise  : devise de paiement (pour les SpendAmount métriques)

Activez l'observabilité

Exemple
Console

Sur la page de détails du gestionnaire de paiement de la AgentCore console Amazon Bedrock :

  1. Accédez à la section Journaliser les livraisons et le suivi.

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

  3. Activez les traces pour afficher les intervalles. AWS X-Ray

La section Observabilité de la page détaillée du Payment Manager 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é, consultez la section AgentCore Observabilité. Pour les métriques et les étendues spécifiques à la passerelle, consultez les données d'observabilité des passerelles AgentCore générées.