View a markdown version of this page

Aggiungi osservabilità alle tue risorse Amazon Bedrock AgentCore - Amazon Bedrock AgentCore

Aggiungi osservabilità alle tue risorse Amazon Bedrock AgentCore

Amazon Bedrock AgentCore fornisce una serie di parametri integrati per monitorare le prestazioni delle risorse per AgentCore runtime, memoria, gateway, strumenti integrati e tipi di risorse di identità. Questi dati predefiniti sono disponibili in Amazon CloudWatch. Per visualizzare l'intera gamma di dati di osservabilità nella CloudWatch console o per generare metriche di runtime personalizzate per gli agenti, devi strumentare il codice utilizzando l'SDK AWS Distro for Open Telemetry (ADOT).

Per visualizzare la dashboard di osservabilità in CloudWatch, apri la pagina Amazon CloudWatch GenAi Observability.

Consulta le sezioni seguenti per saperne di più sulla configurazione delle risorse per visualizzare i parametri di osservabilità nella pagina di osservabilità dell'IA generativa della CloudWatch console e nei log. CloudWatch

Suggerimento

L'uso dell'ADOT SDK per generare metriche personalizzate è supportato anche per gli agenti che funzionano al di fuori del runtime. AgentCore Per informazioni su come abilitare l'osservabilità per questi agenti, consulta Abilitazione dell'osservabilità per agenti ospitati all'esterno di. AgentCore

Abilitare l'osservabilità AgentCore

Per visualizzare metriche, intervalli e tracce generati dal AgentCore servizio, devi prima completare una configurazione unica per attivare Amazon CloudWatch Transaction Search. Per visualizzare gli intervalli di risorse di memoria forniti dal servizio, devi anche abilitare il tracciamento quando crei una memoria. Per ulteriori informazioni, consulta Enabling observability for AgentCore runtime, memory, gateway, strumenti integrati e risorse di identità.

Le sezioni seguenti descrivono come eseguire queste azioni di configurazione e abilitare l'osservabilità nel codice dell'agente.

Abilitazione della ricerca CloudWatch delle transazioni

Puoi abilitare CloudWatch Transaction Search utilizzando la CloudWatch console o utilizzando un'API tramite l'interfaccia a riga di AWS comando (AWS CLI) o uno degli AWS SDK.

Utilizza una delle seguenti procedure per abilitare la ricerca delle transazioni.

Esempio
CloudWatch console
  1. ====== Per abilitare CloudWatch Transaction Search nella console CloudWatch

  2. Aprire la console CloudWatch.

  3. Nel riquadro di navigazione, espandi Application Signals (APM) e scegli Transaction search.

  4. Scegli Abilita Transaction Search

  5. Seleziona la casella di controllo per inserire gli span come log strutturati.

  6. Scegli Save (Salva).

API
  1. ====== Per abilitare la ricerca delle transazioni utilizzando un'API CloudWatch

  2. Quando utilizzi la AWS CLI o un AWS SDK per abilitare Transaction Search, configura innanzitutto le autorizzazioni necessarie per inserire gli intervalli nei CloudWatch log aggiungendo una politica basata sulle risorse con. PutResourcePolicy

    Il seguente comando AWS CLI aggiunge una politica delle risorse che fornisce AWS X-Ray le autorizzazioni per inviare tracce ai registri. CloudWatch

    aws logs put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:partition:logs:region:account-id:log-group:aws/spans:*", "arn:partition:logs:region:account-id:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:logs:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ]}'

    Per maggiore chiarezza, la politica JSON in linea di questo comando viene mostrata estesa nell'esempio seguente:

    { "Version":"2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:aws/spans:*", "arn:aws:logs:us-east-1:123456789012:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:xray:us-east-1:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
  3. Configura la destinazione dei tuoi segmenti di traccia utilizzando. UpdateTraceSegmentDestination

    Per utilizzare la AWS CLI, esegui il comando seguente.

    aws xray update-trace-segment-destination --destination CloudWatchLogs
  4. (Facoltativo) Configurate la percentuale di campionamento desiderata utilizzando. UpdateIndexingRule

    Per utilizzare la AWS CLI, esegui il comando seguente.

    aws xray update-indexing-rule --name "Default" --rule '{"Probabilistic": {"DesiredSamplingPercentage": number}}'

Destinazione Span per agenti ospitati nel runtime di Amazon Bedrock AgentCore

Suggerimento

Ora puoi consolidare tutta la telemetria di un agente (intervalli, log strutturati e output standard) in un unico gruppo di log per ogni agente.

Con il AgentCore runtime, una funzionalità di Amazon Bedrock AgentCore, puoi configurare un agente in modo che distribuisca i suoi intervalli allo stesso gruppo di CloudWatch log Amazon dei log dell'agente. Con questa configurazione, gli intervalli vengono inseriti nel flusso di spans log in anziché nel /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name> gruppo di log condiviso. aws/spans È possibile riunire intervalli, log strutturati e output standard in un unico gruppo di log per agente, limitare il controllo degli accessi e la crittografia a un singolo agente ed esportare i dati di telemetria da un'unica posizione.

Nelle AWS regioni supportate, gli agenti appena creati utilizzano il gruppo di log dell'agente come destinazione span predefinita. Gli agenti creati prima che una regione supporti la destinazione span unificata mantengono il gruppo di aws/spans log condiviso come predefinito.

Puoi sostituire l'impostazione predefinita per un singolo agente con la variabile di UNIFIED_TRACES_DESTINATION_ENABLED ambiente nel runtime dell'agente:

  • Per attivare un agente esistente che utilizza il gruppo di aws/spans log condiviso, impostaUNIFIED_TRACES_DESTINATION_ENABLED=true. AgentCore quindi consegna gli intervalli dell'agente al proprio gruppo di log.

  • Per disattivare un agente che utilizza il proprio gruppo di log per impostazione predefinita, impostaUNIFIED_TRACES_DESTINATION_ENABLED=false. AgentCore quindi consegna gli intervalli dell'agente al gruppo di aws/spans log condiviso.

Per AgentCore consegnare gli intervalli al gruppo di log dell'agente, deve essere vero quanto segue:

  • Abilita CloudWatch Transaction Search nel tuo account e invia segmenti di traccia ad Amazon CloudWatch Logs. Senza Transaction Search, non è AgentCore possibile fornire span al gruppo di log dell'agente. Per ulteriori informazioni, vedere Abilitazione CloudWatch della ricerca nelle transazioni.

  • Concedi l'logs:PutResourcePolicyazione sul gruppo di log dell'agente al ruolo di esecuzione dell'agente. AgentCore utilizza questa autorizzazione per consentire di AWS X-Ray fornire intervalli al gruppo di log. Per ulteriori informazioni, vedete Ruolo di esecuzione per l'esecuzione di un agente in AgentCore fase di esecuzione.

  • L'agente utilizza la versione ADOT 0.18.0 o successiva (). aws-opentelemetry-distro>=0.18.0 Le versioni precedenti ignorano la configurazione della destinazione degli span e consegnano gli intervalli al gruppo di log condiviso. aws/spans

La modifica della destinazione dello span non comporta lo spostamento dei dati di span esistenti. Gli span AgentCore già consegnati rimangono nel gruppo di log originale.

Abilitazione dell'osservabilità nel codice dell'agente per gli agenti AgentCore-hosted

Oltre alle metriche generate dal servizio, AgentCore puoi anche raccogliere dati di span and trace e metriche personalizzate emesse dal codice del tuo agente.

Quando si utilizzano framework di agenti come Strands o CrewAI con librerie di strumentazione di terze parti supportate, il framework stesso include il supporto integrato per le convenzioni semantiche OTEL e GenAI e può anche essere strumentato con un pacchetto di strumentazione automatica come. LangChainopentelemetry-instrument-langchain È anche possibile inviare convenzioni semantiche di intelligenza artificiale generativa, telemetria e intervalli definendo un tracciante personalizzato. AgentCore supporta l'uso delle seguenti librerie di strumentazione nel framework degli agenti:

Per visualizzare questi dati nella pagina di osservabilità dell'IA generativa della CloudWatch console e in Amazon CloudWatch, devi aggiungere l'SDK AWS Distro for Open Telemetry (ADOT) al codice del tuo agente.

Nota

Con AgentCore, puoi anche visualizzare le metriche per gli agenti che non sono in esecuzione in fase di esecuzione. AgentCore Sono necessari passaggi di configurazione aggiuntivi per configurare gli output di telemetria per i non agenti. AgentCore Per ulteriori informazioni, consulta le istruzioni in Abilitare l'osservabilità per agenti ospitati all'esterno di. AgentCore

Per aggiungere il supporto ADOT e abilitare AgentCore l'osservabilità, segui i passaggi della procedura seguente.

Aggiungi osservabilità al tuo agente AgentCore

  1. Assicurati che il tuo framework sia configurato per emettere tracce. Ad esempio, nel framework Strands, l'oggetto tracer deve essere configurato per indicare a Strands di emettere i log di Open Telemetry (OTEL).

  2. Aggiungi ADOT SDK e boto3 alle dipendenze del tuo agente. Per Python, aggiungi quanto segue al tuo requirements.txt file:

    aws-opentelemetry-distro>=0.10.0 boto3

    In alternativa, puoi installare direttamente le dipendenze:

    pip install aws-opentelemetry-distro>=0.10.0 boto3
  3. Esegui il codice del tuo agente usando il comando di OpenTelemetry strumentazione automatica:

    opentelemetry-instrument python my_agent.py

    Questo approccio di strumentazione automatica aggiunge automaticamente l'SDK al percorso Python. È possibile che stiate già utilizzando questo approccio come parte della vostra implementazione standard. OpenTelemetry

    Per l'ambiente containerizzato (come docker) aggiungi il seguente comando:

    CMD ["opentelemetry-instrument", "python", "main.py"]

    Quando usi ADOT, per propagare correttamente l'ID di sessione, definiscilo nell'intestazione della X-Amzn-Bedrock-AgentCore-Runtime-Session-Id richiesta. ADOT imposta quindi correttamente il session_id nelle intestazioni a valle.

    Per propagare un ID di traccia, richiama il runtime con il set di parametri. AgentCore traceId=<traceId>

    Puoi anche richiamare il tuo agente con intestazioni aggiuntive per ulteriori opzioni di osservabilità. Per saperne di più, consulta Osservabilità avanzata in fase di AgentCore esecuzione con intestazioni personalizzate.

Abilitazione dell'osservabilità per gli agenti ospitati all'esterno di AgentCore

Per abilitare l'osservabilità per gli agenti ospitati al di fuori del AgentCore runtime, segui innanzitutto i passaggi nelle sezioni precedenti per abilitare CloudWatch Transaction Search e aggiungi l'ADOT SDK al tuo codice.

Se ospiti il tuo agente su AWS Lambda, usa il AWS Lambda Layer for OpenTelemetry sul sito Web Distro for. AWS OpenTelemetry Aggiungi il layer alla tua funzione, quindi imposta la variabile di AWS_LAMBDA_EXEC_WRAPPER ambiente su. /opt/otel-instrument Il layer quindi strumenta automaticamente la tua funzione. Con questo approccio, non è necessario aggiungere il aws-opentelemetry-distro pacchetto o eseguire il opentelemetry-instrument comando descritto in precedenza.

ADOT Collector non è supportato per l'osservabilità degli agenti

ADOT Collector non è supportato per l'osservabilità degli agenti. Per inviare telemetria da un agente ospitato al di fuori del AgentCore runtime, è necessario utilizzare ADOT SDK o Lambda Layer for. AWS OpenTelemetry

Per gli agenti che funzionano al di fuori del AgentCore runtime, è inoltre necessario creare un gruppo di log degli agenti da includere nelle variabili di ambiente.

Configurate le variabili di AWS ambiente, quindi impostate le variabili di ambiente Open Telemetry come illustrato di seguito.

AWS variabili di ambiente

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>

variabili di ambiente OTEL

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

Sostituiscile <agent-name> con il nome del tuo agente e <agent-id> con un identificatore univoco per il tuo agente.

Nota

Se decidi OTEL_EXPORTER_OTLP_TRACES_HEADERS di distribuire gli intervalli al tuo gruppo di log, devi anche aggiungere una policy sulle risorse di Amazon CloudWatch Logs. La policy deve consentire a X-Ray (xray.amazonaws.com) di richiamare quel logs:PutLogEvents gruppo di log. Usa la stessa politica mostrata in Enabling CloudWatch Transaction Search, inserendo l'ARN del tuo gruppo di log. Resource Senza questa politica, non X-Ray puoi fornire span al tuo gruppo di log.

Nota

(Facoltativo) Per Agent Frameworks diversi da Strands e CrewAI: potrebbe essere necessario aggiungere un SDK e un codice aggiuntivi per inviare telemetria e intervalli delle convenzioni semantiche dell'IA generativa. LangChain AgentCore Observability, una funzionalità di Amazon Bedrock AgentCore, supporta l'uso delle seguenti librerie di strumentazione nel tuo framework di agenti: * * Openllmetry * OpenInference* Traceloop OpenLit

Supporto per l'ID di sessione

Per propagare l'ID di sessione, è necessario richiamare l'utilizzo dell'identificatore di sessione nel bagaglio OTEL:

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

Consentire l'osservabilità per AgentCore runtime, memoria, gateway, strumenti integrati e risorse di identità

Quando si crea una risorsa AgentCore di runtime (agente), per impostazione predefinita, AgentCore runtime crea un gruppo di CloudWatch log per i log forniti dal servizio. Tuttavia, per quanto riguarda la memoria, il gateway e le risorse degli strumenti integrati, AgentCore non configura automaticamente le destinazioni dei log.

Per quanto riguarda le risorse di memoria e gateway, puoi configurare le destinazioni dei log nella console o utilizzando un AWS SDK. Se si utilizza la console per configurare una destinazione CloudWatch Logs, il nome del gruppo di log predefinito per le risorse di memoria e gateway ha la forma/aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id}, where {resource-type} is or. memory gateway

Per i log di memoria e gateway, puoi anche configurare le destinazioni dei log nei log di Amazon S3 o nei log di flusso Firehose utilizzando la console. AgentCore Per ulteriori informazioni sull'archiviazione dei log in Amazon S3 o Firehose, consulta Caricamento, download e utilizzo di oggetti in Amazon S3 e Creazione di un flusso di distribuzione Amazon Data Firehose.

Per ulteriori informazioni sui dati di registro emessi da AgentCore per le risorse di memoria e gateway, consulta Dati di registro forniti (memoria) o Dati di registro forniti (gateway).

Per quanto riguarda le risorse degli strumenti integrate, il AgentCore servizio non fornisce log per impostazione predefinita, ma è possibile generare log personalizzati a partire dal codice. Se fornite i vostri output di log, dovete configurare manualmente le destinazioni dei log per archiviare questi dati.

Per vedere quali dati di osservabilità AgentCore forniscono di default per ogni tipo di risorsa, consulta i dati di osservabilità AgentCore generati da Amazon Bedrock.

Configura le destinazioni dei log utilizzando la console

Per configurare le destinazioni dei log per la memoria o i log del gateway nella AgentCore console, utilizzare le seguenti procedure.

Esempio
Memory
  1. ====== Per configurare la consegna dei log per le risorse di memoria (console)

  2. Aprire la pagina Memoria nella console. AgentCore

  3. Nel riquadro Memoria, seleziona la memoria per la quale desideri configurare una destinazione di registro.

  4. Scorri verso il basso fino al riquadro di consegna del registro e scegli Aggiungi.

  5. Dall'elenco a discesa, seleziona il tipo di destinazione di log che desideri aggiungere (gruppo CloudWatch Logs, bucket Amazon S3 o Amazon Data Firehose).

  6. Per Tipo di log, seleziona APPLICATION_LOGS.

  7. Per le destinazioni Amazon S3 e Firehose, inserisci un ARN per la destinazione di consegna. Per CloudWatch Logs, il gruppo di log di destinazione è già popolato con un valore predefinito.

  8. (Facoltativo) Per le destinazioni CloudWatch dei log, per modificare il gruppo di log predefinito, immettete un nuovo nome per il gruppo di log o selezionate un gruppo di log esistente in Gruppo di log di destinazione.

  9. (Facoltativo) Per modificare i campi acquisiti in ogni record di registro o il formato di output dei registri, espandi Impostazioni aggiuntive (opzionale) e modifica la selezione dei campi, il Formato di output e il delimitatore di campo nella configurazione desiderata.

  10. Scegliere Aggiungi.

Gateway
  1. ====== Per configurare la consegna dei log per le risorse del gateway (console)

  2. Apri la pagina Gateway nella console. AgentCore

  3. Nel riquadro Gateways, seleziona il gateway per il quale desideri configurare una destinazione di log.

  4. Scorri verso il basso fino al riquadro di consegna dei log e scegli Aggiungi.

  5. Dall'elenco a discesa, seleziona il tipo di destinazione di log che desideri aggiungere (gruppo CloudWatch Logs, bucket Amazon S3 o Amazon Data Firehose).

  6. Per le destinazioni Amazon S3 e Firehose, inserisci un ARN per la destinazione di consegna. Per CloudWatch Logs, il gruppo di log di destinazione è già popolato con un valore predefinito.

  7. (Facoltativo) Per le destinazioni CloudWatch dei log, per modificare il gruppo di log predefinito, immettete un nuovo nome per il gruppo di log o selezionate un gruppo di log esistente in Gruppo di log di destinazione.

  8. (Facoltativo) Per modificare i campi acquisiti in ogni record di registro o il formato di output dei registri, espandi Impostazioni aggiuntive (opzionale) e modifica la selezione dei campi, il Formato di output e il delimitatore di campo nella configurazione desiderata.

  9. Scegliere Aggiungi.

Runtime
  1. ====== Per configurare la consegna dei log per le risorse di runtime dell'agente (console)

  2. Aprire la pagina Agent Runtime nella console. AgentCore

  3. Nel riquadro Runtime Agents, selezionate l'agente di runtime per il quale desiderate configurare una destinazione di log.

  4. Scorri verso il basso fino al riquadro di consegna dei log e dal menu a discesa Aggiungi, scegli la destinazione di registrazione: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  5. Configura i seguenti dettagli di consegna dei log, quindi scegli Aggiungi:

    • Per Tipo di registro, scegliete APPLICATION_LOGS.

    • Se utilizzi Amazon CloudWatch Logs come destinazione di registrazione, specifica il gruppo di log di destinazione.

    • Se utilizzi Amazon S3 come destinazione di registrazione, specifica il bucket Amazon S3 di destinazione.

    • Se utilizzi Amazon Data Firehose come destinazione di registrazione, specifica un flusso di distribuzione di destinazione.

  6. Verifica che lo stato di consegna dei log sia impostato su Delivery active.

Built-in tools
  1. ====== Per configurare la consegna dei log per le risorse degli strumenti integrati (console)

  2. Apri la pagina Built-in degli strumenti nella console. AgentCore

  3. Nel riquadro degli Built-in strumenti, nella scheda Strumenti dell'interprete del codice o nella scheda Strumenti del browser, seleziona lo strumento di interpretazione del codice o lo strumento del browser per cui desideri configurare una destinazione di registro.

  4. Scorri verso il basso fino al riquadro di consegna dei log e dal menu a discesa Aggiungi, scegli la destinazione di registrazione: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  5. Configura i seguenti dettagli di consegna dei log, quindi scegli Aggiungi:

    • Per Tipo di registro, scegliete APPLICATION_LOGS.

    • Se utilizzi Amazon CloudWatch Logs come destinazione di registrazione, specifica il gruppo di log di destinazione.

    • Se utilizzi Amazon S3 come destinazione di registrazione, specifica il bucket Amazon S3 di destinazione.

    • Se utilizzi Amazon Data Firehose come destinazione di registrazione, specifica un flusso di distribuzione di destinazione.

  6. Verifica che lo stato di consegna dei log sia impostato su Delivery active.

Identity
  1. WorkloadIdentity l'abilitazione della consegna dei log viene gestita a livello di risorsa associata, incluse le risorse di runtime dell'agente o del gateway dell'agente.

    Per configurare la consegna dei WorkloadIdentity log per le risorse associate (console)

  2. Apri la pagina Gateway o Agent Runtime nella AgentCore console e seleziona un agente o un gateway per il quale desideri abilitare WorkloadIdentity la registrazione.

  3. Nella scheda Identità, scorri verso il basso fino al riquadro di consegna dei log e dal menu a discesa Aggiungi, scegli la destinazione di registrazione: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  4. Configura i seguenti dettagli di consegna dei log, quindi scegli Aggiungi:

    • Per Tipo di registro, scegliete APPLICATION_LOGS.

    • Se utilizzi Amazon CloudWatch Logs come destinazione di registrazione, specifica il gruppo di log di destinazione.

    • Se utilizzi Amazon S3 come destinazione di registrazione, specifica il bucket Amazon S3 di destinazione.

    • Se utilizzi Amazon Data Firehose come destinazione di registrazione, specifica un flusso di distribuzione di destinazione.

  5. Verifica che lo stato di consegna dei log sia impostato su Delivery active.

Configura Tracing Delivery per CloudWatch l'utilizzo della console

Questa sezione descrive come abilitare Trace Delivery CloudWatch per tracciare il flusso di interazioni attraverso l'applicazione, consentendoti di visualizzare le richieste, identificare i punti deboli nelle prestazioni, risolvere gli errori e ottimizzare le prestazioni.

Esempio
Memory
  1. ====== Per configurare il tracciamento per le risorse di memoria (console)

  2. Aprire la pagina Memoria nella console. AgentCore

  3. Nel riquadro Memoria, selezionate la risorsa di memoria per la quale desiderate abilitare il tracciamento.

  4. Nel riquadro Tracciamento, scegli Modifica, imposta il widget su Abilita, quindi scegli Salva.

Runtime
  1. ====== Per configurare il tracciamento per le risorse di runtime (console)

  2. Aprire la pagina di runtime degli agenti nella console. AgentCore

  3. Nel riquadro Runtime Agents, selezionate l'agente per il quale desiderate abilitare il tracciamento.

  4. Nel riquadro Tracciamento, scegliete Modifica, impostate il widget su Abilita, quindi scegliete Salva.

    AgentCore abilita la traccia per l'agente selezionato. Gli span vengono visualizzati nel gruppo di log dell'agente (/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>) o nel gruppo di aws/spans log per gli agenti che utilizzano la destinazione span condivisa. Per ulteriori informazioni, consulta Span destination for agent ospitati nel runtime di Amazon Bedrock AgentCore .

    Per configurare il WorkloadIdentity tracciamento per le risorse di runtime (console)

  5. Aprire la pagina di runtime degli agenti nella AgentCore console.

  6. Nel riquadro Runtime Agents, scegli la scheda Identità, quindi seleziona l'agente per il quale desideri abilitare il WorkloadIdentity tracciamento.

  7. Nel riquadro Tracciamento, scegli Modifica, imposta il widget su Abilita, quindi scegli Salva.

    WorkloadIdentity il tracciamento sarà abilitato per l'agente selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

Built-in tools
  1. ====== Per configurare il tracciamento per gli strumenti integrati (console)

  2. Apri la pagina degli Built-in strumenti nella console. AgentCore

  3. Nel riquadro degli Built-in strumenti, nella scheda Strumenti dell'interprete del codice o nella scheda Strumenti del browser, seleziona lo strumento di interpretazione del codice o lo strumento del browser per cui desideri abilitare la traccia.

  4. Nel riquadro Tracciamento, scegliete Modifica, impostate il widget su Abilita, quindi scegliete Salva.

    Il tracciamento verrà abilitato per l'interprete di codice o lo strumento del browser selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

Gateway
  1. ====== Per configurare il tracciamento per le risorse del gateway (console)

  2. Apri la pagina Gateways nella console. AgentCore

  3. Nel riquadro Gateways, selezionate il gateway per il quale desiderate abilitare il tracciamento.

  4. Nel riquadro Tracciamento, scegli Modifica, imposta il widget su Abilita, quindi scegli Salva.

    Il tracciamento sarà abilitato per il gateway selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

    Per configurare il WorkloadIdentity tracciamento per le risorse del gateway (console)

  5. Apri la pagina Gateway nella AgentCore console.

  6. Nel riquadro Gateways, scegli la scheda Identità, quindi seleziona il gateway per il quale desideri abilitare WorkloadIdentity il tracciamento.

  7. Nel riquadro Tracciamento, scegli Modifica, imposta il widget su Abilita, quindi scegli Salva.

    WorkloadIdentity il tracciamento sarà abilitato per il gateway selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

    Nota

    È necessario che CloudWatch Transaction Search sia abilitato prima di poter abilitare il tracciamento.

Identity
  1. ====== Per configurare il tracciamento per le risorse di identità (console)

  2. Apri la pagina Identità nella console. AgentCore

  3. Nel riquadro Identità, seleziona il client OAuth o la chiave API per cui desideri abilitare la traccia.

  4. Nel riquadro Tracciamento, scegli Modifica, imposta il widget su Abilita, quindi scegli Salva.

Configura le risorse utilizzando CloudWatch un AWS SDK

Per configurare una fonte di distribuzione per log and trace (SDK)

  • Esegui il seguente codice Python CloudWatch per configurare la memoria, il gateway e le risorse degli strumenti integrati. Tieni presente che le fonti di distribuzione e le destinazioni per il tracciamento sono applicabili solo alla memoria e alle risorse del gateway.

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)

Osservabilità migliorata in AgentCore fase di esecuzione con intestazioni personalizzate

Puoi richiamare il tuo agente con intestazioni HTTP aggiuntive per fornire opzioni di osservabilità avanzate. L'esempio seguente mostra le invocazioni, incluse richieste di intestazione aggiuntive opzionali per gli agenti ospitati nel runtime. AgentCore

Esempio di invocazione Boto3

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"}', )

È possibile includere le seguenti intestazioni opzionali quando si richiama l'agente per migliorare le capacità di osservabilità e tracciamento:

Header Description Valore di esempio Spiegazione tecnica

X-Amzn-Trace-Id

ID di tracciamento per il tracciamento delle richieste (X-Ray formato)

ROOT=1-5759E988-BD862E3FE1BE46A994272793; Parent=53995C3F42CD8AD8; Sampled=1

Utilizzato per il tracciamento distribuito tra i servizi. AWS Contiene l'ID root (origine della richiesta), l'ID principale (servizio precedente) e la decisione di campionamento per la tracciabilità. Sampling=1 significa campionamento al 100%. Parent è X-Ray anche in formato Trace. OTEL genererà automaticamente gli ID di traccia se non vengono forniti.

traceparent

Intestazione di tracciamento standard W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C che include versione, trace ID, ID principale e flag. Necessario per la correlazione delle tracce tra i servizi quando si utilizzano sistemi di tracciamento moderni.

X-Amzn-Bedrock-AgentCore-Runtime-Session-Id

AgentCore identificatore di sessione

a1b2c3d4-5678-90ab-cdef-esempio AAAAA

Identifica una sessione utente all'interno del sistema. AgentCore Aiuta con l'analisi e la risoluzione dei problemi basate sulla sessione.

mcp-session-id

identificatore di sessione MCP

MCP-A1B2C3D4-5678-90AB-CDEF - Esempio AAAAA

Identifica una sessione nella piattaforma cloud gestita. Consente il tracciamento delle operazioni nell'ecosistema MCP.

traccia lo stato

Informazioni aggiuntive sullo stato di tracciamento

congo=t61rc E, rojo=00f067aa0ba902b7 WkgMz

Vendor-specific informazioni di tracciamento. Fornisce un contesto aggiuntivo per i sistemi di tracciamento oltre a quello contenuto in traceparent.

bagaglio

Propagazione del contesto per il tracciamento distribuito

ID utente = Alice, regione del server = Stati Uniti orientali - 1

Key-value coppie che propagano le proprietà definite dall'utente attraverso i confini del servizio per la registrazione e l'analisi contestuali.

Osservabilità migliorata degli strumenti AgentCore integrati con intestazioni personalizzate

Puoi richiamare i tuoi Built-in strumenti con intestazioni HTTP aggiuntive per fornire opzioni di osservabilità avanzate. Puoi includere le seguenti intestazioni opzionali quando integri le seguenti API Build-in Tools per migliorare le capacità di osservabilità e tracciamento:

Le seguenti API supportano le intestazioni personalizzate:

  • StartCodeInterpreterSession

  • InvokeCodeInterpreter

  • StopCodeInterpreterSession

  • StartBrowserSession

  • StopBrowserSession

Header Description Valore di esempio Spiegazione tecnica

X-Amzn-Trace-Id

ID di tracciamento per il tracciamento delle richieste (X-Ray formato)

ROOT=1-5759E988-BD862E3FE1BE46A994272793; Parent=53995C3F42CD8AD8; Sampled=1

Utilizzato per il tracciamento distribuito tra i servizi. AWS Contiene l'ID root (origine della richiesta), l'ID principale (servizio precedente) e la decisione di campionamento per la tracciabilità. Sampling=1 significa campionamento al 100%. Parent è X-Ray anche in formato Trace. OTEL genererà automaticamente gli ID di traccia se non vengono forniti.

traceparent

Intestazione di tracciamento standard W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C che include versione, trace ID, ID principale e flag. Necessario per la correlazione delle tracce tra i servizi quando si utilizzano sistemi di tracciamento moderni.

Migliore osservabilità AgentCore dell'identità con intestazioni personalizzate

Puoi richiamare le tue risorse di identità con intestazioni HTTP aggiuntive per fornire opzioni di osservabilità avanzate. Puoi includere le seguenti intestazioni opzionali quando integri le seguenti API di identità per migliorare le funzionalità di osservabilità e tracciamento:

Le seguenti API supportano le intestazioni personalizzate:

  • GetWorkloadAccessToken

  • GetWorkloadAccessTokenForJWT

  • GetWorkloadAccessTokenForUserId

  • GetResourceOauth2Token

  • GetResourceAPIKey

Header Description Valore di esempio Spiegazione tecnica

X-Amzn-Trace-Id

ID di tracciamento per il tracciamento delle richieste (X-Ray formato)

ROOT=1-5759E988-BD862E3FE1BE46A994272793; Parent=53995C3F42CD8AD8; Sampled=1

Utilizzato per il tracciamento distribuito tra i servizi. AWS Contiene l'ID root (origine della richiesta), l'ID principale (servizio precedente) e la decisione di campionamento per la tracciabilità. Sampling=1 significa campionamento al 100%. Parent è X-Ray anche in formato Trace. OTEL genererà automaticamente gli ID di traccia se non vengono forniti.

Migliori pratiche di osservabilità

Considerate le seguenti best practice quando implementate l'osservabilità per gli agenti in: AgentCore

  • Usa ID di sessione coerenti: quando possibile, riutilizza lo stesso ID di sessione per le richieste correlate per mantenere il contesto tra le interazioni.

  • Implementa il tracciamento distribuito: utilizza le intestazioni fornite per abilitare il tracciamento end-to-end tra i componenti dell'applicazione.

  • Aggiungi attributi personalizzati: migliora le tracce e le metriche con attributi personalizzati che forniscono un contesto aggiuntivo per la risoluzione dei problemi e l'analisi.

  • Monitora l'utilizzo delle risorse: presta attenzione alle metriche di utilizzo della memoria per ottimizzare le prestazioni del tuo agente.

  • Imposta avvisi: configura gli CloudWatch allarmi per avvisarti di potenziali problemi prima che abbiano un impatto sugli utenti.

Utilizzo di altre piattaforme di osservabilità

Per integrare gli agenti ospitati nel AgentCore runtime con altre piattaforme di osservabilità per acquisire e visualizzare gli output di telemetria, imposta la seguente variabile di ambiente:

DISABLE_ADOT_OBSERVABILITY=true

L'impostazione di questa variabile in modo da true annullare l'impostazione delle variabili di ambiente ADOT predefinite del AgentCore runtime, assicurando che nessuna delle configurazioni ADOT predefinite sia impostata.