El rastreo para Amazon API Gateway está en vista previa
Esta función está en vista previa.
Datadog APM puede crear tramos inferidos para las solicitudes que pasan por Amazon API Gateway a servicios alojados en contenedores o EC2. Los tramos potencian las trazas (traces) de extremo a extremo, los mapas de servicios y el muestreo basado en la propia puerta de enlace.
Si tu API Gateway se integra con AWS Lambda, no sigas las instrucciones de esta página. Las capas Datadog Lambda ya emiten tramos (spans) inferidos de API Gateway. Al añadir las cabeceras de proxy descritas aquí se pueden crear trazas duplicadas o conflictivas.
Requisitos previos
Amazon API Gateway se despliega como una API REST (v1) o una API HTTP (v2).
Nota: Si se utiliza la API HTTP (v2), context.requestTimeEpoch proporciona una especificidad de segundo nivel, a diferencia de las API REST (v1) que proporcionan una precisión de milisegundos. Esto significa que la duración del tramo es aproximada.
DD_TRACE_INFERRED_PROXY_SERVICES_ENABLED está configurado en el contenedor de la aplicación:
En la consola de AWS Management, ve a API Gateway y luego a la página Recursos de tu API.
Ve a Integration request (Solicitud de integración) y haz clic en Editar (Edit).
En Edit integration request (Editar solicitud de integración), ve a URL request headers parameters (Parámetros de cabecera de solicitud URL). Haz clic en Add request header parameter (Añadir parámetro de cabecera de solicitud).
Para crear tramos inferidos, API Gateway debe pasar las siguientes cabeceras a tus servicios backend:
Cabecera
Valor
x-dd-proxy
aws-apigateway
x-dd-proxy-request-time-ms
${context.requestTimeEpoch}000
x-dd-proxy-domain-name
$context.domainName
x-dd-proxy-httpmethod
$context.httpMethod
x-dd-proxy-path
$context.path
x-dd-proxy-stage
$context.stage
Nota: context.requestTimeEpoch devuelve una marca de tiempo en segundos en las API v2. Datadog espera milisegundos, por lo que debes multiplicar por 1000 añadiendo 000.
Adjunta la asignación de parámetros que inyecta las cabeceras:
El muestreo basado en cabeceras se sigue aplicando cuando se utiliza el rastreo de API Gateway. Debido a que el tramo inferido se convierte en la raíz de la nueva traza, actualiza tus reglas para que el valor de servicio coincida con el nombre de servicio de API Gateway que se muestra en Datadog.