View a markdown version of this page

Adicione observabilidade aos seus recursos do Amazon Bedrock AgentCore - Amazon Bedrock AgentCore

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 para o AgentCore tempo de 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 em Logs. CloudWatch

dica

O uso do SDK ADOT para gerar métricas personalizadas também é suportado para 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

Habilitando 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.

Ativando 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 SDKs. AWS

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

exemplo
CloudWatch console
  1. ====== Para habilitar 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 habilitar 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 intervalos nos CloudWatch registros adicionando uma política baseada em recursos com. PutResourcePolicy

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

    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 de extensão para agentes hospedados no tempo 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 stream de spans log in/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>, em vez do grupo de aws/spans log compartilhado. Você pode manter os intervalos, os registros estruturados e a saída padrão juntos em um grupo de registros por agente, definir o controle de acesso e a 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 padrão do intervalo. Agentes criados antes que uma região ofereça suporte ao destino de extensão unificado 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 desativar 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 extensões 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 extensões 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 compartilhados.

Alterar o destino do intervalo não move os dados do período existente. Os trechos 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 amplitude 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 integrado às convenções semânticas OTEL e GenAI, e também pode ser instrumentada com um pacote de instrumentação automática, como. LangChainopentelemetry-instrument-langchain Também é possível enviar telemetria e extensões de convenções semânticas de IA generativa definindo um rastreador personalizado. AgentCore suporta o uso das seguintes bibliotecas de instrumentação em sua estrutura de agente:

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 seu código de 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 da AgentCore para saber mais.

Para adicionar suporte ao ADOT e ativar AgentCore a 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 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.10.0 boto3

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

    pip install aws-opentelemetry-distro>=0.10.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 instrumentação automática 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 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 um 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 opções adicionais de observabilidade. Consulte Observabilidade aprimorada do tempo de AgentCore execução com cabeçalhos personalizados para saber mais.

Possibilitando 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 SDK ADOT ao seu código.

Se você hospedar seu agente no AWS Lambda, use a camada AWS Lambda OpenTelemetry no site Distro for. AWS OpenTelemetry Adicione a camada à sua função e, em seguida, 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 de Telemetria Aberta 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 do 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

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

nota

Se você definir OTEL_EXPORTER_OTLP_TRACES_HEADERS a entrega de extensões para seu próprio grupo de registros, você também deve 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. 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 código adicionais para enviar telemetria e extensões de convenções semânticas de 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 OpenLit

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

Possibilitando 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 destinos de log para você.

Para recursos de memória e gateway, você pode configurar destinos de log no console ou usando um AWS SDK. Se você usar o console para configurar um destino de CloudWatch registros, o nome padrão do grupo de registros 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 log nos logs do Amazon S3 ou nos logs de stream do Firehose usando o console. AgentCore Para saber mais sobre como armazenar registros no Amazon S3 ou no 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 log fornecidos (memória) ou Dados de log fornecidos (gateway).

Para recursos de ferramentas integrados, 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 log, precisará configurar manualmente os destinos do log 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 log usando o console

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

exemplo
Memory
  1. ====== Para configurar a entrega de registros 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) Em 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 log 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 de acordo com a configuração desejada.

  10. Escolha Adicionar.

Gateway
  1. ====== Para configurar a entrega de registros 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) Em 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 log 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 de acordo com 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 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 registros 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 de destino do Amazon S3.

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

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

Built-in tools
  1. ====== Para configurar a entrega de registros para recursos de ferramentas incorporadas (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 log.

  4. Role para baixo até o painel 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 registros 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 de destino do Amazon S3.

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

  6. Verifique se o status de entrega do log 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 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 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 registros 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 de destino do Amazon S3.

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

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

Configure 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 ativa o rastreamento para o 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 dos agentes que usam o destino do intervalo compartilhado. Para obter mais informações, consulte Destino do 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, em seguida, 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 ferramenta de navegador selecionado e os intervalos estarão disponíveis no aws/spans grupo de registros.

Gateway
  1. ====== Para configurar o rastreamento dos recursos do 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 dos recursos do gateway (console)

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

  6. No painel Gateways, escolha a guia Identidade e, em seguida, selecione o gateway para o qual você deseja habilitar 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 poder 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 fontes de entrega e os destinos 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 observação 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)

raiz = 1-5759e988-bd862e3fe1be46a994272793; pai = 53995c3f42cd8ad8; amostra = 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 é o formato X-Ray Trace. O OTEL gerará automaticamente IDs de rastreamento se não forem fornecidos.

traceparent

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 dentro do AgentCore sistema. Ajuda na análise e solução de problemas baseadas 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 plataforma de nuvem gerenciada. Permite o rastreamento de operações em todo o ecossistema MCP.

estado de traço

Informações adicionais sobre o estado de rastreamento

congo=t61rc E, WkgMz rojo=00f067aa0ba902b7

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

bagagem

Propagação de contexto para rastreamento distribuído

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

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

Observabilidade aprimorada de 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)

raiz = 1-5759e988-bd862e3fe1be46a994272793; pai = 53995c3f42cd8ad8; amostra = 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 é o formato X-Ray Trace. O OTEL gerará automaticamente IDs de rastreamento se não forem fornecidos.

traceparent

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)

raiz = 1-5759e988-bd862e3fe1be46a994272793; pai = 53995c3f42cd8ad8; amostra = 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 é o formato X-Ray Trace. O OTEL gerará automaticamente IDs de rastreamento se não forem fornecidos.

Melhores práticas de observabilidade

Considere as seguintes melhores práticas 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 para manter o contexto em todas as 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 - aprimore 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 de 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 para true anular as variáveis de ambiente ADOT padrão do AgentCore tempo de execução, garantindo que nenhuma das configurações ADOT padrão seja definida.