Erweitern Sie Ihre Amazon AgentCore Bedrock-Ressourcen um Beobachtbarkeit
Amazon Bedrock AgentCore bietet eine Reihe integrierter Metriken zur Überwachung der Leistung von Ressourcen für die Typen AgentCore Runtime, Memory, Gateway, integrierte Tools und Identitätsressourcen. Diese Standarddaten sind in Amazon verfügbar CloudWatch. Um das gesamte Spektrum der Observability-Daten in der CloudWatch Konsole anzuzeigen oder benutzerdefinierte Laufzeitmetriken für Agenten auszugeben, müssen Sie Ihren Code mit dem AWS Distro for Open Telemetry (ADOT) SDK instrumentieren.
Um das Observability-Dashboard in aufzurufen CloudWatch, öffnen Sie die Amazon CloudWatch GenAi Observability-Seite
In den folgenden Abschnitten erfahren Sie mehr über die Konfiguration Ihrer Ressourcen zur Anzeige von Observability-Metriken auf der generativen KI-Observability-Seite der CloudWatch Konsole und in Logs. CloudWatch
Tipp
Die Verwendung des ADOT SDK zur Ausgabe benutzerdefinierter Metriken wird auch für Agenten unterstützt, die außerhalb der Laufzeit ausgeführt werden. AgentCore Informationen zum Aktivieren der Observability für diese Agenten finden Sie unter Observability für Agenten aktivieren, die außerhalb von gehostet werden. AgentCore
Themen
Aktivierung der Beobachtbarkeit im Agentencode für Agenten AgentCore-hosted
Aktivierung der Beobachtbarkeit für Agenten, die außerhalb von gehostet werden AgentCore
Verbesserte AgentCore Laufzeitbeobachtbarkeit mit benutzerdefinierten Headern
Verbesserte Beobachtbarkeit der AgentCore integrierten Tools mit benutzerdefinierten Headern
Verbesserte AgentCore Identitätserkennbarkeit mit benutzerdefinierten Headern
Observability aktivieren AgentCore
Um die vom AgentCore Service generierten Metriken, Spans und Traces anzuzeigen, müssen Sie zunächst eine einmalige Einrichtung durchführen, um Amazon CloudWatch Transaction Search zu aktivieren. Um die vom Service bereitgestellten Spans für Speicherressourcen anzuzeigen, müssen Sie bei der Erstellung eines Speichers auch die Ablaufverfolgung aktivieren. Weitere Informationen finden Sie unter Aktivieren von Observability für AgentCore Laufzeit-, Speicher-, Gateway-, integrierte Tools und Identitätsressourcen.
In den folgenden Abschnitten wird beschrieben, wie Sie diese Setup-Aktionen ausführen und Observability in Ihrem Agentencode aktivieren.
CloudWatch Transaktionssuche aktivieren
Sie können die CloudWatch Transaktionssuche entweder mithilfe der CloudWatch Konsole oder mithilfe einer API über die AWS Befehlszeilenschnittstelle (AWS CLI) oder eines der AWS SDKs aktivieren.
Verwenden Sie eines der folgenden Verfahren, um die Transaktionssuche zu aktivieren.
Beispiel
Span-Ziel für Agenten, die in Amazon Bedrock AgentCore Runtime gehostet werden
Tipp
Sie können jetzt die gesamte Telemetrie eines Agenten — Spans, strukturierte Protokolle und Standardausgabe — in einer einzigen Protokollgruppe für jeden Agenten konsolidieren.
Mit AgentCore Runtime, einer Funktion von Amazon Bedrock AgentCore, können Sie einen Agenten so konfigurieren, dass er seine Spans an dieselbe CloudWatch Amazon-Protokollgruppe übermittelt wie die Protokolle des Agenten. Bei dieser Konfiguration werden die Spans in den spans Log-Stream übertragen und nicht in /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name> die gemeinsam genutzte aws/spans Protokollgruppe. Sie können Spans, strukturierte Protokolle und Standardausgaben in einer Protokollgruppe für jeden Agenten zusammenfassen, die Zugriffskontrolle und Verschlüsselung auf einen einzelnen Agenten beschränken und Telemetrie von einem einzigen Standort aus exportieren.
In unterstützten AWS Regionen verwenden neu erstellte Agenten die Protokollgruppe des Agenten als Standard-Span-Ziel. Agenten, die erstellt wurden, bevor eine Region das einheitliche Span-Ziel unterstützt, behalten die gemeinsame aws/spans Protokollgruppe als Standard bei.
Sie können den Standard für einen einzelnen Agenten mit der UNIFIED_TRACES_DESTINATION_ENABLED Umgebungsvariablen in Ihrer Agenten-Laufzeit außer Kraft setzen:
-
Um einen vorhandenen Agenten zu aktivieren, der die gemeinsame
aws/spansProtokollgruppe verwendet, legen Sie festUNIFIED_TRACES_DESTINATION_ENABLED=true. AgentCore übermittelt dann die Spans des Agenten an seine eigene Protokollgruppe. -
Um einen Agenten zu deaktivieren, der standardmäßig seine eigene Protokollgruppe verwendet, legen Sie fest
UNIFIED_TRACES_DESTINATION_ENABLED=false. AgentCore übermittelt dann die Spans des Agenten an die gemeinsam genutzteaws/spansProtokollgruppe.
Damit AgentCore die Spans an die Protokollgruppe des Agenten übermittelt werden können, muss Folgendes zutreffen:
-
Aktivieren Sie die CloudWatch Transaktionssuche in Ihrem Konto und senden Sie Trace-Segmente an Amazon CloudWatch Logs. Ohne Transaktionssuche AgentCore können keine Spans an die Protokollgruppe des Agenten übermittelt werden. Weitere Informationen finden Sie unter CloudWatch Transaktionssuche aktivieren.
-
Erteilen Sie die
logs:PutResourcePolicyAktion in der Protokollgruppe des Agenten der Ausführungsrolle des Agenten. AgentCore verwendet diese Berechtigung, um die Übermittlung von Spans an die Protokollgruppe zu ermöglichen AWS X-Ray . Weitere Informationen finden Sie unter Ausführungsrolle für die Ausführung eines Agenten zur AgentCore Laufzeit. -
Der Agent verwendet ADOT Version 0.18.0 oder höher ().
aws-opentelemetry-distro>=0.18.0Frühere Versionen ignorieren die Span-Zielkonfiguration und liefern Spans an die gemeinsam genutzte Protokollgruppe.aws/spans
Durch das Ändern des Span-Ziels werden vorhandene Span-Daten nicht verschoben. Spans, die AgentCore bereits übermittelt wurden, verbleiben in ihrer ursprünglichen Protokollgruppe.
Aktivierung der Beobachtbarkeit im Agentencode für Agenten AgentCore-hosted
Zusätzlich zu den vom Service generierten Metriken können AgentCore Sie damit auch Span- und Trace-Daten sowie benutzerdefinierte Messwerte sammeln, die aus Ihrem Agentencode stammen.
Wenn Sie Agenten-Frameworks wie Strandsopentelemetry-instrument-langchain Es ist auch möglich, semantische Konventionen von Generative AI, Telemetrie
Um diese Daten auf der generativen KI-Observabilitätsseite der CloudWatch Konsole und in Amazon anzuzeigen CloudWatch, müssen Sie Ihrem Agentencode das SDK AWS Distro for Open Telemetry (ADOT) hinzufügen.
Anmerkung
Mit AgentCore können Sie auch Metriken für Agenten anzeigen, die nicht in der Runtime laufen. AgentCore Zusätzliche Einrichtungsschritte sind erforderlich, um Telemetrieausgänge für AgentCore Nicht-Agenten zu konfigurieren. Weitere Informationen finden Sie in den Anweisungen unter Observability für Agenten aktivieren, die außerhalb von gehostet AgentCore werden.
Gehen Sie wie folgt vor, um ADOT-Unterstützung hinzuzufügen und AgentCore Observability zu aktivieren.
Fügen Sie Ihrem Agenten Observability hinzu AgentCore
-
Stellen Sie sicher, dass Ihr Framework so konfiguriert ist, dass es Traces ausgibt. Im Strands-Framework muss das Tracer-Objekt beispielsweise so konfiguriert sein, dass Strands angewiesen wird, Open Telemetry (OTEL) -Protokolle (Open Telemetry) auszugeben.
-
Fügen Sie das ADOT SDK und boto3 zu den Abhängigkeiten Ihres Agenten hinzu. Für Python fügen Sie Ihrer
requirements.txtDatei Folgendes hinzu:aws-opentelemetry-distro>=0.10.0 boto3Alternativ können Sie die Abhängigkeiten direkt installieren:
pip install aws-opentelemetry-distro>=0.10.0 boto3 -
Führen Sie Ihren Agentencode mit dem Befehl OpenTelemetry auto-instrumentation aus:
opentelemetry-instrument python my_agent.pyDieser automatische Instrumentierungsansatz fügt das SDK automatisch zum Python-Pfad hinzu. Möglicherweise verwenden Sie diesen Ansatz bereits als Teil Ihrer OpenTelemetry Standardimplementierung.
Fügen Sie für eine containerisierte Umgebung (wie Docker) den folgenden Befehl hinzu:
CMD ["opentelemetry-instrument", "python", "main.py"]Wenn Sie ADOT verwenden und die Sitzungs-ID korrekt weitergeben möchten, definieren Sie das
X-Amzn-Bedrock-AgentCore-Runtime-Session-Idim Anforderungsheader. ADOT setzt dann die session_id korrekt in den Downstream-Headern.Um eine Trace-ID zu propagieren, rufen Sie die Laufzeit mit dem Parametersatz auf. AgentCore
traceId=<traceId>Sie können Ihren Agenten auch mit zusätzlichen Headern aufrufen, um zusätzliche Observability-Optionen zu erhalten. Weitere Informationen finden Sie unter Verbesserte AgentCore Laufzeitbeobachtbarkeit mit benutzerdefinierten Headern.
Aktivierung der Beobachtbarkeit für Agenten, die außerhalb von gehostet werden AgentCore
Um Observability für Agenten zu aktivieren, die außerhalb der AgentCore Runtime gehostet werden, folgen Sie zunächst den Schritten in den vorherigen Abschnitten, um die CloudWatch Transaktionssuche zu aktivieren, und fügen Sie Ihrem Code das ADOT-SDK hinzu.
Wenn Sie Ihren Agenten auf AWS Lambda hosten, verwenden Sie den AWS Lambda-Layer für OpenTelemetryAWS_LAMBDA_EXEC_WRAPPER Umgebungsvariable auf. /opt/otel-instrument Die Ebene instrumentiert dann automatisch Ihre Funktion. Bei diesem Ansatz müssen Sie das aws-opentelemetry-distro Paket nicht hinzufügen oder den zuvor beschriebenen opentelemetry-instrument Befehl ausführen.
ADOT Collector wird für die Agentenbeobachtbarkeit nicht unterstützt
Der ADOT Collector wird für die Beobachtbarkeit durch Agenten nicht unterstützt. Um Telemetrie von einem außerhalb der AgentCore Laufzeit gehosteten Agenten zu senden, müssen Sie entweder das ADOT SDK oder den AWS Lambda Layer for verwenden. OpenTelemetry
Für Agenten, die außerhalb der AgentCore Runtime ausgeführt werden, müssen Sie außerdem eine Agenten-Protokollgruppe erstellen, die Sie in Ihre Umgebungsvariablen aufnehmen.
Konfigurieren Sie Ihre AWS Umgebungsvariablen und legen Sie dann Ihre Open Telemetrie-Umgebungsvariablen fest, wie im Folgenden gezeigt.
AWS Umgebungsvariablen
AWS_ACCOUNT_ID=<account id> AWS_DEFAULT_REGION=<default region> AWS_REGION=<region> AWS_ACCESS_KEY_ID=<access key id> AWS_SECRET_ACCESS_KEY=<secret key>
OTEL-Umgebungsvariablen
AGENT_OBSERVABILITY_ENABLED=true OTEL_PYTHON_DISTRO=aws_distro OTEL_PYTHON_CONFIGURATOR=aws_configurator # required for ADOT Python only OTEL_RESOURCE_ATTRIBUTES=service.name=<agent-name>,aws.log.group.names=/aws/bedrock-agentcore/runtimes/<agent-id>,cloud.resource_id=<AgentEndpointArn:AgentEndpointName> # endpoint is optional OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=/aws/bedrock-agentcore/runtimes/<agent-id>,x-aws-log-stream=runtime-logs,x-aws-metric-namespace=bedrock-agentcore OTEL_EXPORTER_OTLP_TRACES_HEADERS=x-aws-log-group=/aws/bedrock-agentcore/runtimes/<agent-id>,x-aws-log-stream=spans # (Optional) Directs spans to your log group instead of the aws/spans log group. Requires ADOT version 0.18.0 or later. OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf OTEL_TRACES_EXPORTER=otlp OTEL_AWS_APPLICATION_SIGNALS_ENABLED=false # AWS Lambda Layer for OpenTelemetry only: disables Application Signals OTEL_LOGS_EXPORTER=otlp # AWS Lambda Layer for OpenTelemetry only: exports logs over OTLP OTEL_METRICS_EXPORTER=awsemf # AWS Lambda Layer for OpenTelemetry only: exports metrics as CloudWatch EMF
<agent-name>Ersetzen Sie es durch den Namen Ihres Agenten und <agent-id> durch eine eindeutige Kennung für Ihren Agenten.
Anmerkung
Wenn Sie festlegenOTEL_EXPORTER_OTLP_TRACES_HEADERS, dass Spans an Ihre eigene Protokollgruppe gesendet werden, müssen Sie auch eine Amazon CloudWatch Logs-Ressourcenrichtlinie hinzufügen. Die Richtlinie muss es X-Ray (xray.amazonaws.com) ermöglichen, diese Protokollgruppe logs:PutLogEvents aufzurufen. Verwenden Sie dieselbe Richtlinie wie unter CloudWatch Transaktionssuche aktivieren, und geben Sie den ARN Ihrer Protokollgruppe einResource. Ohne diese Richtlinie X-Ray können keine Spans an Ihre Protokollgruppe übermittelt werden.
Anmerkung
(Optional) Für andere Agenten-Frameworks als Strands LangChain, und CrewAI: Möglicherweise müssen Sie ein zusätzliches SDK und Code hinzufügen, um semantische Generative AI-Konventionen, Telemetrie und Spans zu senden. AgentCore Observability, eine Funktion von Amazon Bedrock AgentCore, unterstützt die Verwendung der folgenden Instrumentierungsbibliotheken in Ihrem Agenten-Framework: * * Openllmetry * OpenInference
Unterstützung für Sitzungs-IDs
Um die Sitzungs-ID weiterzugeben, müssen Sie den Aufruf mit der Sitzungs-ID im OTEL-Backage aufrufen:
from opentelemetry import baggage ctx = baggage.set_baggage("session.id", session_id) # Set the session.id in baggage attach(ctx) # Attach the context to make it active token
Aktivierung von Observability für AgentCore Laufzeit-, Speicher-, Gateway-, integrierte Tools und Identitätsressourcen
Wenn Sie eine AgentCore Laufzeitressource (Agent) erstellen, erstellt AgentCore Runtime standardmäßig eine CloudWatch Protokollgruppe für die vom Dienst bereitgestellten Protokolle. Für Speicher-, Gateway- und integrierte Toolressourcen werden Protokollziele jedoch AgentCore nicht automatisch für Sie konfiguriert.
Für Speicher- und Gatewayressourcen können Sie Protokollziele entweder in der Konsole oder mithilfe eines AWS SDK konfigurieren. Wenn Sie die Konsole verwenden, um ein CloudWatch Logs-Ziel zu konfigurieren, hat der Standard-Protokollgruppenname für Speicher- und Gateway-Ressourcen die Form/aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id}, wobei entweder memory oder {resource-type} stehtgateway.
Für Speicher- und Gateway-Protokolle können Sie mithilfe der AgentCore Konsole auch Protokollziele in Amazon S3 S3-Protokollen oder Firehose-Stream-Protokollen konfigurieren. Weitere Informationen zum Speichern von Protokollen in Amazon S3 oder Firehose finden Sie unter Hochladen, Herunterladen und Arbeiten mit Objekten in Amazon S3 und Erstellen eines Amazon Data Firehose-Lieferdatenstroms.
Weitere Informationen zu den Protokolldaten, die von AgentCore Arbeitsspeicher- und Gateway-Ressourcen ausgegeben werden, finden Sie unter Bereitgestellte Protokolldaten (Speicher) oder Bereitgestellte Protokolldaten (Gateway).
Für integrierte Toolressourcen stellt der AgentCore Dienst standardmäßig keine Protokolle bereit, aber Sie können Ihre eigenen Protokolle anhand Ihres Codes ausgeben. Wenn Sie Ihre eigenen Protokollausgaben bereitstellen, müssen Sie die Protokollziele zum Speichern dieser Daten manuell konfigurieren.
Informationen darüber, was Observability-Daten standardmäßig für jeden Ressourcentyp AgentCore bieten, finden Sie unter Von Amazon Bedrock AgentCore generierte Observabilitätsdaten.
Konfigurieren Sie Protokollziele mithilfe der Konsole
Gehen Sie wie folgt vor, um Protokollziele für Speicher- oder Gateway-Protokolle in der AgentCore Konsole zu konfigurieren.
Beispiel
Konfigurieren Sie die Zustellung mit Ablaufverfolgung für die CloudWatch Verwendung der Konsole
In diesem Abschnitt wird beschrieben, wie Sie Trace Delivery aktivieren CloudWatch , um den Fluss der Interaktionen in Ihrer Anwendung nachzuverfolgen. Auf diese Weise können Sie Anfragen visualisieren, Leistungsengpässe identifizieren, Fehler beheben und die Leistung optimieren.
Beispiel
Konfigurieren Sie CloudWatch Ressourcen mithilfe eines AWS SDK
So konfigurieren Sie eine Zustellungsquelle für Logs and Traces (SDK)
-
Führen Sie den folgenden Python-Code aus, CloudWatch um Ihre Speicher-, Gateway- und integrierten Toolressourcen zu konfigurieren. Beachten Sie, dass Zustellungsquellen und -ziele für die Ablaufverfolgung nur für Speicher- und Gateway-Ressourcen gelten.
import boto3 def enable_observability_for_resource(resource_arn, resource_id, account_id, region='us-east-1'): """ Enable observability for a Bedrock AgentCore resource (e.g., Memory Store) """ logs_client = boto3.client('logs', region_name=region) # Step 0: Create new log group for vended log delivery log_group_name = f'/aws/vendedlogs/bedrock-agentcore/{resource_id}' logs_client.create_log_group(logGroupName=log_group_name) log_group_arn = f'arn:aws:logs:{region}:{account_id}:log-group:{log_group_name}' # Step 1: Create delivery source for logs logs_source_response = logs_client.put_delivery_source( name=f"{resource_id}-logs-source", logType="APPLICATION_LOGS", resourceArn=resource_arn ) # Step 2: Create delivery source for traces traces_source_response = logs_client.put_delivery_source( name=f"{resource_id}-traces-source", logType="TRACES", resourceArn=resource_arn ) # Step 3: Create delivery destinations logs_destination_response = logs_client.put_delivery_destination( name=f"{resource_id}-logs-destination", deliveryDestinationType='CWL', deliveryDestinationConfiguration={ 'destinationResourceArn': log_group_arn, } ) # Traces required traces_destination_response = logs_client.put_delivery_destination( name=f"{resource_id}-traces-destination", deliveryDestinationType='XRAY' ) # Step 4: Create deliveries (connect sources to destinations) logs_delivery = logs_client.create_delivery( deliverySourceName=logs_source_response['deliverySource']['name'], deliveryDestinationArn=logs_destination_response['deliveryDestination']['arn'] ) # Traces required traces_delivery = logs_client.create_delivery( deliverySourceName=traces_source_response['deliverySource']['name'], deliveryDestinationArn=traces_destination_response['deliveryDestination']['arn'] ) print(f"Observability enabled for {resource_id}") return { 'logs_delivery_id': logs_delivery['id'], 'traces_delivery_id': traces_delivery['id'] } # Usage example resource_arn = "arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/my-memory-id" resource_id = "my-memory-id" account_id = "123456789012" delivery_ids = enable_observability_for_resource(resource_arn, resource_id, account_id)
Verbesserte AgentCore Laufzeitbeobachtbarkeit mit benutzerdefinierten Headern
Sie können Ihren Agenten mit zusätzlichen HTTP-Headern aufrufen, um erweiterte Observability-Optionen bereitzustellen. Das folgende Beispiel zeigt Aufrufe, einschließlich optionaler zusätzlicher Header-Anfragen für Agenten, die in der Runtime gehostet werden. AgentCore
Beispiel für einen Boto3-Aufruf
def invoke_agent(agent_id, payload, session_id=None): client = boto3.client("bedrock-agentcore", region="us-west-2") response = client.invoke_agent_runtime( agentRuntimeArn="arn:aws:bedrock-agentcore:us-west-2:111122223333:runtime/test_agent_boto2-nIg2xk3VSR", runtimeSessionId="12345678-1234-5678-9abc-123456789012", payload='{"query": "Plan a weekend in Seattle"}', )
Sie können die folgenden optionalen Header hinzufügen, wenn Sie Ihren Agenten aufrufen, um die Beobachtbarkeit und die Nachverfolgungsfunktionen zu verbessern:
| Header | Description | Beispielwert | Technische Erklärung |
|---|---|---|---|
|
X-Amzn-Trace-Id |
Trace-ID für die Nachverfolgung von Anfragen (X-Ray Format) |
root=1-5759E988-BD862E3FE1BE46A994272793; Eltern=53995C3F42CD8AD8; Sampled=1 |
Wird für die verteilte Ablaufverfolgung über mehrere Dienste hinweg verwendet. AWS Enthält die Root-ID (Herkunft der Anfrage), die übergeordnete ID (vorheriger Dienst) und die Stichprobenentscheidung für die Ablaufverfolgung. Stichproben=1 bedeutet 100% ige Probenahme. Parent ist ebenfalls das X-Ray Trace-Format. OTEL generiert automatisch Trace-IDs, wenn sie nicht angegeben werden. |
|
TraceParent |
W3C-Standard-Tracing-Header |
00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 |
W3C-Format, das Version, Trace-ID, übergeordnete ID und Flags enthält. Erforderlich für die dienstübergreifende Trace-Korrelation bei Verwendung moderner Ablaufverfolgungssysteme. |
|
X-Amzn-Bedrock-AgentCore-Runtime-Session-Id |
AgentCore Sitzungs-ID |
A1B2C3D4-5678-90AB-CDEF-Beispiel AAAAA |
Identifiziert eine Benutzersitzung innerhalb des Systems. AgentCore Hilft bei sitzungsbasierten Analysen und Problembehebungen. |
|
mcp-session-id |
MCP-Sitzungskennung |
MCP-A1B2C3D4-5678-90AB-CDEF-Beispiel AAAAA |
Identifiziert eine Sitzung auf der Managed Cloud Platform. Ermöglicht die Rückverfolgung von Vorgängen im gesamten MCP-Ökosystem. |
|
trace/state |
Zusätzliche Informationen zum Status der Ablaufverfolgung |
congo=t61rc E, rojo=00f067aa0ba902b7 WkgMz |
Vendor-specific Informationen nachverfolgen. Vermittelt zusätzlichen Kontext für Rückverfolgungssysteme, der über den Inhalt von traceparent hinausgeht. |
|
Gepäck |
Weitergabe des Kontextes für verteiltes Tracing |
userID=Alice, Serverregion=US-Ost-1 |
Key-value Paare, die benutzerdefinierte Eigenschaften für die kontextbezogene Protokollierung und Analyse über Dienstgrenzen hinweg weitergeben. |
Verbesserte Beobachtbarkeit der AgentCore integrierten Tools mit benutzerdefinierten Headern
Sie können Ihre Built-in Tools mit zusätzlichen HTTP-Headern aufrufen, um erweiterte Observability-Optionen bereitzustellen. Sie können die folgenden optionalen Header hinzufügen, wenn Sie die folgenden Build-in Tools-APIs integrieren, um die Beobachtbarkeit und die Tracing-Funktionen zu verbessern:
Die folgenden APIs unterstützen benutzerdefinierte Header:
-
StartCodeInterpreterSession
-
InvokeCodeInterpreter
-
StopCodeInterpreterSession
-
StartBrowserSession
-
StopBrowserSession
| Header | Description | Beispielwert | Technische Erklärung |
|---|---|---|---|
|
X-Amzn-Trace-Id |
Trace-ID für die Nachverfolgung von Anfragen (X-Ray Format) |
root=1-5759E988-BD862E3FE1BE46A994272793; Eltern=53995C3F42CD8AD8; Sampled=1 |
Wird für die verteilte Ablaufverfolgung über mehrere Dienste hinweg verwendet. AWS Enthält die Root-ID (Herkunft der Anfrage), die übergeordnete ID (vorheriger Dienst) und die Stichprobenentscheidung für die Ablaufverfolgung. Stichproben=1 bedeutet 100% ige Probenahme. Parent ist ebenfalls das X-Ray Trace-Format. OTEL generiert automatisch Trace-IDs, wenn sie nicht angegeben werden. |
|
TraceParent |
W3C-Standard-Tracing-Header |
00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 |
W3C-Format, das Version, Trace-ID, übergeordnete ID und Flags enthält. Erforderlich für die dienstübergreifende Trace-Korrelation bei Verwendung moderner Ablaufverfolgungssysteme. |
Verbesserte AgentCore Identitätserkennbarkeit mit benutzerdefinierten Headern
Sie können Ihre Identitätsressourcen mit zusätzlichen HTTP-Headern aufrufen, um erweiterte Observability-Optionen bereitzustellen. Sie können bei der Integration der folgenden Identitäts-APIs die folgenden optionalen Header einbeziehen, um die Beobachtbarkeit und die Nachverfolgungsfunktionen zu verbessern:
Die folgenden APIs unterstützen benutzerdefinierte Header:
-
GetWorkloadAccessToken
-
GetWorkloadAccessTokenForJWT
-
GetWorkloadAccessTokenForUserId
-
GetResourceOauth2Token
-
GetResourceAPIKey
| Header | Description | Beispielwert | Technische Erklärung |
|---|---|---|---|
|
X-Amzn-Trace-Id |
Trace-ID für die Nachverfolgung von Anfragen (X-Ray Format) |
root=1-5759E988-BD862E3FE1BE46A994272793; Eltern=53995C3F42CD8AD8; Sampled=1 |
Wird für die verteilte Ablaufverfolgung über mehrere Dienste hinweg verwendet. AWS Enthält die Root-ID (Herkunft der Anfrage), die übergeordnete ID (vorheriger Dienst) und die Stichprobenentscheidung für die Ablaufverfolgung. Stichproben=1 bedeutet 100% ige Probenahme. Parent ist ebenfalls das X-Ray Trace-Format. OTEL generiert automatisch Trace-IDs, wenn sie nicht angegeben werden. |
Bewährte Verfahren zur Beobachtbarkeit
Beachten Sie die folgenden bewährten Methoden bei der Implementierung von Observability für Agenten in: AgentCore
-
Verwenden Sie konsistente Sitzungs-IDs — Verwenden Sie nach Möglichkeit dieselbe Sitzungs-ID für verwandte Anfragen, um den Kontext zwischen den Interaktionen aufrechtzuerhalten.
-
Implementieren Sie verteiltes Tracing — Verwenden Sie die bereitgestellten Header, um eine durchgängige Ablaufverfolgung für Ihre Anwendungskomponenten zu ermöglichen.
-
Fügen Sie benutzerdefinierte Attribute hinzu — Erweitern Sie Ihre Traces und Metriken mit benutzerdefinierten Attributen, die zusätzlichen Kontext für die Fehlerbehebung und Analyse bieten.
-
Überwachen Sie die Ressourcennutzung — Achten Sie auf die Kennzahlen zur Speichernutzung, um die Leistung Ihres Agenten zu optimieren.
-
Benachrichtigungen einrichten — Konfigurieren Sie CloudWatch Alarme, um Sie über potenzielle Probleme zu informieren, bevor sie sich auf Ihre Benutzer auswirken.
Verwendung anderer Observability-Plattformen
Um in der AgentCore Runtime gehostete Agenten in andere Observability-Plattformen zu integrieren, um Telemetrieausgaben zu erfassen und anzuzeigen, legen Sie die folgende Umgebungsvariable fest:
DISABLE_ADOT_OBSERVABILITY=true
Wenn Sie diese Variable auf setzen, true werden die standardmäßigen ADOT-Umgebungsvariablen der AgentCore Laufzeit deaktiviert, sodass sichergestellt ist, dass keine der ADOT-Standardkonfigurationen festgelegt ist.