View a markdown version of this page

Beobachtbarkeit mit Amazon CloudWatch - Amazon Grundgestein AgentCore

Beobachtbarkeit mit Amazon CloudWatch

AgentCore Payments unterstützt Observability über Amazon CloudWatch, sodass Sie Ihre Zahlungsintegration überwachen und Fehler beheben können.

  • Amazon CloudWatch ist der AWS Überwachungs- und Beobachtungsdienst. Er sammelt und verfolgt Metriken, Logs und Traces aus Ihren AWS Ressourcen und verschafft Ihnen so einen Überblick über die Anwendungsleistung.

  • Verkaufte Protokolle sind Protokolle, die AWS Dienste in Ihrem Namen direkt in Ihrer CloudWatch Protokollgruppe veröffentlichen. Im Gegensatz zu Anwendungsprotokollen, die Sie selbst instrumentieren, werden Verkaufsprotokolle automatisch vom Dienst generiert. Sie konfigurieren, wohin sie geliefert werden sollen.

  • Spans stellen Arbeitseinheiten innerhalb einer Anfrage dar (z. B. ein API-Aufruf und seine nachgelagerten Operationen). Verwenden Sie Spans, um den Fluss einer Anfrage durch das System nachzuverfolgen und Latenzengpässe oder -ausfälle zu identifizieren.

Nachdem Sie die folgenden Einrichtungsverfahren abgeschlossen haben, erzeugt jeder API-Aufruf der Datenebene (z. B.CreatePaymentInstrument) Protokolle und Ablaufverfolgungsdaten in Ihrer konfigurierten CloudWatch Protokollgruppe.

Voraussetzungen

  • Eine CloudWatch Protokollgruppe als Übermittlungsziel (z. B./bedrock-agentcore/payments/my-logs). Wenn Sie noch keinen haben, erstellen Sie einen mit der Konsole oder CLI.

  • Der Ressourcen-ARN Ihres PaymentManager.

Erstellen Sie eine Protokollgruppe:

Beispiel
Console

Öffnen Sie die CloudWatch Konsole, gehen Sie zu Protokolle > Protokollgruppen und wählen Sie Protokollgruppe erstellen aus. Geben Sie einen Namen wie ein /bedrock-agentcore/payments/my-logs und wählen Sie Ihren bevorzugten Aufbewahrungszeitraum aus.

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

IAM-Berechtigungen

Ihr IAM-Benutzer oder Ihre IAM-Rolle muss über die folgenden Berechtigungen verfügen, um Ressourcen für die Erstellung, Protokollierung und Span Delivery zu erstellen:

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

Vended-Protokolle

Versendete Protokolle werden in Ihrer konfigurierten Protokollgruppe als Anwendungsprotokolle angezeigt. Diese werden automatisch vom AgentCore Zahlungsdienst für jeden API-Aufruf der Datenebene generiert.

Angebotene Spannweiten

Vended Spans sind Trace-Aufzeichnungen für einzelne Anfragen. Verwenden Sie sie, um den Anfragefluss zu visualisieren. AWS X-Ray Jede Spanne steht für eine Arbeitseinheit (z. B. einen API-Aufruf und seine nachgelagerten Operationen), sodass Sie Latenzengpässe oder -ausfälle identifizieren können.

Namen der Spans

AgentCore payments sendet einen Span pro API-Aufruf auf der Datenebene aus. Die Namen der Spans folgen dem MusterBedrock.AgentCore.Payments.<Operation>:

Span-Namen Description

Bedrock.AgentCore.Payments.ProcessPayment

Verarbeiten Sie eine Zahlungstransaktion

Bedrock.AgentCore.Payments.CreatePaymentInstrument

Erstellen Sie ein Zahlungsinstrument

Bedrock.AgentCore.Payments.GetPaymentInstrument

Rufen Sie ein Zahlungsinstrument ab

Bedrock.AgentCore.Payments.ListPaymentInstruments

Zahlungsinstrumente auflisten

Bedrock.AgentCore.Payments.DeletePaymentInstrument

Löschen Sie ein Zahlungsinstrument

Bedrock.AgentCore.Payments.GetPaymentInstrumentBalance

Holen Sie sich den Kontostand

Bedrock.AgentCore.Payments.CreatePaymentSession

Erstellen Sie eine Zahlungssitzung

Bedrock.AgentCore.Payments.GetPaymentSession

Rufen Sie eine Zahlungssitzung ab

Bedrock.AgentCore.Payments.ListPaymentSessions

Zahlungssitzungen auflisten

Bedrock.AgentCore.Payments.DeletePaymentSession

Löschen Sie eine Zahlungssitzung

Span-Attribute

Jeder Bereich umfasst die folgenden Attribute zum Filtern und Analysieren in AWS X-Ray:

Attribut Description

aws.payments.payment_manager_id

Die Payment Manager-ID für diese Anfrage

aws.payments.payment_connector_id

Die Payment Connector-ID (falls zutreffend)

aws.payments.payment_instrument_id

Die Zahlungsinstrument-ID (falls zutreffend)

aws.payments.payment_session_id

Die ID der Zahlungssitzung (falls zutreffend)

aws.payments.spend_amount

Der Zahlungsbetrag (ProcessPayment nur)

aws.payments.spend_currency

Die Zahlungswährung (ProcessPayment nur)

aws.payments.session_remaining_budget

Verbleibendes Sitzungsbudget nach Zahlung (ProcessPayment nur)

aws.payments.total_budget_amount

Gesamtes Sitzungsbudget (ProcessPayment nur)

aws.payments.merchant

Die Händleradresse (PayTo) für die Transaktion (ProcessPayment nur)

aws.payments.payment_agent_name

Der Name des Agenten, sofern er über den X-Amzn-Bedrock-AgentCore-Payments-Agent-Name Header angegeben wird

aws.payments.token_fetch_latency_ms

Latenz beim Abrufen von Anmeldeinformationstoken aus AgentCore Identity (nur) ProcessPayment

AWS Standardattribute sind ebenfalls in jedem Bereich enthalten:

  • aws.region— Die AWS Region

  • aws.account.id— Die Konto-ID des Anrufers

  • aws.resource.arn— Die PaymentManager ARN

  • aws.request_id— Die Anfrage-ID

  • http.response.status_code— Der Statuscode der HTTP-Antwort

Verkaufte Metriken

AgentCore payments veröffentlicht die folgenden Kennzahlen in Ihrem CloudWatch Amazon-Namespace. Verwenden Sie diese, um Dashboards zu erstellen, Alarme einzustellen und den Zahlungsstatus zu überwachen.

Metrik Einheit Description

OperationSuccess

Anzahl

Anzahl erfolgreicher API-Aufrufe

OperationFailure

Anzahl

Anzahl der fehlgeschlagenen API-Aufrufe

OperationLatency

Millisekunden

End-to-end Latenz pro API-Aufruf

SpendAmount

Keine

Bearbeiteter Zahlungsbetrag (ProcessPayment nur)

Throttles

Anzahl

Anzahl der gedrosselten Anfragen

UserErrors

Anzahl

Anzahl der clientseitigen Validierungsfehler

ActiveSessions

Anzahl

Anzahl der aktiven Zahlungssitzungen

PaymentRequestCount

Anzahl

Gesamtzahl der Zahlungsanfragen

PaymentSuccessCount

Anzahl

Erfolgreiche Zahlungsvorgänge

PaymentFailureCount

Anzahl

Fehlgeschlagene Zahlungsvorgänge

PaymentLatency

Millisekunden

Latenz bei der Zahlungsabwicklung

Metrikdimensionen

Metriken werden mit den folgenden Filterdimensionen veröffentlicht:

  • Vorgang — Der Name des API-Vorgangs (immer vorhanden)

  • PaymentManagerId— Die Zahlungsmanager-ID (sofern verfügbar)

  • PaymentConnectorId— Die Payment Connector-ID (falls verfügbar)

  • AgentName— Der Name des Agenten (sofern er über den Header bereitgestellt wird)

  • Währung — Die Zahlungswährung (für SpendAmount Metrik)

Beobachtbarkeit aktivieren

Beispiel
Console

Gehen Sie auf der Seite mit den Zahlungsmanager-Details in der Amazon AgentCore Bedrock-Konsole wie folgt vor:

  1. Navigieren Sie zum Abschnitt Lieferungen und Nachverfolgung protokollieren.

  2. Konfigurieren Sie die Protokollzustellung an Ihre CloudWatch Protokollgruppe.

  3. Aktivieren Sie Traces, um die Zeitspannen anzuzeigen. AWS X-Ray

Der Abschnitt Observability auf der Payment Manager-Detailseite bietet Echtzeit-Metriken wie Sitzungsanzahl, API-Aufrufe, Transaktionserfolgsraten und Fehlerquoten.

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

Weitere Informationen zur Beobachtbarkeit finden Sie unter AgentCore Observability. AgentCore Gateway-spezifische Metriken und Spans finden Sie unter Generierte Gateway-Observability-Daten. AgentCore