• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Denunciar Traza en formato Zipkin vía traza API

Si desea crear su propia implementación de seguimiento, puede utilizar nuestra traza API. Este documento explica cómo enviar datos de traza en formato Zipkin a nuestra API de traza. (Para conocer nuestro formato de datos generales, consulte Formato New Relic).

Requisitos de la versión Zipkin

La API de traza admite datos de Zipkin JSON v2 (o superior) sin ninguna modificación. Para obtener detalles sobre esta versión, consulte los detalles de la versión de Zipkin v2 y el esquema de Zipkin v2.

Descripción general del uso de traza API

Utilizar nuestra traza API es tan sencillo como:

  • Envío de datos de traza en el formato esperado (en este caso, formato zipkin ).
  • Enviando esos datos al extremoapropiado

Nuestras instrucciones de envío de datos tienen opciones para habilitar Infinite Tracing. Para obtener más información sobre esto, consulte Introducción a las consideraciones de seguimiento y muestreo infinitos.

Para comenzar a utilizar la API de traza, elija una opción:

Enviar muestra de carga útil Zipkin traza

Esta sección describe cómo enviar una traza simple en formato Zipkin a nuestra API de traza a través de una solicitud curl. Puede optar por hacer esto para aprender cómo funciona nuestra API y verificar que los datos se muestren en New Relic antes de realizar una instrumentación en profundidad.

Para comenzar a enviar una carga útil de muestra:

  1. (Opcional, para habilitar Infinite Tracing) Primero, debe configurar un observador de traza. Ese procedimiento incluye instrucciones para enviar una traza de muestra utilizando nuestro formato general new-relic . Cuando llegue a ese paso, regrese aquí para aprender cómo enviar una traza en formato Zipkin.
  2. Envíe una carga útil en formato Zipkin siguiendo las instrucciones a continuación.

Enviar carga útil en formato Zipkin

Para enviar una muestra de traza en formato Zipkin:

Obtenga el para la cuenta a la que desea informar datos.

Estará ejecutando una solicitud curl, a continuación. Notas sobre esto:

  • Reemplace el marcador de posición de la clave de licencia con su clave de licencia.
  • Si está utilizando Infinite Tracing, utilice el valor YOUR_TRACE_OBSERVER_URL en lugar del extremo estándar.
  • Si desea enviar más de una publicación, cambie el ID de la traza a un valor diferente. Enviar la misma carga útil o intervalo id varias veces para el mismo traceId puede generar una traza fragmentada en la UI.
bash
$
curl -i -H 'Content-Type: application/json' \
>
-H 'Api-Key: NEW_RELIC_API_KEY' \
>
-H 'Data-Format: zipkin' \
>
-H 'Data-Format-Version: 2' \
>
-X POST \
>
-d '[
$
{
$
"traceId": "test-zipkin-trace-id-1",
$
"id": "3e0f5885710776cd",
$
"kind": "CLIENT",
$
"name": "post",
$
"duration": 508068,
$
"localEndpoint": {
$
"serviceName": "service-1",
$
"ipv4": "127.0.0.1",
$
"port": 8080
$
},
$
"tags": {
$
}
$
},
$
{
$
"traceId": "test-zipkin-trace-id-1",
$
"parentId": "3e0f5885710776cd",
$
"id": "asdf9asdn123lkasdf",
$
"kind": "CLIENT",
$
"name": "service 2 span",
$
"duration": 2019,
$
"localEndpoint": {
$
"serviceName": "service-2",
$
"ipv4": "127.0.0.1",
$
"port": 8080
$
},
$
"tags": {
$
"error.message": "Invalid credentials"
$
}
$
}
$
]' 'https://trace-api.newrelic.com/trace/v1'

En un minuto, la traza debería estar disponible en nuestra UIde rastreo distribuido. Para encontrarlo, ejecute una consulta para trace.id. En este ejemplo, fue test-zipkin-trace-id-1. Tenga en cuenta que busca por el atributo transformado de trace.id (no traceId).

Aprender más:

Enviar datos desde instrumentación Zipkin existente

Notas preliminares:

Para informar datos de una instrumentación Zipkin existente, apuntará el trazador Zipkin a los extremos de traza de API apropiados con algunos metadatos de solicitud requeridos. Puede enviar los metadatos requeridos como encabezados o parámetros de consulta (algunas versiones de Zipkin rastreador no permiten especificar encabezados HTTP).

A continuación se muestra un ejemplo de cómo se vería al crear un Zipkin OkHttpSender en Java configurado para la API de traza:

OkHttpSender.create("https://trace-api.newrelic.com/trace/v1?Api-Key=NEW_RELIC_LICENSE_KEY&Data-Format=zipkin&Data-Format-Version=2");

Tenga en cuenta que si estuviera utilizando Infinite Tracing o tuviera una cuenta New Relic de la región de la UE, el extremo sería diferente.

Para obtener una explicación de Api-Key y otros metadatos, consulte Solicitar metadatos.

Transformación de datos Zipkin

Para crear una experiencia de búsqueda/consulta consistente, algunos datos de Zipkin se transformarán para que coincidan con el nombre del atributo New Relic. Para obtener más información sobre cómo almacenamos y estructuramos los datos de traza, consulte Cómo funciona rastreo distribuido.

Etiqueta Zipkin

Almacenado en New Relic como...

Detalles

traceId

trace.id

Identificador único para una traza.

id

id

Identificador único para un lapso.

parentId

parent.id

Identificador del tramo ascendente que llamó al servicio.

kind

kind

Ya sea Client o Server.

name

name

Nombre del tramo.

duration

duration.ms

Los intervalos de Zipkin v2 deben tener duraciones especificadas en microsegundos y se convertirán a milisegundos.

localEndpoint: serviceName

service.name

Usamos el nombre del servicio Zipkin v2 para identificar la entidad que creó este tramo. Si no se proporciona ningún valor o se proporciona una cadena vacía, el intervalo se asigna a una entidad "DESCONOCIDA" y se mostrará como tal en la UI. Este valor debe proporcionarse para obtener una experiencia completa en la UI.

localEndpoint: port

localEndpoint.port

Todos los valores del objeto localEndpoint se aplanarán a un atributo de intervalo llamado localEndpoint.key

tags

reportado como atributo

Los pares principales de valor en el objeto tags en Zipkin v2 se escribirán como atributo span.

anotaciones

No soportado

Actualmente no admitimos anotaciones en la traza API. No se rechazarán los tramos que contengan anotaciones, pero no se escribirán los datos de las anotaciones.

Agregar otra etiqueta/atributo

Puedes agregar cualquier etiqueta que desees al bloque tags , con la excepción de la etiqueta restringida. Por ejemplo, es posible que desees agregar atributos como customer.id o user.id para ayudarte a analizar los datos de tu traza. La etiqueta se convertirá en New Relic el atributo.

Para aprender a controlar cómo aparecen los intervalos en New Relic (por ejemplo, agregar errores o configurar un intervalo como intervalo de almacenamiento de datos), consulte Decorar intervalos.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.