View a markdown version of this page

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

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungi osservabilità alle tue risorse Amazon Bedrock AgentCore

Amazon Bedrock AgentCore fornisce una serie di metriche integrate per monitorare le prestazioni delle risorse per il AgentCore runtime, la memoria, il gateway, gli strumenti integrati e i 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, apri la pagina Amazon Observability. CloudWatch CloudWatch GenAi

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

Suggerimento

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

Abilitazione dell'osservabilità AgentCore

Per visualizzare le metriche, gli intervalli e le tracce generati dal AgentCore servizio, devi prima completare una configurazione unica per attivare Amazon Transaction Search. CloudWatch Per visualizzare gli intervalli di risorse di memoria forniti dal servizio, devi anche abilitare la traccia quando crei una memoria. Per saperne di più, vedi Abilitazione dell'osservabilità per 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.

Attivazione della ricerca CloudWatch delle transazioni

Puoi abilitare la ricerca CloudWatch delle transazioni 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 Transaction Search.

Esempio
CloudWatch console
  1. ====== Per abilitare la ricerca CloudWatch delle transazioni 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 intervalli come log strutturati.

  6. Selezionare 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 policy basata sulle risorse con. PutResourcePolicy

    Il seguente comando AWS CLI aggiunge una policy sulle risorse che fornisce le autorizzazioni per inviare tracce ai log. AWS X-Ray 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 chiarezza, la politica JSON in linea in questo comando è 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) Configura 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 gli 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 log di Amazon dei log dell'agente. CloudWatch Con questa configurazione, gli intervalli vengono indirizzati allo stream di spans log in/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>, anziché al gruppo di log condivisoaws/spans. Puoi tenere insieme gli intervalli, i log strutturati e l'output standard in un gruppo di log per agente, estendere il controllo degli accessi e la crittografia a un singolo agente ed esportare la telemetria da un'unica posizione.

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

È possibile sovrascrivere 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 invia 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 invia gli intervalli dell'agente al gruppo di aws/spans log condiviso.

AgentCore Per inviare 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 inviare intervalli di tempo al gruppo di log dell'agente. Per ulteriori informazioni, consulta Abilitazione CloudWatch della ricerca delle transazioni.

  • Assegna l'logs:PutResourcePolicyazione sul gruppo di log dell'agente al ruolo di esecuzione dell'agente. AgentCore utilizza questa autorizzazione per consentire AWS X-Ray di inviare intervalli al gruppo di log. Per ulteriori informazioni, vedere 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 dell'intervallo e inviano gli intervalli al gruppo di log condiviso. aws/spans

La modifica della destinazione dello span non comporta lo spostamento dei dati dello span esistenti. Gli intervalli AgentCore già distribuiti 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 LangChain, 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. opentelemetry-instrument-langchain È anche possibile inviare telemetria e intervalli di convenzioni semantiche di intelligenza artificiale generativa definendo un tracciante personalizzato. https://opentelemetry.io/docs/specs/semconv/gen-ai/ https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-agent-spans/ 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 saperne di più, consulta le istruzioni in Abilitazione dell'osservabilità per gli agenti ospitati all'esterno. AgentCore

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

Aggiungi l'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 log di Open Telemetry (OTEL).

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

    aws-opentelemetry-distro>=0.18.0 boto3

    In alternativa, puoi installare direttamente le dipendenze:

    pip install aws-opentelemetry-distro>=0.18.0 boto3
  3. Esegui il codice del tuo agente utilizzando il comando OpenTelemetry autoinstrumentation:

    opentelemetry-instrument python my_agent.py

    Questo approccio di strumentazione automatica aggiunge automaticamente l'SDK al percorso Python. Potresti già utilizzare questo approccio come parte della tua implementazione standard. OpenTelemetry

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

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

    Quando si utilizza ADOT, per propagare correttamente l'ID di sessione, definisci l'intestazione della X-Amzn-Bedrock-AgentCore-Runtime-Session-Id richiesta. ADOT imposta quindi il session_id correttamente nelle intestazioni downstream.

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

    Puoi anche richiamare il tuo agente con intestazioni aggiuntive per ulteriori opzioni di osservabilità. Per saperne di più, consulta Osservabilità del AgentCore runtime migliorata 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 ADOT SDK al tuo codice.

Se ospiti il tuo agente su AWS Lambda, utilizza Lambda Layer for OpenTelemetry sul AWS sito web di Distro for. AWS OpenTelemetry Aggiungi il livello alla tua funzione, quindi imposta la variabile di AWS_LAMBDA_EXEC_WRAPPER ambiente su. /opt/otel-instrument Il livello 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

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

Per gli agenti in esecuzione al di fuori del AgentCore runtime, è inoltre necessario creare un gruppo di log di 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 AWS_GENAI_CONTENT_EXTRACTION_OPT_OUT=true # Keeps model payloads and tool request/response data on spans. Requires ADOT >=0.18.0. 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 inviare 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 logs:PutLogEvents quel gruppo di log. Utilizza la stessa policy mostrata in Enabling CloudWatch Transaction Search, inserendo l'ARN del tuo gruppo di log. Resource Senza questa politica, non X-Ray puoi inviare intervalli al tuo gruppo di log.

Nota

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

Supporto per gli ID di sessione

Per diffondere l'ID di sessione, è necessario richiamarlo utilizzando l'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

Abilitazione dell'osservabilità di 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 utilizzi la console per configurare una destinazione CloudWatch Logs, il nome del gruppo di log predefinito per le risorse di memoria e gateway ha il formato/aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id}, dove {resource-type} è memory ogateway.

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 AgentCore console. Per ulteriori informazioni sull'archiviazione dei log in Amazon S3 o Firehose, consulta Caricare, scaricare e lavorare con oggetti in Amazon S3 e Creazione di un flusso di distribuzione Amazon Data Firehose.

Per ulteriori informazioni sui dati di log emessi da AgentCore for memory and gateway resources, consulta Provider log data (memory) o Provider log data (gateway).

Per quanto riguarda le risorse degli strumenti integrate, il AgentCore servizio non fornisce registri per impostazione predefinita, ma puoi generare i tuoi log dal tuo codice. Se fornisci i tuoi output di log, devi configurare manualmente le destinazioni dei log per archiviare questi dati.

Per vedere cosa AgentCore forniscono di default i dati di osservabilità 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 distribuzione dei log per le risorse di memoria (console)

  2. Apri la pagina Memoria nella console. AgentCore

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

  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 del log che desideri aggiungere (gruppo CloudWatch Logs, bucket Amazon S3 o Amazon Data Firehose).

  6. Per il tipo di registro, seleziona APPLICATION_LOGS.

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

  8. (Facoltativo) Per le destinazioni CloudWatch Logs, per modificare il gruppo di log predefinito, inserisci un nuovo nome di gruppo di log o seleziona un gruppo di log esistente in Destination log group.

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

  10. Scegliere Aggiungi.

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

  2. Apri la pagina Gateways nella console. AgentCore

  3. Nel riquadro Gateway, 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 del 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 di destinazione di consegna. Per CloudWatch i log, il gruppo di log di destinazione è già popolato con un valore predefinito.

  7. (Facoltativo) Per le destinazioni CloudWatch Logs, per modificare il gruppo di log predefinito, inserisci un nuovo nome di gruppo di log o seleziona un gruppo di log esistente in Destination log group.

  8. (Facoltativo) Per modificare i campi acquisiti in ogni record di log o il formato di output dei log, espandi Impostazioni aggiuntive (opzionale) e modifica la selezione del campo, il formato di output e il delimitatore di campo in base alla 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, seleziona l'agente di runtime per il quale desideri 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 del CloudWatch log: Amazon Logs, Amazon S3 o Amazon Data Firehose.

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

    • Per Tipo di registro, scegli 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 consegna di destinazione.

  6. Verifica che lo stato di consegna del registro sia impostato su Delivery active.

Built-in tools
  1. ====== Per configurare la distribuzione dei log per le risorse di strumenti integrate (console)

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

  3. Nel riquadro degli Built-in strumenti, nella scheda Strumenti di interpretazione del codice o nella scheda Strumenti del browser, seleziona lo strumento di interpretazione del codice o lo strumento browser per il quale 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 del CloudWatch log: Amazon Logs, Amazon S3 o Amazon Data Firehose.

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

    • Per Tipo di registro, scegli 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 consegna di destinazione.

  6. Verifica che lo stato di consegna del registro sia impostato su Delivery active.

Identity
  1. WorkloadIdentity l'abilitazione alla consegna dei log viene gestita a livello di risorse associate, incluse le risorse di runtime dell'agente o dell'agent gateway.

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

  2. Aprire la pagina Gateway o Agent Runtime nella AgentCore console e selezionare un agente o un gateway per il quale si desidera abilitare la WorkloadIdentity registrazione.

  3. Nella scheda Identità, scorri verso il basso fino al riquadro di distribuzione dei log e dal menu a discesa Aggiungi, scegli la destinazione della 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, scegli 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 consegna di destinazione.

  5. Verifica che lo stato di consegna del registro sia impostato su Delivery active.

Configura il tracciamento della consegna CloudWatch tramite la console

Questa sezione descrive come abilitare la distribuzione delle tracce CloudWatch per tracciare il flusso di interazioni attraverso l'applicazione, consentendoti di visualizzare le richieste, identificare i colli di bottiglia nelle prestazioni, risolvere gli errori e ottimizzare le prestazioni.

Esempio
Memory
  1. ====== Per configurare la traccia delle risorse di memoria (console)

  2. Apri la pagina Memoria nella console. AgentCore

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

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

Runtime
  1. ====== Per configurare la traccia per le risorse di runtime (console)

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

  3. Nel riquadro Runtime agents, seleziona l'agente per il quale desideri abilitare il tracing.

  4. Nel riquadro Tracing, scegli Modifica, attiva il widget su Abilita, quindi scegli Salva.

    AgentCore abilita la traccia per l'agente selezionato. Gli intervalli 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 condivisa dello span. Per ulteriori informazioni, consulta Span destination per gli agenti ospitati nel runtime di Amazon Bedrock. AgentCore

    Per configurare la WorkloadIdentity traccia delle 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 tracing.

  7. Nel riquadro Tracing, scegli Modifica, attiva il widget su Abilita, quindi scegli Salva.

    WorkloadIdentity la traccia sarà abilitata per l'agente selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

Built-in tools
  1. ====== Per configurare la traccia 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 browser per il quale desideri abilitare la traccia.

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

    La traccia sarà abilitata per l'interprete di codice o lo strumento browser selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

Gateway
  1. ====== Per configurare la traccia per le risorse del gateway (console)

  2. Apri la pagina Gateways nella console. AgentCore

  3. Nel riquadro Gateway, seleziona il gateway per il quale desideri abilitare il tracing.

  4. Nel riquadro Tracing, scegli Modifica, attiva il widget su Abilita, quindi scegli Salva.

    La traccia sarà abilitata per il gateway selezionato e gli intervalli saranno disponibili nel gruppo di log. aws/spans

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

  5. Apri la pagina Gateways nella AgentCore console.

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

  7. Nel riquadro Tracing, scegli Modifica, attiva il widget su Abilita, quindi scegli Salva.

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

    Nota

    È necessario che la ricerca CloudWatch delle transazioni sia abilitata prima di poter abilitare la traccia.

Identity
  1. ====== Per configurare la traccia delle risorse di identità (console)

  2. Apri la pagina Identity nella console. AgentCore

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

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

Configura le risorse utilizzando CloudWatch un AWS SDK

Per configurare una fonte di consegna per log e 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 consegna e le destinazioni per il tracciamento sono applicabili solo per le risorse di memoria e 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à AgentCore di runtime migliorata con intestazioni personalizzate

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

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

Puoi includere le seguenti intestazioni opzionali quando invoci il tuo 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 monitoraggio delle richieste (X-Ray formato)

root=1-5759E988-BD862E3FE1BE46A994272793; genitore=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 il tracciamento. Sampling=1 significa campionamento al 100%. Anche Parent è X-Ray in formato Trace. OTEL genererà automaticamente gli ID di tracciamento se non vengono forniti.

traceparent

Intestazione di tracciamento standard W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C che include versione, ID di traccia, ID principale e flag. Necessario per la correlazione delle tracce tra 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 sulle sessioni.

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.

trace-state

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

UserID=alice, serverRegion=US-EAST-1

Key-value coppie che propagano le proprietà definite dall'utente oltre 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 intestazioni personalizzate:

  • StartCodeInterpreterSession

  • InvokeCodeInterpreter

  • StopCodeInterpreterSession

  • StartBrowserSession

  • StopBrowserSession

Header Description Valore di esempio Spiegazione tecnica

X-Amzn-Trace-Id

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

root=1-5759E988-BD862E3FE1BE46A994272793; genitore=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 il tracciamento. Sampling=1 significa campionamento al 100%. Anche Parent è X-Ray in formato Trace. OTEL genererà automaticamente gli ID di tracciamento se non vengono forniti.

traceparent

Intestazione di tracciamento standard W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

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

Osservabilità AgentCore dell'identità migliorata 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 capacità 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 monitoraggio delle richieste (X-Ray formato)

root=1-5759E988-BD862E3FE1BE46A994272793; genitore=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 il tracciamento. Sampling=1 significa campionamento al 100%. Anche Parent è X-Ray in formato Trace. OTEL genererà automaticamente gli ID di tracciamento se non vengono forniti.

Le migliori pratiche di osservabilità

Prendi in considerazione le seguenti best practice quando implementi l'osservabilità per gli agenti in: AgentCore

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

  • Implementa la traccia distribuita: utilizza le intestazioni fornite per abilitare la traccia end-to-end tra i componenti dell'applicazione.

  • Aggiungi attributi personalizzati: migliora le tue tracce e le tue 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 sull'utilizzo della memoria per ottimizzare le prestazioni del tuo agente.

  • Imposta avvisi: configura gli CloudWatch allarmi per aiutarti a notificare 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 per true annullare l'impostazione delle variabili di ambiente ADOT predefinite del AgentCore runtime, assicurando che nessuna delle configurazioni ADOT predefinite sia impostata.