View a markdown version of this page

Añada observabilidad a sus recursos de Amazon Bedrock AgentCore - Amazon Bedrock AgentCore

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 para el tiempo de AgentCore ejecución, la memoria, la puerta de enlace, las herramientas integradas y los tipos de recursos de identidad. Estos datos predeterminados están disponibles en Amazon CloudWatch. Para ver toda la gama de datos de observabilidad en la CloudWatch consola o generar métricas de tiempo de ejecución personalizadas para los agentes, debe instrumentar el código con el SDK AWS Distro for Open Telemetry (ADOT).

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

Consulte las siguientes secciones para obtener más información sobre cómo configurar 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

Los agentes que se ejecutan fuera del entorno de ejecución también admiten el uso del SDK de ADOT para generar métricas personalizadas. AgentCore Para obtener información sobre cómo habilitar la observabilidad para estos agentes, consulte Habilitar la observabilidad para los agentes alojados fuera de. AgentCore

Habilitar la observabilidad AgentCore

Para ver las métricas, los intervalos y los seguimientos generados por el AgentCore servicio, primero debes completar una configuración única para activar Amazon CloudWatch Transaction Search. Para ver los intervalos de recursos de memoria proporcionados por el servicio, también debes habilitar el rastreo al crear una memoria. Consulte Habilitar la observabilidad del 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 de su 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 siguientes procedimientos para activar la búsqueda de transacciones.

ejemplo
CloudWatch console
  1. ====== Para activar 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 utilice la AWS CLI o un AWS SDK para habilitar la búsqueda de transacciones, primero configure los permisos necesarios para ingerir intervalos en los CloudWatch registros agregando una política basada en recursos con. PutResourcePolicy

    El siguiente comando AWS CLI agrega una política de recursos que otorga AWS X-Ray permisos para enviar seguimientos a CloudWatch los 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 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 rastreo 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 deseado mediante UpdateIndexingRule.

    Para usar la AWS CLI, ejecute el siguiente comando.

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

Destino de Span para 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 capacidad de Amazon Bedrock AgentCore, puede configurar un agente para que entregue sus intervalos al mismo grupo de CloudWatch registros de Amazon que los registros del agente. Con esta configuración, los intervalos van al flujo de spans registros/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>, en lugar de al grupo de registros compartidoaws/spans. Puede mantener los intervalos, los registros estructurados y los resultados estándar juntos en un grupo de registros por agente, limitar 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 sea compatible con el destino del tramo unificado mantienen el grupo de aws/spans registros compartido como predeterminado.

Puede anular el valor predeterminado de un agente individual con la variable de UNIFIED_TRACES_DESTINATION_ENABLED entorno en el tiempo de ejecución de su agente:

  • Para optar por un agente existente que utilice el grupo de aws/spans registros compartido, UNIFIED_TRACES_DESTINATION_ENABLED=true defina. AgentCore a continuación, entrega 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 defina. 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 segmentos de seguimiento a Amazon CloudWatch Logs. Sin la búsqueda de transacciones, no se AgentCore pueden enviar los intervalos al grupo de registro del agente. Para obtener más información, consulte Habilitar la búsqueda de CloudWatch transacciones.

  • Otorgue la logs:PutResourcePolicy acción en el grupo de registros del agente a la función de ejecución del agente. AgentCore utiliza 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 envían los intervalos al grupo de registros compartido. aws/spans

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

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

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

Cuando utiliza marcos de agentes como Strands o CrewAI con bibliotecas de instrumentación de terceros compatibles, el marco en sí 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. LangChainopentelemetry-instrument-langchain También es posible enviar telemetría y extensiones a las convenciones semánticas de la IA generativa mediante la definición de un rastreador personalizado. AgentCore admite el uso de las siguientes bibliotecas de instrumentación en el marco de sus agentes:

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

nota

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

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

Añada 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. Añada el SDK de ADOT y boto3 a las dependencias de su agente. Para Python, añade lo siguiente a tu requirements.txt archivo:

    aws-opentelemetry-distro>=0.10.0 boto3

    Como alternativa, puedes instalar las dependencias directamente:

    pip install aws-opentelemetry-distro>=0.10.0 boto3
  3. Ejecute su código de agente mediante el comando de OpenTelemetry autoinstrumentación:

    opentelemetry-instrument python my_agent.py

    Este enfoque de autoinstrumentación añade 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 correctamente el identificador de sesión, defina el en el encabezado de la X-Amzn-Bedrock-AgentCore-Runtime-Session-Id solicitud. Luego, ADOT establece correctamente el session_id en los encabezados descendentes.

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

    También puede invocar a su agente con encabezados adicionales para obtener opciones de observabilidad adicionales. Consulte 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 de los agentes alojados fuera del AgentCore entorno de ejecución, primero siga los pasos de las secciones anteriores para activar la búsqueda de CloudWatch transacciones y añadir el SDK de ADOT a su código.

Si aloja su agente en AWS Lambda, utilice la capa AWS Lambda para OpenTelemetry en el AWS sitio web Distro for. OpenTelemetry Añada la capa a su función y, a continuación, defina la variable de AWS_LAMBDA_EXEC_WRAPPER entorno en. /opt/otel-instrument Luego, la capa instrumenta automáticamente tu 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 ADOT no es compatible para la observabilidad de los agentes. Para enviar telemetría desde un agente alojado fuera del AgentCore entorno de ejecución, debe utilizar el SDK de ADOT o la capa Lambda AWS para. OpenTelemetry

Para los agentes que se ejecutan fuera del AgentCore entorno de ejecución, también es necesario crear un grupo de registro de agentes que se incluya en las variables de entorno.

Configure las variables de AWS entorno y, a continuación, configure 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 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úyalo por el nombre de su agente y <agent-id> por un identificador único para su agente.

nota

Si quieres entregar los intervalos OTEL_EXPORTER_OTLP_TRACES_HEADERS 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) logs:PutLogEvents invoque ese grupo de registros. Use la misma política que se muestra en Habilitar la búsqueda de CloudWatch transacciones, con el ARN de su grupo de registros ingresado. Resource Sin esta política, no X-Ray puede entregar intervalos a su grupo de registros.

nota

(Opcional) Para Agent Frameworks distintos de Strands y CrewAI: puede que tengas que añadir un SDK y un código adicionales para enviar la telemetría y los intervalos de las convenciones semánticas de la IA generativa. LangChain AgentCore La observabilidad, una capacidad de Amazon Bedrock AgentCore, admite el uso de las siguientes bibliotecas de instrumentación en el marco de sus agentes: * * Openllmetry * OpenInference* Traceloop OpenLit

Compatibilidad con ID de sesión

Para propagar el identificador de sesión, debe invocarlo utilizando el identificador de sesión que se encuentra en el equipaje del 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

Permite observar el tiempo de AgentCore ejecución, la memoria, la puerta de enlace, las herramientas integradas y los recursos de identidad

Al crear un recurso en AgentCore tiempo de ejecución (agente), de forma predeterminada, en tiempo de AgentCore ejecución se 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 /aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id} tendrá el siguiente {resource-type} formato: memory ogateway.

Para los registros de memoria y puerta de enlace, también puede configurar los destinos de los registros 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 Carga, descarga y trabajo con objetos en Amazon S3 y Creación de 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 integrados, el AgentCore servicio no proporciona registros de forma predeterminada, pero puedes generar tus propios registros a partir del código. Si proporciona sus propios resultados de registro, tendrá que configurar manualmente los destinos de registro 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 la memoria o de la puerta de enlace en la AgentCore consola, utilice los siguientes procedimientos.

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 desee configurar un destino de registro.

  4. Desplácese hacia abajo hasta el panel de entrega de registros y seleccione Agregar.

  5. En la lista desplegable, selecciona el tipo de destino de registro que quieres añadir (grupo de CloudWatch registros, depósito de Amazon S3 o Amazon Data Firehose).

  6. En Tipo de registro, seleccione APPLICATION_LOGS.

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

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

  9. (Opcional) Para cambiar los campos que se capturan en cada registro de 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 gateway (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 desee configurar un destino de registro.

  4. Desplácese hacia abajo hasta el panel de entrega de registros y seleccione Agregar.

  5. En la lista desplegable, selecciona el tipo de destino de registro que quieres añadir (grupo de CloudWatch registros, depósito 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 CloudWatch los registros, el grupo de registros de destino ya está rellenado con un valor predeterminado.

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

  8. (Opcional) Para cambiar los campos que se capturan en cada registro de 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 tiempo de ejecución del agente (consola)

  2. Abra la página Agent Runtime 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 quiere 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. Configura los siguientes detalles de entrega de registros y, a continuación, selecciona Añadir:

    • En Tipo de registro, elija APPLICATION_LOGS.

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

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

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

  6. Compruebe que el estado de entrega del registro esté establecido en 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, en la pestaña Herramientas de interpretación de código o herramientas del navegador, seleccione la herramienta de interpretación de código o la herramienta del navegador para la que desee 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. Configura los siguientes detalles de entrega de registros y, a continuación, selecciona Añadir:

    • En Tipo de registro, elija APPLICATION_LOGS.

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

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

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

  6. Compruebe que el estado de entrega del registro esté establecido en Entrega activa.

Identity
  1. WorkloadIdentity La activació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 puerta de enlace del agente.

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

  2. Abra la página Gateway o Agent Runtime en la AgentCore consola y seleccione un agente o una puerta de enlace para los que desee 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 Añadir, elige el destino del registro: Amazon CloudWatch Logs, Amazon S3 o Amazon Data Firehose.

  4. Configura los siguientes detalles de entrega de registros y, a continuación, selecciona Añadir:

    • En Tipo de registro, elija APPLICATION_LOGS.

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

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

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

  5. Compruebe que el estado de entrega del registro esté establecido en Entrega activa.

Configure el seguimiento de la entrega para CloudWatch usar la consola

En esta sección, se describe cómo habilitar la entrega de trazas CloudWatch para realizar un seguimiento del flujo de interacciones a través de la aplicación, lo que permite visualizar las solicitudes, identificar los obstáculos en el rendimiento, solucionar 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 consola. AgentCore

  3. En el panel Memoria, seleccione el recurso de memoria para el que desee 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 tiempo de ejecución de los agentes en la consola. AgentCore

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

  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 de Span para los agentes alojados en Amazon Bedrock AgentCore Runtime.

    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, seleccione la pestaña Identidad y, a continuación, seleccione el agente para el que quiere habilitar el WorkloadIdentity seguimiento.

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

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

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

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

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

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

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

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 desee 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 la puerta de enlace seleccionada y los intervalos estarán disponibles en el grupo de registros. aws/spans

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

  5. Abra la página de pasarelas 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 desee habilitar WorkloadIdentity el rastreo.

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

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

    nota

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

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

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

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

  4. En el panel de rastreo, selecciona Editar, cambia el widget a Activar y, a continuación, selecciona Guardar.

Configure los CloudWatch recursos mediante un AWS SDK

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

  • Ejecute el siguiente código de Python CloudWatch para configurar la memoria, la puerta de enlace y los recursos de 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)

Observabilidad mejorada en AgentCore 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 encabezados adicionales opcionales para los agentes alojados en el entorno de ejecución. AgentCore

Ejemplo de invocación a 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 las solicitudes (X-Ray formato)

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

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

trazador

Cabecera 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 los indicadores. Se requiere 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, ejemplo AAAAA

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

mcp-session-id

identificador de sesión MCP

MCP-A1B2C3D4-5678-90AB-CDEF, ejemplo AAAAA

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

estado de rastreo

Información adicional sobre el estado del rastreo

congo=t61rc E, rojo=00f067aa0ba902b7 WkgMz

Vendor-specific información de rastreo. Transmite 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 de 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.

Observabilidad mejorada AgentCore de las herramientas integradas con encabezados personalizados

Puede invocar sus 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 observabilidad 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 las solicitudes (X-Ray formato)

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

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

trazador

Cabecera 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 los indicadores. Se requiere para la correlación de trazas entre servicios cuando se utilizan sistemas de rastreo modernos.

Observabilidad de AgentCore identidad mejorada con encabezados personalizados

Puede invocar sus recursos de identidad con encabezados HTTP adicionales para ofrecer opciones de observabilidad mejoradas. Puede incluir los siguientes encabezados opcionales al integrar las siguientes API de identidad para mejorar las capacidades de observabilidad 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 las solicitudes (X-Ray formato)

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

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

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 principio a fin en todos los componentes de la aplicación.

  • Agregue atributos personalizados: mejore sus rastreos y métricas con atributos personalizados que proporcionen un contexto adicional para la solució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 las alarmas para que le notifiquen posibles problemas antes de que afecten a sus usuarios.

Uso de otras plataformas de observabilidad

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

DISABLE_ADOT_OBSERVABILITY=true

Si se true establece esta variable para que se anulen las variables de entorno ADOT predeterminadas del AgentCore tiempo de ejecución, se garantiza que no se establezca ninguna de las configuraciones de ADOT predeterminadas.