View a markdown version of this page

Adicione observabilidade aos seus recursos do Amazon Bedrock AgentCore - Base da Amazônia AgentCore

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicione observabilidade aos seus recursos do Amazon Bedrock AgentCore

O Amazon Bedrock AgentCore fornece várias métricas integradas para monitorar o desempenho dos recursos quanto ao tempo de AgentCore execução, memória, gateway, ferramentas integradas e tipos de recursos de identidade. Esses dados padrão estão disponíveis na Amazon CloudWatch. Para visualizar toda a gama de dados de observabilidade no CloudWatch console ou gerar métricas de tempo de execução personalizadas para agentes, você precisa instrumentar seu código usando o SDK do AWS Distro for Open Telemetry (ADOT).

Para visualizar o painel de observabilidade em CloudWatch, abra a página Amazon CloudWatch GenAi Observability.

Consulte as seções a seguir para saber mais sobre como configurar seus recursos para visualizar métricas de observabilidade na página de observabilidade de IA generativa do CloudWatch console e nos registros. CloudWatch

dica

O uso do ADOT SDK para gerar métricas personalizadas também é suportado por agentes executados fora do AgentCore tempo de execução. Para saber como habilitar a observabilidade para esses agentes, consulte Habilitando a observabilidade para agentes hospedados fora do. AgentCore

Permitindo a AgentCore observabilidade

Para visualizar métricas, extensões e rastreamentos gerados pelo AgentCore serviço, primeiro você precisa concluir uma configuração única para ativar a Pesquisa de CloudWatch transações da Amazon. Para visualizar os períodos de recursos de memória fornecidos pelo serviço, você também precisa ativar o rastreamento ao criar uma memória. Consulte Habilitando a observabilidade para AgentCore tempo de execução, memória, gateway, ferramentas integradas e recursos de identidade para saber mais.

As seções a seguir descrevem como realizar essas ações de configuração e ativar a observabilidade no código do seu agente.

Habilitando CloudWatch a pesquisa de transações

Você pode ativar a Pesquisa de CloudWatch Transações usando o CloudWatch console ou usando uma API por meio da Interface de Linha de AWS Comando (AWS CLI) ou de um dos AWS SDKs.

Use um dos procedimentos a seguir para ativar a Pesquisa de Transações.

exemplo
CloudWatch console
  1. ====== Para ativar a Pesquisa de CloudWatch Transações no console CloudWatch

  2. Abra o console do CloudWatch.

  3. No painel de navegação, expanda Application Signals (APM) e escolha Pesquisa de transações.

  4. Escolha Habilitar Transaction Search.

  5. Marque a caixa de seleção para ingerir extensões como registros estruturados.

  6. Escolha Salvar.

API
  1. ====== Para ativar a pesquisa de CloudWatch transações usando uma API

  2. Ao usar a AWS CLI ou um AWS SDK para ativar a pesquisa de transações, primeiro configure as permissões necessárias para ingerir extensões nos CloudWatch registros adicionando uma política baseada em recursos com. PutResourcePolicy

    O comando AWS CLI a seguir adiciona uma política de recursos que dá AWS X-Ray permissões para enviar rastreamentos aos CloudWatch registros.

    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" } } } ]}'

    Para maior clareza, a política JSON embutida nesse comando é mostrada expandida no exemplo a seguir:

    { "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. Configure o destino de seus segmentos de rastreamento usando UpdateTraceSegmentDestination.

    Para usar a AWS CLI, execute o comando a seguir.

    aws xray update-trace-segment-destination --destination CloudWatchLogs
  4. (Opcional) Configure a porcentagem de amostragem desejada usando UpdateIndexingRule.

    Para usar a AWS CLI, execute o comando a seguir.

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

Destino do Span para agentes hospedados no ambiente de execução do Amazon Bedrock AgentCore

dica

Agora você pode consolidar toda a telemetria de um agente — extensões, registros estruturados e saída padrão — em um único grupo de registros para cada agente.

Com o AgentCore runtime, um recurso do Amazon Bedrock AgentCore, você pode configurar um agente para entregar suas extensões ao mesmo grupo de CloudWatch registros da Amazon que os registros do agente. Com essa configuração, os spans vão para o fluxo de spans log em /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name> vez do grupo de aws/spans log compartilhado. Você pode manter extensões, registros estruturados e saída padrão juntos em um grupo de registros por agente, definir o escopo do controle de acesso e da criptografia para um agente individual e exportar a telemetria de um único local.

AWS Nas regiões suportadas, os agentes recém-criados usam o grupo de registros do agente como o destino de extensão padrão. Os agentes criados antes de uma região oferecer suporte ao destino unificado do span mantêm o grupo de aws/spans registros compartilhados como padrão.

Você pode substituir o padrão de um agente individual pela variável de UNIFIED_TRACES_DESTINATION_ENABLED ambiente no tempo de execução do seu agente:

  • Para optar por um agente existente que usa o grupo de aws/spans registros compartilhados, definaUNIFIED_TRACES_DESTINATION_ENABLED=true. AgentCore em seguida, entrega as extensões do agente para seu próprio grupo de registros.

  • Para excluir um agente que usa seu próprio grupo de registros por padrão, definaUNIFIED_TRACES_DESTINATION_ENABLED=false. AgentCore em seguida, entrega as extensões do agente para o grupo de aws/spans registros compartilhados.

AgentCore Para entregar períodos ao grupo de registros do agente, o seguinte deve ser verdadeiro:

  • Ative a pesquisa de CloudWatch transações em sua conta e envie segmentos de rastreamento para o Amazon CloudWatch Logs. Sem a Pesquisa de Transações, não é AgentCore possível entregar períodos ao grupo de registros do agente. Para obter mais informações, consulte Habilitando a pesquisa de CloudWatch transações.

  • Conceda a logs:PutResourcePolicy ação no grupo de registros do agente à função de execução do agente. AgentCore usa essa permissão para permitir AWS X-Ray a entrega de extensões ao grupo de registros. Para obter mais informações, consulte Função de execução para executar um agente em AgentCore tempo de execução.

  • O agente usa o ADOT versão 0.18.0 ou posterior (). aws-opentelemetry-distro>=0.18.0 As versões anteriores ignoram a configuração de destino da extensão e entregam extensões ao grupo de aws/spans registros compartilhado.

Alterar o destino da extensão não move os dados de extensão existentes. Os períodos que AgentCore já foram entregues permanecem em seu grupo de registros original.

Habilitando a observabilidade no código do agente para AgentCore-hosted agentes

Além das métricas geradas pelo serviço, AgentCore você também pode coletar dados de abrangência e rastreamento, bem como métricas personalizadas emitidas pelo código do seu agente.

Quando você usa estruturas de agentes como Strands ou CrewAI com bibliotecas de instrumentação de terceiros suportadas, a estrutura em si vem com suporte embutido para as convenções semânticas OTEL e GenAI e também pode ser instrumentada com um pacote de instrumentação automática, como. LangChain opentelemetry-instrument-langchain Também é possível enviar convenções semânticas generativas de IA, telemetria e extensões definindo um rastreador personalizado. AgentCore suporta o uso das seguintes bibliotecas de instrumentação em sua estrutura de agentes:

Para visualizar esses dados na página de observabilidade de IA generativa do CloudWatch console e na Amazon CloudWatch, você precisa adicionar o SDK do AWS Distro for Open Telemetry (ADOT) ao código do seu agente.

nota

Com AgentCore, você também pode visualizar métricas para agentes que não estão em execução no AgentCore tempo de execução. Etapas adicionais de configuração são necessárias para configurar as saídas de telemetria para não agentes. AgentCore Consulte as instruções em Habilitando a observabilidade para agentes hospedados fora do AgentCore para saber mais.

Para adicionar suporte ao ADOT e ativar a AgentCore observabilidade, siga as etapas no procedimento a seguir.

Adicione observabilidade ao seu agente AgentCore

  1. Certifique-se de que sua estrutura esteja configurada para emitir rastreamentos. Por exemplo, na estrutura Strands, o objeto rastreador deve ser configurado para instruir o Strands a emitir registros de Telemetria Aberta (OTEL).

  2. Adicione o ADOT SDK e o boto3 às dependências do seu agente. Para Python, adicione o seguinte ao seu requirements.txt arquivo:

    aws-opentelemetry-distro>=0.18.0 boto3

    Como alternativa, você pode instalar as dependências diretamente:

    pip install aws-opentelemetry-distro>=0.18.0 boto3
  3. Execute seu código de agente usando o comando de OpenTelemetry instrumentação automática:

    opentelemetry-instrument python my_agent.py

    Essa abordagem de autoinstrumentação adiciona automaticamente o SDK ao caminho do Python. Talvez você já esteja usando essa abordagem como parte de sua OpenTelemetry implementação padrão.

    Para ambientes em contêineres (como docker), adicione o seguinte comando:

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

    Ao usar o ADOT, para propagar o ID da sessão corretamente, defina o X-Amzn-Bedrock-AgentCore-Runtime-Session-Id no cabeçalho da solicitação. O ADOT então define o session_id corretamente nos cabeçalhos downstream.

    Para propagar uma ID de rastreamento, invoque o tempo de AgentCore execução com o conjunto de parâmetrostraceId=<traceId>.

    Você também pode invocar seu agente com cabeçalhos adicionais para obter opções adicionais de observabilidade. Consulte Observabilidade aprimorada do tempo de AgentCore execução com cabeçalhos personalizados para saber mais.

Permitindo a observabilidade para agentes hospedados fora do AgentCore

Para permitir a observabilidade de agentes hospedados fora do AgentCore tempo de execução, primeiro siga as etapas nas seções anteriores para ativar a Pesquisa de CloudWatch Transações e adicionar o ADOT SDK ao seu código.

Se você hospedar seu agente no AWS Lambda, use o AWS Lambda Layer for OpenTelemetry no site AWS Distro for. OpenTelemetry Adicione a camada à sua função e defina a variável de AWS_LAMBDA_EXEC_WRAPPER ambiente como/opt/otel-instrument. A camada então instrumenta automaticamente sua função. Com essa abordagem, você não precisa adicionar o aws-opentelemetry-distro pacote ou executar o opentelemetry-instrument comando descrito anteriormente.

O ADOT Collector não é compatível com a observabilidade do agente

O ADOT Collector não é compatível com a observabilidade do agente. Para enviar telemetria de um agente hospedado fora do AgentCore tempo de execução, você deve usar o ADOT SDK ou o Lambda AWS Layer for. OpenTelemetry

Para agentes executados fora do AgentCore tempo de execução, você também precisa criar um grupo de registros de agentes que você inclua nas variáveis de ambiente.

Configure suas variáveis de AWS ambiente e, em seguida, defina suas variáveis de ambiente Open Telemetry conforme mostrado a seguir.

AWS variáveis de 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>

Variáveis de 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

<agent-name>Substitua pelo nome do seu agente e <agent-id> por um identificador exclusivo para o seu agente.

nota

Se você definir OTEL_EXPORTER_OTLP_TRACES_HEADERS a entrega de períodos para seu próprio grupo de logs, também deverá adicionar uma política de recursos do Amazon CloudWatch Logs. A política deve permitir que X-Ray (xray.amazonaws.com) chame logs:PutLogEvents esse grupo de registros. Use a mesma política mostrada em Habilitando a Pesquisa de CloudWatch Transações, com o ARN do seu grupo de registros inserido. Resource Sem essa política, não é X-Ray possível entregar extensões ao seu grupo de registros.

nota

(Opcional) Para estruturas de agentes que não sejam Strands e CrewAI: talvez seja necessário adicionar um SDK e um código adicionais para enviar a telemetria e as extensões das convenções semânticas da IA generativa. LangChain AgentCore O Observability, um recurso do Amazon Bedrock AgentCore, suporta o uso das seguintes bibliotecas de instrumentação em sua estrutura de agentes: * * Openllmetry * OpenInference * Traceloop https://github.com/traceloop/openllmetry OpenLit https://www.traceloop.com/docs/introduction

Suporte para ID de sessão

Para propagar o ID da sessão, você precisa invocar usando o identificador de sessão na bagagem do 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

Permitindo a observabilidade de AgentCore tempo de execução, memória, gateway, ferramentas integradas e recursos de identidade

Quando você cria um recurso AgentCore de tempo de execução (agente), por padrão, o AgentCore tempo de execução cria um grupo de CloudWatch registros para os registros fornecidos pelo serviço. No entanto, para recursos de memória, gateway e ferramentas integradas, AgentCore não configura automaticamente os destinos de registro para você.

Para recursos de memória e gateway, você pode configurar destinos de registro no console ou usando um AWS SDK. Se você usar o console para configurar um destino de CloudWatch registros, o nome do grupo de registros padrão para recursos de memória e gateway terá o formato/aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id}, onde {resource-type} é memory ougateway.

Para registros de memória e gateway, você também pode configurar destinos de registro nos registros do Amazon S3 ou nos registros de stream do Firehose usando o AgentCore console. Para saber mais sobre como armazenar logs no Amazon S3 ou Firehose, consulte Carregar, baixar e trabalhar com objetos no Amazon S3 e Criar um stream de entrega do Amazon Data Firehose.

Para saber mais sobre a saída de dados de log AgentCore por recursos de memória e gateway, consulte Dados de registro fornecidos (memória) ou Dados de registro fornecidos (gateway).

Para recursos de ferramentas incorporados, o AgentCore serviço não fornece registros por padrão, mas você pode gerar seus próprios registros a partir do seu código. Se você fornecer suas próprias saídas de registro, precisará configurar manualmente os destinos de registro para armazenar esses dados.

Para ver quais dados de observabilidade AgentCore fornecem por padrão para cada tipo de recurso, consulte Dados de observabilidade AgentCore gerados pelo Amazon Bedrock.

Configurar destinos de registro usando o console

Para configurar destinos de registro para registros de memória ou gateway no AgentCore console, use os procedimentos a seguir.

exemplo
Memory
  1. ====== Para configurar a entrega de log para recursos de memória (console)

  2. Abra a página Memória no AgentCore console.

  3. No painel Memória, selecione a memória para a qual você deseja configurar um destino de registro.

  4. Role para baixo até o painel Entrega de registros e escolha Adicionar.

  5. Na lista suspensa, selecione o tipo de destino de log que você deseja adicionar (grupo de CloudWatch registros, bucket do Amazon S3 ou Amazon Data Firehose).

  6. Em Tipo de registro, selecione APPLICATION_LOGS.

  7. Para destinos Amazon S3 e Firehose, insira um ARN de destino de entrega. Para CloudWatch registros, o grupo de registros de destino já está preenchido com um valor padrão.

  8. (Opcional) Para destinos de CloudWatch registros, para alterar o grupo de registros padrão, insira um novo nome de grupo de registros ou selecione um grupo de registros existente em Grupo de registros de destino.

  9. (Opcional) Para alterar os campos que são capturados em cada registro de registro ou o formato de saída dos registros, expanda Configurações adicionais - opcional e modifique a seleção de campo, o formato de saída e o delimitador de campo para a configuração desejada.

  10. Escolha Adicionar.

Gateway
  1. ====== Para configurar a entrega de log para recursos de gateway (console)

  2. Abra a página Gateways no AgentCore console.

  3. No painel Gateways, selecione o gateway para o qual você deseja configurar um destino de log.

  4. Role para baixo até o painel Entrega de registros e escolha Adicionar.

  5. Na lista suspensa, selecione o tipo de destino de log que você deseja adicionar (grupo de CloudWatch registros, bucket do Amazon S3 ou Amazon Data Firehose).

  6. Para destinos Amazon S3 e Firehose, insira um ARN de destino de entrega. Para CloudWatch registros, o grupo de registros de destino já está preenchido com um valor padrão.

  7. (Opcional) Para destinos de CloudWatch registros, para alterar o grupo de registros padrão, insira um novo nome de grupo de registros ou selecione um grupo de registros existente em Grupo de registros de destino.

  8. (Opcional) Para alterar os campos que são capturados em cada registro de registro ou o formato de saída dos registros, expanda Configurações adicionais - opcional e modifique a seleção de campo, o formato de saída e o delimitador de campo para a configuração desejada.

  9. Escolha Adicionar.

Runtime
  1. ====== Para configurar a entrega de registros para recursos de tempo de execução do agente (console)

  2. Abra a página Agent Runtime no AgentCore console.

  3. No painel Agentes de tempo de execução, selecione o agente de tempo de execução para o qual você deseja configurar um destino de log.

  4. Role para baixo até o painel de entrega de registros e, no menu suspenso Adicionar, escolha o destino do registro: Amazon CloudWatch Logs, Amazon S3 ou Amazon Data Firehose.

  5. Configure os seguintes detalhes de entrega de log e escolha Adicionar:

    • Em Tipo de registro, escolha APPLICATION_LOGS.

    • Se estiver usando o Amazon CloudWatch Logs como destino de registro, especifique o grupo de registros de destino.

    • Se estiver usando o Amazon S3 como destino de registro, especifique o bucket do Amazon S3 de destino.

    • Se estiver usando o Amazon Data Firehose como destino de registro, especifique um stream de entrega de destino.

  6. Verifique se o status de entrega do registro está definido como Entrega ativa.

Built-in tools
  1. ====== Para configurar a entrega de registros para recursos de ferramentas integrados (console)

  2. Abra a página de Built-in ferramentas no AgentCore console.

  3. No painel de Built-in ferramentas, nas ferramentas do intérprete de código ou na guia Ferramentas do navegador, selecione a ferramenta do interpretador de código ou a ferramenta do navegador para a qual você deseja configurar um destino de registro.

  4. Role para baixo até o painel de entrega de registros e, no menu suspenso Adicionar, escolha o destino do registro: Amazon CloudWatch Logs, Amazon S3 ou Amazon Data Firehose.

  5. Configure os seguintes detalhes de entrega de log e escolha Adicionar:

    • Em Tipo de registro, escolha APPLICATION_LOGS.

    • Se estiver usando o Amazon CloudWatch Logs como destino de registro, especifique o grupo de registros de destino.

    • Se estiver usando o Amazon S3 como destino de registro, especifique o bucket do Amazon S3 de destino.

    • Se estiver usando o Amazon Data Firehose como destino de registro, especifique um stream de entrega de destino.

  6. Verifique se o status de entrega do registro está definido como Entrega ativa.

Identity
  1. WorkloadIdentity a habilitação da entrega de registros é feita no nível de recurso associado, incluindo recursos de tempo de execução do agente ou do gateway do agente.

    Para configurar a entrega de WorkloadIdentity registros para recursos associados (console)

  2. Abra a página Gateway ou Agent Runtime no AgentCore console e selecione um agente ou gateway para o qual você deseja ativar o WorkloadIdentity registro.

  3. Na guia Identidade, role para baixo até o painel de entrega de registros e, no menu suspenso Adicionar, escolha o destino do registro: Amazon CloudWatch Logs, Amazon S3 ou Amazon Data Firehose.

  4. Configure os seguintes detalhes de entrega de log e escolha Adicionar:

    • Em Tipo de registro, escolha APPLICATION_LOGS.

    • Se estiver usando o Amazon CloudWatch Logs como destino de registro, especifique o grupo de registros de destino.

    • Se estiver usando o Amazon S3 como destino de registro, especifique o bucket do Amazon S3 de destino.

    • Se estiver usando o Amazon Data Firehose como destino de registro, especifique um stream de entrega de destino.

  5. Verifique se o status de entrega do registro está definido como Entrega ativa.

Configurar a entrega de rastreamento para CloudWatch usar o console

Esta seção descreve como habilitar a entrega de rastreamento CloudWatch para rastrear o fluxo de interações em seu aplicativo, permitindo que você visualize solicitações, identifique gargalos de desempenho, solucione erros e otimize o desempenho.

exemplo
Memory
  1. ====== Para configurar o rastreamento de recursos de memória (console)

  2. Abra a página Memória no AgentCore console.

  3. No painel Memória, selecione o recurso de memória para o qual você deseja ativar o rastreamento.

  4. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

Runtime
  1. ====== Para configurar o rastreamento para recursos de tempo de execução (console)

  2. Abra a página de tempo de execução dos agentes no AgentCore console.

  3. No painel Agentes do Runtime, selecione o agente para o qual você deseja ativar o rastreamento.

  4. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

    AgentCore permite o rastreamento do agente selecionado. Os intervalos aparecem no grupo de registros do agente (/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>) ou no grupo de aws/spans registros para agentes que usam o destino de períodos compartilhados. Para obter mais informações, consulte Destino de Span para agentes hospedados no tempo de AgentCore execução do Amazon Bedrock.

    Para configurar o WorkloadIdentity rastreamento para recursos de tempo de execução (console)

  5. Abra a página de tempo de execução dos agentes no AgentCore console.

  6. No painel Agentes do Runtime, escolha a guia Identidade e selecione o agente para o qual você deseja ativar o WorkloadIdentity rastreamento.

  7. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

    WorkloadIdentity o rastreamento será ativado para o agente selecionado e os intervalos estarão disponíveis no grupo de aws/spans registros.

Built-in tools
  1. ====== Para configurar o rastreamento para ferramentas integradas (console)

  2. Abra a página de Built-in ferramentas no AgentCore console.

  3. No painel de Built-in ferramentas, nas ferramentas do intérprete de código ou na guia Ferramentas do navegador, selecione a ferramenta do interpretador de código ou a ferramenta do navegador para a qual você deseja ativar o rastreamento.

  4. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

    O rastreamento será ativado para o interpretador de código ou a ferramenta de navegador selecionada e os intervalos estarão disponíveis no aws/spans grupo de registros.

Gateway
  1. ====== Para configurar o rastreamento para recursos de gateway (console)

  2. Abra a página Gateways no AgentCore console.

  3. No painel Gateways, selecione o gateway para o qual você deseja ativar o rastreamento.

  4. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

    O rastreamento será ativado para o gateway selecionado e os intervalos estarão disponíveis no grupo de aws/spans registros.

    Para configurar o WorkloadIdentity rastreamento para recursos de gateway (console)

  5. Abra a página Gateways no AgentCore console.

  6. No painel Gateways, escolha a guia Identidade e selecione o gateway para o qual você deseja ativar o WorkloadIdentity rastreamento.

  7. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

    WorkloadIdentity o rastreamento será ativado para o gateway selecionado e os intervalos estarão disponíveis no grupo de aws/spans registros.

    nota

    Você deve ter a Pesquisa de CloudWatch Transações ativada antes de ativar o rastreamento.

Identity
  1. ====== Para configurar o rastreamento de recursos de identidade (console)

  2. Abra a página Identidade no AgentCore console.

  3. No painel Identidade, selecione o cliente OAuth ou a chave de API para a qual você deseja ativar o rastreamento.

  4. No painel Rastreamento, escolha Editar, alterne o widget para Ativar e escolha Salvar.

Configurar CloudWatch recursos usando um AWS SDK

Para configurar uma fonte de entrega para registros e rastreamentos (SDK)

  • Execute o código Python a seguir CloudWatch para configurar seus recursos de memória, gateway e ferramentas integradas. Observe que as origens e os destinos de entrega para rastreamento são aplicáveis somente aos recursos de memória 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)

Observabilidade aprimorada AgentCore do tempo de execução com cabeçalhos personalizados

Você pode invocar seu agente com cabeçalhos HTTP adicionais para fornecer opções aprimoradas de observabilidade. O exemplo a seguir mostra invocações, incluindo solicitações de cabeçalho adicionais opcionais para agentes hospedados no AgentCore tempo de execução.

Exemplo de invocação do 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"}', )

Você pode incluir os seguintes cabeçalhos opcionais ao invocar seu agente para aprimorar os recursos de observabilidade e rastreamento:

Cabeçalho Description Valor de exemplo Explicação técnica

X-Amzn-Trace-Id

ID de rastreamento para rastreamento de solicitações (X-Ray formato)

Root=1-5759e988-bd862e3fe1be46a994272793; pai=53995c3f42cd8ad8; Amostrado=1

Usado para rastreamento distribuído entre AWS serviços. Contém ID raiz (origem da solicitação), ID principal (serviço anterior) e decisão de amostragem para rastreamento. Amostragem = 1 significa 100% de amostragem. Parent também está no formato X-Ray Trace. O OTEL gerará automaticamente IDs de rastreamento se não forem fornecidos.

rastreador

Cabeçalho de rastreamento padrão W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C que inclui versão, ID de rastreamento, ID principal e sinalizadores. Necessário para correlação de rastreamento entre serviços ao usar sistemas de rastreamento modernos.

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

AgentCore identificador de sessão

A1B2C3D4-5678-90AB-CDEF - Exemplo AAAAA

Identifica uma sessão de usuário no AgentCore sistema. Ajuda na análise e na solução de problemas com base em sessões.

ID da sessão mcp

Identificador de sessão MCP

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

Identifica uma sessão na Managed Cloud Platform. Permite o rastreamento de operações em todo o ecossistema MCP.

estado do traço

Informações adicionais sobre o estado de rastreamento

congo=t61rc E, rojo=00f067aa0ba902b7 WkgMz

Vendor-specific informações de rastreamento. Transmite contexto adicional para sistemas de rastreamento além do que está em traceparent.

bagagem

Propagação de contexto para rastreamento distribuído

ID de usuário = Alice, região do servidor = US-EAST-1

Key-value pares que propagam propriedades definidas pelo usuário através dos limites do serviço para registro e análise contextuais.

Observabilidade aprimorada das ferramentas AgentCore integradas com cabeçalhos personalizados

Você pode invocar suas Built-in ferramentas com cabeçalhos HTTP adicionais para fornecer opções aprimoradas de observabilidade. Você pode incluir os seguintes cabeçalhos opcionais ao integrar as seguintes APIs de Build-in ferramentas para aprimorar os recursos de observabilidade e rastreamento:

As seguintes APIs oferecem suporte a cabeçalhos personalizados:

  • StartCodeInterpreterSession

  • InvokeCodeInterpreter

  • StopCodeInterpreterSession

  • StartBrowserSession

  • StopBrowserSession

Cabeçalho Description Valor de exemplo Explicação técnica

X-Amzn-Trace-Id

ID de rastreamento para rastreamento de solicitações (X-Ray formato)

Root=1-5759e988-bd862e3fe1be46a994272793; pai=53995c3f42cd8ad8; Amostrado=1

Usado para rastreamento distribuído entre AWS serviços. Contém ID raiz (origem da solicitação), ID principal (serviço anterior) e decisão de amostragem para rastreamento. Amostragem = 1 significa 100% de amostragem. Parent também está no formato X-Ray Trace. O OTEL gerará automaticamente IDs de rastreamento se não forem fornecidos.

rastreador

Cabeçalho de rastreamento padrão W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C que inclui versão, ID de rastreamento, ID principal e sinalizadores. Necessário para correlação de rastreamento entre serviços ao usar sistemas de rastreamento modernos.

Observabilidade de AgentCore identidade aprimorada com cabeçalhos personalizados

Você pode invocar seus recursos de identidade com cabeçalhos HTTP adicionais para fornecer opções aprimoradas de observabilidade. Você pode incluir os seguintes cabeçalhos opcionais ao integrar as seguintes APIs de identidade para aprimorar os recursos de observabilidade e rastreamento:

As seguintes APIs oferecem suporte a cabeçalhos personalizados:

  • GetWorkloadAccessToken

  • GetWorkloadAccessTokenForJWT

  • GetWorkloadAccessTokenForUserId

  • GetResourceOauth2Token

  • GetResourceAPIKey

Cabeçalho Description Valor de exemplo Explicação técnica

X-Amzn-Trace-Id

ID de rastreamento para rastreamento de solicitações (X-Ray formato)

Root=1-5759e988-bd862e3fe1be46a994272793; pai=53995c3f42cd8ad8; Amostrado=1

Usado para rastreamento distribuído entre AWS serviços. Contém ID raiz (origem da solicitação), ID principal (serviço anterior) e decisão de amostragem para rastreamento. Amostragem = 1 significa 100% de amostragem. Parent também está no formato X-Ray Trace. O OTEL gerará automaticamente IDs de rastreamento se não forem fornecidos.

Melhores práticas de observabilidade

Considere as seguintes práticas recomendadas ao implementar a observabilidade para agentes em: AgentCore

  • Use IDs de sessão consistentes - Quando possível, reutilize o mesmo ID de sessão para solicitações relacionadas a fim de manter o contexto nas interações.

  • Implemente o rastreamento distribuído - Use os cabeçalhos fornecidos para permitir o rastreamento de ponta a ponta em todos os componentes do seu aplicativo.

  • Adicione atributos personalizados - Melhore seus rastreamentos e métricas com atributos personalizados que fornecem contexto adicional para solução de problemas e análise.

  • Monitore o uso de recursos - Preste atenção às métricas de uso da memória para otimizar o desempenho do seu agente.

  • Configurar alertas - Configure CloudWatch alarmes para ajudar a notificá-lo sobre possíveis problemas antes que eles afetem seus usuários.

Usando outras plataformas de observabilidade

Para integrar agentes hospedados no AgentCore tempo de execução com outras plataformas de observabilidade para capturar e visualizar saídas de telemetria, defina a seguinte variável de ambiente:

DISABLE_ADOT_OBSERVABILITY=true

Definir essa variável como true desativa as variáveis de ambiente ADOT padrão do AgentCore tempo de execução, garantindo que nenhuma das configurações padrão do ADOT seja definida.