View a markdown version of this page

Añada observabilidad a sus recursos de Amazon Bedrock AgentCore - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Añada observabilidad a sus recursos de Amazon Bedrock AgentCore

Amazon Bedrock AgentCore proporciona una serie de métricas integradas para supervisar el rendimiento de los recursos de los tipos de recursos de AgentCore tiempo de ejecución, memoria, puerta de enlace, herramientas integradas e identidad. Estos datos predeterminados están disponibles en Amazon CloudWatch. Para ver la gama completa de datos de observabilidad en la CloudWatch consola o para generar métricas de tiempo de ejecución personalizadas para los agentes, debes instrumentar tu código con el SDK AWS Distro for Open Telemetry (ADOT).

Para ver el panel de observabilidad, abre la página de Amazon Observability CloudWatch. CloudWatch GenAi

Consulte las siguientes secciones para obtener más información sobre la configuración de sus recursos para ver las métricas de observabilidad en la página de observabilidad de la IA generativa de la CloudWatch consola y en los registros. CloudWatch

sugerencia

El uso del SDK de ADOT para generar métricas personalizadas también es compatible con los agentes que trabajan fuera del tiempo de ejecución. AgentCore Para obtener información sobre cómo habilitar la observabilidad para estos agentes, consulta Cómo habilitar la observabilidad para los agentes alojados fuera de. AgentCore

Habilitar la observabilidad AgentCore

Para ver las métricas, los intervalos y los rastreos generados por el AgentCore servicio, primero debes completar una configuración única para activar la búsqueda de CloudWatch transacciones de Amazon. Para ver los intervalos de recursos de memoria proporcionados por el servicio, también debe habilitar el rastreo al crear una memoria. Consulta Cómo habilitar la observabilidad para el AgentCore tiempo de ejecución, la memoria, la puerta de enlace, las herramientas integradas y los recursos de identidad para obtener más información.

En las siguientes secciones, se describe cómo realizar estas acciones de configuración y cómo habilitar la observabilidad en el código del agente.

Habilitar la búsqueda CloudWatch de transacciones

Puede habilitar la búsqueda de CloudWatch transacciones mediante la CloudWatch consola o mediante una API a través de la interfaz de línea de AWS comandos (AWS CLI) o uno de los AWS SDK.

Utilice uno de los procedimientos siguientes para habilitar la búsqueda de transacciones.

ejemplo
CloudWatch console
  1. ====== Para habilitar la búsqueda de CloudWatch transacciones en la consola CloudWatch

  2. Abra la consola de CloudWatch.

  3. En el panel de navegación, expanda Application Signals (APM) y seleccione Búsqueda de transacciones.

  4. Seleccione Habilitar Transaction Search.

  5. Seleccione la casilla de verificación para incorporar los intervalos como registros estructurados.

  6. Seleccione Save.

API
  1. ====== Para habilitar CloudWatch la búsqueda de transacciones mediante una API

  2. Cuando utilices la AWS CLI o un AWS SDK para habilitar la búsqueda de transacciones, primero debes configurar los permisos necesarios para incorporar los intervalos en los CloudWatch registros añadiendo una política basada en los recursos con. PutResourcePolicy

    El siguiente comando de la AWS CLI agrega una política de recursos que otorga AWS X-Ray permisos para enviar rastreos a los registros. 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" } } } ]}'

    Para mayor claridad, la política JSON integrada de este comando se muestra ampliada en el siguiente ejemplo:

    { "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 el destino de sus segmentos de seguimiento mediante UpdateTraceSegmentDestination.

    Para usar la AWS CLI, ejecute el siguiente comando.

    aws xray update-trace-segment-destination --destination CloudWatchLogs
  4. (Opcional) Configure el porcentaje de muestreo que desee mediante UpdateIndexingRule.

    Para usar la AWS CLI, ejecute el siguiente comando.

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

Abarca el destino de los agentes alojados en Amazon Bedrock Runtime AgentCore

sugerencia

Ahora puede consolidar toda la telemetría de un agente (intervalos, registros estructurados y resultados estándar) en un único grupo de registros para cada agente.

Con AgentCore Runtime, una funcionalidad de Amazon Bedrock AgentCore, puede configurar un agente para que entregue sus intervalos al mismo grupo de registros de Amazon que los registros del agente. CloudWatch Con esta configuración, los intervalos van a la secuencia de spans registros en /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name> lugar de al grupo de registros compartidoaws/spans. Puede agrupar los intervalos, los registros estructurados y la salida estándar en un grupo de registros por agente, asignar el control de acceso y el cifrado a un agente individual y exportar la telemetría desde una única ubicación.

En AWS las regiones compatibles, los agentes recién creados utilizan el grupo de registros del agente como destino del intervalo predeterminado. Los agentes creados antes de que una región admita el destino de intervalo unificado mantienen el grupo de aws/spans registros compartido como predeterminado.

Puede anular la configuración predeterminada para un agente individual con la variable de UNIFIED_TRACES_DESTINATION_ENABLED entorno en el tiempo de ejecución de su agente:

  • Para incluir un agente existente que utilice el grupo de aws/spans registros compartido, UNIFIED_TRACES_DESTINATION_ENABLED=true configúrelo. AgentCore a continuación, envía los intervalos del agente a su propio grupo de registros.

  • Para excluir a un agente que usa su propio grupo de registros de forma predeterminada, UNIFIED_TRACES_DESTINATION_ENABLED=false configúrelo. AgentCore a continuación, envía los intervalos del agente al grupo de aws/spans registros compartido.

AgentCore Para entregar los intervalos al grupo de registros del agente, debe cumplirse lo siguiente:

  • Activa CloudWatch la búsqueda de transacciones en tu cuenta y envía los segmentos de seguimiento a Amazon CloudWatch Logs. Sin la búsqueda de transacciones, no AgentCore puede enviar intervalos al grupo de registros del agente. Para obtener más información, consulte Habilitar la búsqueda de CloudWatch transacciones.

  • Conceda la logs:PutResourcePolicy acción del grupo de registros del agente a la función de ejecución del agente. AgentCore usa este permiso para AWS X-Ray permitir la entrega de intervalos al grupo de registros. Para obtener más información, consulte Función de ejecución para ejecutar un agente en AgentCore tiempo de ejecución.

  • El agente usa la versión 0.18.0 o posterior de ADOT (). aws-opentelemetry-distro>=0.18.0 Las versiones anteriores ignoran la configuración de destino del intervalo y entregan los intervalos al grupo de registros compartido. aws/spans

Al cambiar el destino del intervalo no se mueven los datos del intervalo existentes. Los intervalos que AgentCore ya se entregaron permanecen en su grupo de registro original.

Habilitar la observabilidad en el código de agente para los agentes AgentCore-hosted

Además de las métricas generadas por el servicio, también AgentCore puedes recopilar datos sobre el alcance y el rastreo, así como métricas personalizadas emitidas por tu código de agente.

Cuando utilizas marcos de agentes como Strands o CrewAI con bibliotecas de instrumentación de terceros compatibles, el propio marco viene con soporte integrado para las convenciones semánticas de OTEL y GenAI, y también se puede instrumentar con un paquete de autoinstrumentación, como por ejemplo. LangChain opentelemetry-instrument-langchain También es posible enviar telemetría e intervalos a las convenciones semánticas de la IA generativa definiendo un rastreador personalizado. https://opentelemetry.io/docs/specs/semconv/gen-ai/ https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-agent-spans/ AgentCore admite el uso de las siguientes bibliotecas de instrumentación en el marco de su agente:

Para ver estos datos en la página de observabilidad de la IA generativa de la CloudWatch consola y en Amazon CloudWatch, debes añadir el SDK AWS Distro for Open Telemetry (ADOT) a tu código de agente.

nota

Con AgentCore, también puedes ver las métricas de los agentes que no están en ejecución en tiempo de ejecución. AgentCore Se requieren pasos de configuración adicionales para configurar las salidas de telemetría para los usuarios que no son agentes. AgentCore Consulte las instrucciones en Habilitar la observabilidad para los agentes alojados fuera de él AgentCore para obtener más información.

Para añadir la compatibilidad con ADOT y habilitar AgentCore la observabilidad, siga los pasos del procedimiento siguiente.

Agregue la observabilidad a su agente AgentCore

  1. Asegúrese de que su marco esté configurado para emitir trazas. Por ejemplo, en el marco de Strands, el objeto rastreador debe configurarse para indicar a Strands que emita registros de telemetría abierta (OTEL).

  2. Agregue el SDK de ADOT y boto3 a las dependencias de su agente. Para Python, agrega lo siguiente a tu archivo: requirements.txt

    aws-opentelemetry-distro>=0.18.0 boto3

    Como alternativa, puedes instalar las dependencias directamente:

    pip install aws-opentelemetry-distro>=0.18.0 boto3
  3. Ejecute el código del agente mediante el comando de OpenTelemetry instrumentación automática:

    opentelemetry-instrument python my_agent.py

    Este enfoque de instrumentación automática agrega automáticamente el SDK a la ruta de Python. Es posible que ya esté utilizando este enfoque como parte de su implementación estándar. OpenTelemetry

    Para un entorno contenerizado (como Docker), añada el siguiente comando:

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

    Cuando utilice ADOT, para propagar el identificador de sesión correctamente, defina el en el encabezado de la X-Amzn-Bedrock-AgentCore-Runtime-Session-Id solicitud. Luego, ADOT establece el session_id correctamente en los encabezados descendentes.

    Para propagar un identificador de seguimiento, invoque el motor de ejecución con el conjunto de parámetros. AgentCore traceId=<traceId>

    También puedes invocar a tu agente con encabezados adicionales para obtener más opciones de observabilidad. Consulta la sección Observabilidad mejorada en AgentCore tiempo de ejecución con encabezados personalizados para obtener más información.

Habilitar la observabilidad para los agentes alojados fuera de AgentCore

Para habilitar la observabilidad para los agentes alojados fuera del AgentCore tiempo de ejecución, primero sigue los pasos de las secciones anteriores para habilitar la búsqueda de CloudWatch transacciones y añadir el SDK de ADOT a tu código.

Si hospedas a tu agente en AWS Lambda, usa la capa AWS Lambda para OpenTelemetry en el sitio web Distro for. AWS OpenTelemetry Agregue la capa a su función y, a continuación, defina la variable de AWS_LAMBDA_EXEC_WRAPPER entorno en. /opt/otel-instrument A continuación, la capa instrumenta automáticamente la función. Con este enfoque, no es necesario añadir el aws-opentelemetry-distro paquete ni ejecutar el opentelemetry-instrument comando descrito anteriormente.

No se admite ADOT Collector para la observabilidad de los agentes

El recopilador de ADOT no es compatible con la capacidad de observación de los agentes. Para enviar telemetría desde un agente hospedado fuera del AgentCore tiempo de ejecución, debes usar el SDK de ADOT o la capa Lambda para. AWS OpenTelemetry

En el caso de los agentes que se ejecutan fuera del AgentCore tiempo de ejecución, también debes crear un grupo de registros de agentes para incluirlo en las variables de entorno.

Configure las variables de AWS entorno y, a continuación, defina las variables de entorno de Open Telemetry como se muestra a continuación.

AWS variables de entorno

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>

variables de entorno 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>Sustitúyalas por el nombre de tu agente y <agent-id> por un identificador único para tu agente.

nota

Si quieres enviar OTEL_EXPORTER_OTLP_TRACES_HEADERS intervalos a tu propio grupo de registros, también debes añadir una política de recursos de Amazon CloudWatch Logs. La política debe permitir que X-Ray (xray.amazonaws.com) llame logs:PutLogEvents a ese grupo de registros. Usa la misma política que se muestra en Habilitar la búsqueda de CloudWatch transacciones, con el ARN de tu grupo de registro. Resource Sin esta política, no X-Ray puedes enviar intervalos a tu grupo de registros.

nota

(Opcional) Para los marcos de agentes distintos de Strands y CrewAI: es posible que tengas que añadir un SDK y un código adicionales para enviar telemetría e intervalos a las convenciones semánticas de la IA generativa. LangChain AgentCore Observability, una funcionalidad de Amazon Bedrock AgentCore, admite el uso de las siguientes bibliotecas de instrumentación en su marco de agentes: * * Openllmetry * * Traceloop OpenInference https://github.com/traceloop/openllmetry OpenLit https://www.traceloop.com/docs/introduction

Compatibilidad con identificadores de sesión

Para propagar el identificador de sesión, debe invocarlo utilizando el identificador de sesión incluido en el equipaje del hotel:

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

Permitir la observabilidad del AgentCore tiempo de ejecución, la memoria, la puerta de enlace, las herramientas integradas y los recursos de identidad

Al crear un recurso AgentCore de tiempo de ejecución (agente), de forma predeterminada, AgentCore Runtime crea un grupo de CloudWatch registros para los registros proporcionados por el servicio. Sin embargo, en el caso de los recursos de memoria, puerta de enlace y herramientas integradas, AgentCore no configura automáticamente los destinos de los registros.

En el caso de los recursos de memoria y puerta de enlace, puede configurar los destinos de registro en la consola o mediante un AWS SDK. Si usa la consola para configurar un destino de CloudWatch registros, el nombre del grupo de registros predeterminado para los recursos de memoria y puerta de enlace tiene el formato/aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id}, donde {resource-type} es memory ogateway.

Para los registros de memoria y puerta de enlace, también puede configurar los destinos de registro en los registros de Amazon S3 o en los registros de transmisión de Firehose mediante la AgentCore consola. Para obtener más información sobre el almacenamiento de registros en Amazon S3 o Firehose, consulte Cargar, descargar y trabajar con objetos en Amazon S3 y Crear una transmisión de entrega de Amazon Data Firehose.

Para obtener más información sobre la salida de datos de registro AgentCore para los recursos de memoria y puerta de enlace, consulte Datos de registro proporcionados (memoria) o Datos de registro proporcionados (puerta de enlace).

En el caso de los recursos de herramientas integradas, el AgentCore servicio no proporciona registros de forma predeterminada, pero puedes generar tus propios registros a partir de tu código. Si proporcionas tus propias salidas de registro, debes configurar manualmente los destinos de los registros para almacenar estos datos.

Para ver qué datos de observabilidad AgentCore proporcionan de forma predeterminada para cada tipo de recurso, consulte los datos de observabilidad AgentCore generados por Amazon Bedrock.

Configure los destinos de los registros mediante la consola

Para configurar los destinos de los registros de memoria o puerta de enlace en la AgentCore consola, utilice los procedimientos siguientes.

ejemplo
Memory
  1. ====== Para configurar la entrega de registros para los recursos de memoria (consola)

  2. Abra la página de memoria en la AgentCore consola.

  3. En el panel Memoria, seleccione la memoria para la que desea configurar un destino de registro.

  4. Desplázate hacia abajo hasta el panel de entrega de registros y elige Agregar.

  5. En la lista desplegable, seleccione el tipo de destino del registro que desea agregar (grupo de CloudWatch registros, bucket de Amazon S3 o Amazon Data Firehose).

  6. Para el tipo de registro, selecciona APPLICATION_LOGS.

  7. Para los destinos de Amazon S3 y Firehose, introduzca un ARN de destino de entrega. En el caso de los CloudWatch registros, el grupo de registros de destino ya está rellenado con un valor predeterminado.

  8. (Opcional) En el caso de CloudWatch los destinos de los registros, para cambiar el grupo de registros predeterminado, introduzca un nombre nuevo para el grupo de registros o seleccione un grupo de registros existente en Grupo de registros de destino.

  9. (Opcional) Para cambiar los campos que se capturan en cada registro o el formato de salida de los registros, expanda Configuración adicional (opcional) y modifique la selección de campos, el formato de salida y el delimitador de campos según la configuración que desee.

  10. Elija Añadir.

Gateway
  1. ====== Para configurar la entrega de registros para los recursos de la puerta de enlace (consola)

  2. Abra la página Gateways en la consola. AgentCore

  3. En el panel Puertas de enlace, seleccione la puerta de enlace para la que desea configurar un destino de registro.

  4. Desplázate hacia abajo hasta el panel de entrega de registros y elige Agregar.

  5. En la lista desplegable, seleccione el tipo de destino del registro que desea agregar (grupo de CloudWatch registros, bucket de Amazon S3 o Amazon Data Firehose).

  6. Para los destinos de Amazon S3 y Firehose, introduzca un ARN de destino de entrega. En el caso de los CloudWatch registros, el grupo de registros de destino ya está rellenado con un valor predeterminado.

  7. (Opcional) En el caso de CloudWatch los destinos de los registros, para cambiar el grupo de registros predeterminado, introduzca un nombre nuevo para el grupo de registros o seleccione un grupo de registros existente en Grupo de registros de destino.

  8. (Opcional) Para cambiar los campos que se capturan en cada registro o el formato de salida de los registros, expanda Configuración adicional (opcional) y modifique la selección de campos, el formato de salida y el delimitador de campos según la configuración que desee.

  9. Elija Añadir.

Runtime
  1. ====== Para configurar la entrega de registros para los recursos de ejecución del agente (consola)

  2. Abra la página de ejecución del agente en la AgentCore consola.

  3. En el panel de agentes de tiempo de ejecución, seleccione el agente de tiempo de ejecución para el que desea configurar un destino de registro.

  4. Desplázate hacia abajo hasta el panel de entrega de registros y, en el menú desplegable Agregar, elige el destino del registro: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  5. Configure los siguientes detalles de entrega del registro y, a continuación, seleccione Agregar:

    • En Tipo de registro, elija APPLICATION_LOGS.

    • Si utiliza Amazon CloudWatch Logs como destino del registro, especifique el grupo de registros de destino.

    • Si utiliza Amazon S3 como destino del registro, especifique el bucket de Amazon S3 de destino.

    • Si utiliza Amazon Data Firehose como destino del registro, especifique un flujo de entrega de destino.

  6. Comprueba que el estado de entrega del registro esté establecido como Entrega activa.

Built-in tools
  1. ====== Para configurar la entrega de registros para los recursos de herramientas integrados (consola)

  2. Abra la página de Built-in herramientas en la AgentCore consola.

  3. En el panel de Built-in herramientas, ya sea en la pestaña Herramientas del intérprete de código o en la pestaña de herramientas del navegador, seleccione la herramienta de interpretación de código o la herramienta del navegador para la que desea configurar un destino de registro.

  4. Desplázate hacia abajo hasta el panel de entrega de registros y, en el menú desplegable Añadir, elige el destino del registro: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  5. Configure los siguientes detalles de entrega del registro y, a continuación, seleccione Agregar:

    • En Tipo de registro, elija APPLICATION_LOGS.

    • Si utiliza Amazon CloudWatch Logs como destino del registro, especifique el grupo de registros de destino.

    • Si utiliza Amazon S3 como destino del registro, especifique el bucket de Amazon S3 de destino.

    • Si utiliza Amazon Data Firehose como destino del registro, especifique un flujo de entrega de destino.

  6. Comprueba que el estado de entrega del registro esté establecido como Entrega activa.

Identity
  1. WorkloadIdentity la habilitación de la entrega de registros se gestiona en el nivel de recursos asociado, incluidos los recursos de tiempo de ejecución del agente o de la puerta de enlace del agente.

    Para configurar la entrega de WorkloadIdentity registros para los recursos asociados (consola)

  2. Abra la página Gateway o la página Agent Runtime en la AgentCore consola y seleccione un agente o una puerta de enlace para los que quiera habilitar el WorkloadIdentity registro.

  3. En la pestaña Identidad, desplázate hacia abajo hasta el panel de entrega de registros y, en el menú desplegable Agregar, elige el destino del registro: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  4. Configure los siguientes detalles de entrega del registro y, a continuación, seleccione Agregar:

    • En Tipo de registro, elija APPLICATION_LOGS.

    • Si utiliza Amazon CloudWatch Logs como destino del registro, especifique el grupo de registros de destino.

    • Si utiliza Amazon S3 como destino del registro, especifique el bucket de Amazon S3 de destino.

    • Si utiliza Amazon Data Firehose como destino del registro, especifique un flujo de entrega de destino.

  5. Comprueba que el estado de entrega del registro esté establecido como Entrega activa.

Configure el seguimiento de la entrega para CloudWatch utilizar la consola

En esta sección se describe cómo habilitar el seguimiento y la entrega CloudWatch para rastrear el flujo de interacciones en la aplicación, lo que permite visualizar las solicitudes, identificar los cuellos de botella en el rendimiento, solucionar los errores y optimizar el rendimiento.

ejemplo
Memory
  1. ====== Para configurar el seguimiento de los recursos de memoria (consola)

  2. Abra la página de memoria en la AgentCore consola.

  3. En el panel Memoria, seleccione el recurso de memoria para el que desea habilitar el rastreo.

  4. En el panel de rastreo, elija Editar, active el widget y, a continuación, seleccione Guardar.

Runtime
  1. ====== Para configurar el seguimiento de los recursos en tiempo de ejecución (consola)

  2. Abra la página de ejecución de los agentes en la AgentCore consola.

  3. En el panel de agentes en tiempo de ejecución, seleccione el agente para el que quiere habilitar el rastreo.

  4. En el panel de rastreo, elija Editar, active el widget y, a continuación, seleccione Guardar.

    AgentCore habilita el rastreo del agente seleccionado. Los intervalos aparecen en el grupo de registros del agente (/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>) o en el grupo de aws/spans registros de los agentes que utilizan el destino del intervalo compartido. Para obtener más información, consulte el destino del intervalo para los agentes alojados en Amazon Bedrock Runtime AgentCore .

    Para configurar el WorkloadIdentity seguimiento de los recursos en tiempo de ejecución (consola)

  5. Abra la página de tiempo de ejecución de los agentes en la AgentCore consola.

  6. En el panel de agentes en tiempo de ejecución, elija la pestaña Identidad y, a continuación, seleccione el agente para el que quiere habilitar el WorkloadIdentity rastreo.

  7. En el panel de rastreo, elija Editar, active el widget y, a continuación, seleccione Guardar.

    WorkloadIdentity se habilitará el rastreo para el agente seleccionado y los intervalos estarán disponibles en el grupo de aws/spans registros.

Built-in tools
  1. ====== Para configurar el rastreo para las herramientas integradas (consola)

  2. Abra la página de Built-in herramientas en la AgentCore consola.

  3. En el panel de Built-in herramientas, en la pestaña Herramientas del intérprete de código o en la pestaña de herramientas del navegador, seleccione la herramienta de interpretación de código o la herramienta del navegador para la que quiera habilitar el rastreo.

  4. En el panel de rastreo, elija Editar, active el widget y, a continuación, seleccione Guardar.

    El rastreo se habilitará para el intérprete de código o la herramienta de navegación seleccionados y los intervalos estarán disponibles en el grupo de aws/spans registros.

Gateway
  1. ====== Para configurar el rastreo de los recursos de la puerta de enlace (consola)

  2. Abra la página Gateways en la consola. AgentCore

  3. En el panel Puertas de enlace, seleccione la puerta de enlace para la que desea habilitar el rastreo.

  4. En el panel de rastreo, elija Editar, active el widget y, a continuación, seleccione Guardar.

    Se habilitará el rastreo en la puerta de enlace seleccionada y los intervalos estarán disponibles en el grupo de aws/spans registros.

    Para configurar el WorkloadIdentity seguimiento de los recursos de la puerta de enlace (consola)

  5. Abra la página Gateways en la AgentCore consola.

  6. En el panel Puertas de enlace, seleccione la pestaña Identidad y, a continuación, seleccione la puerta de enlace para la que desea habilitar WorkloadIdentity el rastreo.

  7. En el panel de rastreo, elija Editar, active el widget y, a continuación, seleccione Guardar.

    WorkloadIdentity se habilitará el rastreo en la puerta de enlace seleccionada y los intervalos estarán disponibles en el grupo de aws/spans registros.

    nota

    Debe tener habilitada CloudWatch la búsqueda de transacciones para poder habilitar el rastreo.

Identity
  1. ====== Para configurar el seguimiento de los recursos de identidad (consola)

  2. Abra la página de identidad en la AgentCore consola.

  3. En el panel de identidad, selecciona el cliente de OAuth o la clave de API para la que quieres habilitar el rastreo.

  4. En el panel de rastreo, elige Editar, activa el widget y, a continuación, elige Guardar.

Configure CloudWatch los recursos mediante un AWS SDK

Para configurar una fuente de entrega para los registros y los seguimientos (SDK)

  • Ejecuta el siguiente código de Python CloudWatch para configurar los recursos de memoria, puerta de enlace y herramientas integradas. Tenga en cuenta que las fuentes y los destinos de entrega para el rastreo solo son aplicables a los recursos de memoria y puerta de enlace.

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)

Se ha mejorado la capacidad AgentCore de observación en tiempo de ejecución con encabezados personalizados

Puede invocar a su agente con encabezados HTTP adicionales para ofrecer opciones de observabilidad mejoradas. En el siguiente ejemplo, se muestran las invocaciones, incluidas las solicitudes de encabezado adicionales opcionales para los agentes alojados en tiempo de ejecución. AgentCore

Ejemplo de invocación de 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"}', )

Puede incluir los siguientes encabezados opcionales al invocar a su agente para mejorar las capacidades de observación y rastreo:

Encabezado Description (Descripción) Valor de muestra Explicación técnica

X-Amzn-Trace-Id

ID de seguimiento para el seguimiento de solicitudes (X-Ray formato)

root=1-5759e988-BD862E3FE1BE46A994272793; parent=53995C3F42CD8AD8; muestreado = 1

Se utiliza para el rastreo distribuido entre servicios. AWS Contiene el ID raíz (origen de la solicitud), el ID principal (servicio anterior) y la decisión de muestreo para el rastreo. Un muestreo igual a 1 significa un muestreo del 100%. El formato Parent también es X-Ray Trace. OTEL generará automáticamente los identificadores de seguimiento si no se suministran.

rastreador

encabezado de rastreo estándar del W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C que incluye la versión, el identificador de seguimiento, el identificador principal y las marcas. Necesario para la correlación de trazas entre servicios cuando se utilizan sistemas de rastreo modernos.

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

AgentCore identificador de sesión

a1b2c3d4-5678-90ab-cdef-exampleAAAAA

Identifica una sesión de usuario en el sistema. AgentCore Ayuda con el análisis y la resolución de problemas basados en sesiones.

mcp-session-id

Identificador de sesión MCP

MCP-A1B2C3D4-5678-90AB-CDEF-ExampleAAAAA

Identifica una sesión en la plataforma de nube gestionada. Permite el seguimiento de las operaciones en todo el ecosistema de MCP.

estado de rastreo

Información adicional sobre el estado de rastreo

congo=t61rc E, rojo=00f067aa0ba902b7 WkgMz

Vendor-specific información de rastreo. Proporciona un contexto adicional para los sistemas de rastreo más allá del contenido en traceparent.

equipaje

Propagación del contexto para el rastreo distribuido

ID de usuario = Alice, región del servidor = US-East-1

Key-value pares que propagan las propiedades definidas por el usuario a través de los límites del servicio para el registro y el análisis contextuales.

Se ha mejorado la observabilidad de las herramientas AgentCore integradas con encabezados personalizados

Puedes invocar tus Built-in herramientas con encabezados HTTP adicionales para ofrecer opciones de observabilidad mejoradas. Puedes incluir los siguientes encabezados opcionales al integrar las siguientes API de Build-in herramientas para mejorar las capacidades de observación y rastreo:

Las siguientes API admiten encabezados personalizados:

  • StartCodeInterpreterSession

  • InvokeCodeInterpreter

  • StopCodeInterpreterSession

  • StartBrowserSession

  • StopBrowserSession

Encabezado Description (Descripción) Valor de muestra Explicación técnica

X-Amzn-Trace-Id

ID de seguimiento para el seguimiento de solicitudes (X-Ray formato)

root=1-5759e988-BD862E3FE1BE46A994272793; parent=53995C3F42CD8AD8; muestreado = 1

Se utiliza para el rastreo distribuido entre servicios. AWS Contiene el ID raíz (origen de la solicitud), el ID principal (servicio anterior) y la decisión de muestreo para el rastreo. Un muestreo igual a 1 significa un muestreo del 100%. El formato Parent también es X-Ray Trace. OTEL generará automáticamente los identificadores de seguimiento si no se suministran.

rastreador

encabezado de rastreo estándar del W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Formato W3C que incluye la versión, el identificador de seguimiento, el identificador principal y las marcas. Necesario para la correlación de trazas entre servicios cuando se utilizan sistemas de rastreo modernos.

Se ha mejorado AgentCore la capacidad de observación de la identidad con encabezados personalizados

Puede invocar sus recursos de identidad con encabezados HTTP adicionales para ofrecer opciones de observabilidad mejoradas. Puedes incluir los siguientes encabezados opcionales al integrar las siguientes API de identidad para mejorar las capacidades de observación y rastreo:

Las siguientes API admiten encabezados personalizados:

  • GetWorkloadAccessToken

  • GetWorkloadAccessTokenForJWT

  • GetWorkloadAccessTokenForUserId

  • GetResourceOauth2Token

  • GetResourceAPIKey

Encabezado Description (Descripción) Valor de muestra Explicación técnica

X-Amzn-Trace-Id

ID de seguimiento para el seguimiento de solicitudes (X-Ray formato)

root=1-5759e988-BD862E3FE1BE46A994272793; parent=53995C3F42CD8AD8; muestreado = 1

Se utiliza para el rastreo distribuido entre servicios. AWS Contiene el ID raíz (origen de la solicitud), el ID principal (servicio anterior) y la decisión de muestreo para el rastreo. Un muestreo igual a 1 significa un muestreo del 100%. El formato Parent también es X-Ray Trace. OTEL generará automáticamente los identificadores de seguimiento si no se suministran.

Mejores prácticas de observabilidad

Tenga en cuenta las siguientes prácticas recomendadas al implementar la observabilidad para los agentes en: AgentCore

  • Utilice identificadores de sesión coherentes: cuando sea posible, reutilice el mismo identificador de sesión para las solicitudes relacionadas a fin de mantener el contexto en todas las interacciones.

  • Implemente el rastreo distribuido: utilice los encabezados proporcionados para permitir el rastreo de extremo a extremo en todos los componentes de la aplicación.

  • Agregue atributos personalizados: mejore sus seguimientos y métricas con atributos personalizados que proporcionen un contexto adicional para la resolución de problemas y el análisis.

  • Supervise el uso de los recursos: preste atención a las métricas de uso de la memoria para optimizar el rendimiento de su agente.

  • Configure alertas: configure CloudWatch alarmas para que le notifiquen los posibles problemas antes de que afecten a sus usuarios.

Uso de otras plataformas de observabilidad

Para integrar los agentes alojados en tiempo de AgentCore ejecución con otras plataformas de observabilidad para capturar y ver los resultados de la telemetría, defina la siguiente variable de entorno:

DISABLE_ADOT_OBSERVABILITY=true

Al configurar esta variable para desactivar las variables de entorno ADOT predeterminadas del AgentCore tiempo de ejecución, se garantiza que true no se haya establecido ninguna de las configuraciones ADOT predeterminadas.