Información sobre los requisitos de datos de traza API , que incluyen:
- Especificaciones de datos y límites máximos.
- Metadatos requeridos (encabezados, parámetro de consulta)
- Detalles de validación de respuesta
Este documento se aplica a la traza API en general. Para conocer las reglas relativas a formatos de datos específicos, consulte:
Extremo
Todos los datos de la traza se envían vía HTTPS POST a una traza extremos de API. Tenemos algunos extremos, dependiendo de su configuración:
- Traza por defecto extremos de API:
https://trace-api.newrelic.com/trace/v1
- Centro de datos de la UE:
https://trace-api.eu.newrelic.com/trace/v1
(ver otro extremo de la UE). - Seguimiento infinito: cuando completa la configuración del observador de traza, obtiene un valor personalizado YOUR_TRACE_OBSERVER_URL para usar como extremo. Si estás utilizando una integración que utiliza la API de traza (por ejemplo, Kamon reporter), debes configurar esa integración con ese extremo. También querrás ajustar el muestreo de tu servicio de rastreo para enviarnos el 100 % de los intervalos.
- FedRAMP: Ver FedRAMP extremo.
Formatos de datos
Actualmente, la API de traza acepta dos tipos de formatos de datos:
zipkin
: Para informar datos de Zipkin traza. Los datos de Zipkin deben ser Zipkin JSON v2.newrelic
: Para informar todos los demás datos de traza.
Atributo restringido
Los atributos de la siguiente tabla están restringidos en el formato JSON newrelic
(en el bloque attributes
) y en el formato JSON zipkin
(en el bloque tags
. Any values with these keys will be omitted:
Atributo restringido | Descripción |
---|---|
cadena | Identificador único de la entidad que creó este intervalo. Generado a partir de |
cadena | Se utiliza para compatibilidad con datos de agente. |
Los atributos en la siguiente tabla se utilizan internamente para identificar la entidad. Cualquier valor enviado con estas claves en la sección de atributos de un punto de datos métrico puede causar un comportamiento indefinido, como la falta de entidad en la UI o que la telemetría no se asocie con la entidad esperada. Para obtener más información, consulte la síntesis de entidades:
Atributo restringido | descripción |
---|---|
cadena | Identificador único de la entidad asociada con este intervalo. |
cadena | Nombre legible por humanos de una entidad, que a menudo se usa para identificar una entidad en la UI. |
cadena | Se utiliza para diferenciar entre diferentes tipos de entidades, como hosts, aplicaciones, etc. |
Solicitar metadatos (encabezados y parámetro de consulta)
La siguiente tabla muestra los metadatos de solicitud requeridos para todos los formatos de datos de traza. Estos metadatos se pueden enviar como encabezados HTTP en una solicitud de ingesta o, en algunos casos, proporcionarse como parámetro de consulta, que puede ser necesario para el marco de seguimiento que no permite la modificación del encabezado.
Importante
Nota de seguridad: sugerimos usar encabezados porque los parámetros de consulta están presentes en la URL y pueden registrarse antes de ser cifrados y recibidos por New Relic. Todos los datos enviados como parámetro de consulta deben ser seguros para URL.
Encabezamiento | ¿Parámetro de consulta? | Detalles |
---|---|---|
| No | Required. Debe ser |
| No | Required. La longitud del cuerpo de la solicitud en octetos (bytes de 8 bits), a menos que se envíe con codificación fragmentada. Este encabezado generalmente lo establece de forma predeterminada el cliente HTTP subyacente que envía los datos y, en la mayoría de los casos, no debería requerir ningún esfuerzo adicional por parte del usuario final. |
| Sí (distingue entre mayúsculas y minúsculas) | Required. La API de traza requiere un . Si esto se proporciona como encabezado y parámetro de consulta, los valores deben coincidir. |
| No | Required if compressed payload. El valor debe ser |
| Sí | Required for Si está presente, |
| Sí | Required for Si está presente, Sólo hay dos combinaciones posibles para estos valores:
|
| No | Optional - Reserved for future use. El valor debe ser un |
Validación de respuesta
Una respuesta para enviar datos de traza con éxito incluirá un requestId
. Por ejemplo:
{ "requestId": "c1bb62fc-001a-b000-0000-016bb152e1bb" }
Hay dos formas de señalar el éxito o los errores:
HTTP status code (sincrónico). Los errores de autenticación y solicitud se indicarán mediante un código de estado HTTP.
NrIntegrationError
evento (asincrónico). Los errores con la carga útil JSON u otros errores semánticos se señalan de forma asincrónica a través del eventoNrIntegrationError
que se almacena en la cuenta cuyo está asociado con la solicitud. Para todos los errores de este tipo, el atributonewRelicFeature
seráDistributed Tracing
yrequestId
será elrequestId
de la respuesta extremo.
Si recibe una respuesta 202
y no ve un evento NrIntegrationError
, sus datos deberían estar visibles en nuestra UIglobal de rastreo distribuida en aproximadamente un minuto. Debería poder encontrar la traza utilizando una búsqueda de traza estándar como:
traceId = TRACE_ID_SENT
Límites de datos
Para conocer los límites relacionados con la traza, consulte Cómo funciona rastreo distribuido.