Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
rastreo distribuido te ayuda monitor y analizar el comportamiento de tus sistemas distribuidos. Después de habilitar el rastreo distribuido, puede utilizar nuestras herramientas UI para buscar trazas y analizarlas.
Si busca solucionar errores en una transacción que abarca muchos servicios:
Observando la clase de error y el mensaje, navegue hasta el servicio desde su intervalo en la traza para que pueda ver que el error se está produciendo a un ritmo elevado.
Sugerencia
Working with asynchronous traces?
Si sus trazas se dividen en límites asincrónicos como flujos de mensajes o eventos, puede usar enlaces span para navegar entre trazas relacionadas causalmente. Los enlaces Span lo ayudan a comprender el flujo de solicitud completo incluso cuando los trazas están desconectados. Obtenga más información sobre cómo comprender los enlaces span.
Continúe leyendo para explorar las opciones en la UI de rastreo distribuido.
Contamos con una variedad de herramientas para ayudarte a encontrar trazas y tramos para que puedas resolver problemas. La página de apertura de rastreo distribuido se completa con una lista predeterminada de traza. Puede refinar rápidamente esta lista utilizando estas herramientas:
La barra de consulta Find traces es una forma rápida de limitar la búsqueda de traza. Puede comenzar a escribir en la barra de consulta o usar el menú desplegable para crear una consulta compuesta.
Las devoluciones de la consulta se basan en el atributo span , no en el atributo traza. Usted define tramos que tienen ciertos criterios y la búsqueda muestra una traza que contiene esos tramos.
Si utiliza un filtro de múltiples atributos, se verá afectado por el primer atributo seleccionado. rastreo distribuido informa sobre dos tipos de datos: transacción evento y spans. Cuando selecciona un atributo en el filtro, el tipo de datos al que está asociado el atributo dicta los atributos disponibles. Por ejemplo, si filtra por un atributo adjunto a un evento de transacción, solo los atributos del evento de transacción estarán disponibles cuando intente agregar un filtro por valores de atributos adicionales.
Las consultas de traza son similares a NRQL (nuestro lenguaje de consulta), con algunas excepciones principales:
Los valores de cadena no requieren comillas (por ejemplo, puede usar appName = MyApp o appName = 'MyApp')
El operador like no requiere % (por ejemplo, puede usar appName like product o appName like %product%).
Estos son dos ejemplos de cómo utilizar la barra de consulta:
La consulta en la imagen a continuación encuentra una traza que:
Pase por la aplicación WebPortal y Inventory Service
Tener una llamada de almacenamiento de datos del Servicio de Inventario que demore más de 500 ms
Además de la barra de consulta en la parte superior de la página, puede usar las píldoras de filtro en línea y los botones de alternancia para reducir la lista de trazas.
Entities: Use el desplegable de entidades para filtrar las trazas por entidades específicas en el sistema.
Errors: seleccione esta píldora para mostrar solo las trazas que contienen errores.
Refine: Haga clic en Refine en el lado derecho de la barra de filtros para acceder a opciones de filtrado adicionales.
Unfragmented traces only: Active este botón de alternancia para ocultar las trazas fragmentadas y mostrar solo las trazas completas.
Multi-span only: active este interruptor para ocultar las trazas de un solo span y mostrar solo las trazas con múltiples spans.
Organice sus datos de tramo
La pestaña Trace groups es la vista predeterminada del rastreo distribuido. Agrupa las trazas por su span de entrada raíz —el span donde New Relic comenzó a registrar la solicitud.
Con los grupos de trazas, obtienes una vista de alto nivel de la traza para que puedas comprender el comportamiento de las solicitudes para grupos de trazas similares. Esto le ayuda a comprender las caídas o picos en el recuento, la duración y los errores de las trazas. Cuando hace clic en uno de los grupos de trazas, obtiene todos los detalles estándar en el contexto del grupo de trazas específico que seleccionó.
Cuando se encuentre en la pestaña Trace groups, verá tres gráficos de resumen en la parte superior de la página: Trace count, Trace duration (ms) y Error rate. Cada gráfico se desglosa por grupo de trazas. Debajo de los gráficos, una tabla enumera los grupos principales por recuento de trazas con columnas para trazas, promedio de spans, promedio de entidades, duración del span raíz y errores.
El gráfico de dispersión de trazas es una forma rápida de buscar trazas atípicas. Está disponible cuando selecciona la pestaña Root entry span, Root entity o Errors en la parte superior de la lista de trazas.
En el diagrama de dispersión, puede mover el cursor por el gráfico para ver los detalles del trazado y puede hacer clic en puntos individuales para obtener detalles:
Controle lo que se muestra en el diagrama de dispersión:
Seleccione el tipo de duración en el menú desplegable View by :
Backend duration
Root span duration
Trace duration
En Facet traces by, seleccione una de estas opciones:
Root entry span: Agrupar por la transacción raíz, que es el extremo del servicio raíz. En una traza donde el Servicio A llama al Servicio B y el Servicio B llama al Servicio C, el tramo de entrada raíz es el extremo del Servicio A. Por ejemplo: "Servicio A - GET /usuario/%".
Root entity: Grupo por el nombre de la primera entidad en traza. En una traza donde el Servicio A llama al Servicio B y el Servicio B llama al Servicio C, la entidad raíz sería el Servicio A.
Errors: Agrupar según si la traza contiene errores o no.
Para reducir aún más las trazas mostradas en el gráfico de dispersión, use las píldoras de filtro en línea y los botones de alternancia en la parte superior de la página.
Sugerencia
Algunas consultas que producen muchos resultados pueden resultar en falso positivo en los gráficos. Esto podría manifestarse como gráficos que muestran resultados de traza que no están en la lista de traza.
Detalles adicionales UI
Aquí hay algunos detalles, reglas y límites adicionales UI de rastreo distribuido:
Los errores a nivel de tramo le muestran dónde se originaron los errores en un proceso, cómo surgieron y dónde se manejaron. Cada lapso que termina con un error se muestra con un error en la UI y contribuye al recuento total de errores para esa traza.
A continuación se ofrecen algunos consejos generales para comprender los errores de extensión:
Los tramos con errores se resaltan en rojo en la UI del rastreo distribuido. Puede ver más información en el panel Error Details para cada tramo.
Todos los tramos que salen con errores se cuentan en el recuento de errores de tramo.
Cuando se producen varios errores en el mismo intervalo, solo se escribe uno en el intervalo en este orden de prioridad:
A noticeError
El error de intervalo más reciente dentro del alcance de ese intervalo
Esta tabla describe cómo se manejan los diferentes errores de intervalo:
Tipo de error
Descripción
Tramos que terminan en errores
Un error que sale del límite de un intervalo da como resultado un error en ese intervalo y en cualquier intervalo antecesor que también salga con un error, hasta que se detecta el error o sale de la transacción. Puede ver si se detecta un error en un intervalo de ancestros.
Errores de aviso
Los errores detectados por las llamadas a la API del agente noticeError o por la instrumentación automática del agente se adjuntan al intervalo de ejecución actual.
Errores de código de respuesta
Los errores del código de respuesta se adjuntan al intervalo asociado, como por ejemplo:
Span de cliente: Transacción externa con el prefijo http o db.
Intervalo de entrada: En el caso de una transacción que finaliza con un error de código de respuesta.
El código de respuesta para estos intervalos se captura como un atributo http.statusCode y se adjunta a ese intervalo.
Errores de OpenTelemetry
El cuadro Error Details del panel derecho está lleno de intervalos que contienen otel.status_code = ERROR y muestra el contenido de otel.status_description.
Sugerencia
Los eventos de intervalo de OpenTelemetry manejados por la aplicación/servicio se muestran independientemente del estado de error de intervalo y no están necesariamente asociados con un estado de error de intervalo. Puede ver las excepciones y no excepciones de eventos de intervalo haciendo clic en View span events en el panel derecho.
Si un intervalo se muestra como anómalo en la UI, significa que se cumplen las siguientes condiciones:
El tramo es más de dos estándar más lento que el promedio de todos los tramos con el mismo nombre del mismo servicio durante las últimas seis horas.
La duración del tramo es superior al 10% de la duración de la traza.
Cuando un proceso llama a otro proceso, y ambos procesos están instrumentados por New Relic, la traza contiene tanto una representación de la llamada del lado del cliente como una representación del lado del servidor. El lapso de cliente (proceso de llamada) puede tener diferencias relacionadas con el tiempo en comparación con el lapso del servidor (llamado proceso). Estas diferencias podrían deberse a:
Desfase del reloj, debido a diferencias horarias en el reloj del sistema
Diferencias en la duración, debido a cosas como la latencia de la red o el retraso en la resolución de DNS
La UI muestra estas diferencias relacionadas con el tiempo mostrando un esquema del intervalo de cliente en el mismo espacio que el intervalo del servidor. Este lapso representa la duración del lapso de cliente.
No es posible determinar todos los factores que contribuyen a estas discrepancias relacionadas con el tiempo, pero aquí hay algunos patrones de intervalos comunes y consejos para comprenderlos:
R. Cuando una extensión de cliente es más larga que la extensión del servidor, esto podría deberse a la latencia en varias áreas, como: tiempo de red, tiempo de cola, tiempo de resolución de DNS o de un balanceador de carga que no podemos ver. B. Cuando un intervalo de cliente comienza y finaliza antes de que comience un intervalo de servidor, esto podría deberse a una desviación del reloj o a que el servidor realiza un trabajo asincrónico que continúa después de enviar la respuesta. C. Cuando un intervalo de cliente comienza después de un intervalo de servidor, lo más probable es que se trate de un desfase del reloj.
Las trazas fragmentadas son trazas a las que les faltan tramos. Cuando falta un tramo o tiene ID principales de tramo no válidos, su tramo secundario queda separado del resto de la traza, a lo que nos referimos como "huérfano". Los tramos huérfanos aparecen en la parte inferior de la traza, y carecerán de líneas de conexión con el resto de la traza. Si tiene tramos fragmentados, verá la palabra Fragmented en la parte superior de la página de detalles:
Tipos de propiedades de intervalo huérfano indicadas en la UI:
No root span. Falta el intervalo raíz, que es la primera operación de la solicitud. Cuando esto sucede, el intervalo con la timestamp más antigua se muestra como raíz.
Orphaned span. Un solo tramo al que le falta un tramo principal. Esto podría deberse a que el tramo principal tiene un ID que no coincide con su tramo secundario.
Orphaned trace fragment. Un grupo de tramos conectados donde el primer tramo del grupo es un tramo huérfano.
Esto puede suceder por varias razones, que incluyen:
Collection limits. Algunas aplicaciones de alto rendimiento pueden exceder los límites de recopilación (por ejemplo, límites de recopilación del agente APM o límites de API). Cuando esto sucede, es posible que a la traza le falten tramos. Una forma de remediar esto es desactivar algunos informes para que no se alcance el límite.
Incorrect instrumentation. Si una aplicación se instrumenta incorrectamente, no pasará el contexto de traza correctamente y esto resultará en una traza fragmentada. Para remediar esto, examine la fuente de datos que genera intervalos huérfanos para asegurarse de que la instrumentación se realice correctamente. Para descubrir la fuente de datos de un tramo, selecciónelo y examine los detalles del tramo.
Spans still arriving. Si aún no se ha recopilado parte del principal del tramo, esto puede resultar en espacios temporales hasta que se haya informado toda la traza.
UI display limits. Se pueden producir tramos huérfanos si una traza excede el límite de visualización de tramos de 10K.
Las trazas conservadas son similares a las instantáneas de la traza original. Archivan una traza completa que ha sido visualizada previamente y ha superado el período de retención. Las trazas completas solo están disponibles durante 7 días, a menos que hayas comprado la retención extendida (que se reflejaría automáticamente en la UI). Sin embargo, la traza conservada puede existir hasta por 1 año y generalmente funciona como la traza original.
Tenga en cuenta que la traza conservada no mostrará datos de rendimiento del intervalo ni datos de anomalía del intervalo. Es posible que no se pueda acceder a la traza conservada si una entidad en una traza conservada se elimina, caduca o deja de informar datos.
Si no tiene acceso a las cuentas de New Relic que monitor otros servicios, algunos de los detalles del período y del servicio se ocultarán en la UI. La ofuscación puede incluir:
Nombre del tramo oculto por asteriscos
Nombre del servicio reemplazado por ID de cuenta de New Relic y ID de aplicación
Para obtener más información sobre los factores que afectan su acceso a las cuentas, consulte Acceso a la cuenta.
Al visualizar la cascada de tramos, es posible que los nombres de tramos se muestren en un formato incompleto que sea más legible para los humanos que el nombre completo del tramo. Para encontrar el nombre completo, seleccione ese intervalo y busque Full span name. Conocer el nombre completo puede resultar valioso para consultar esos datos con NRQL.
En ocasiones, a una traza le pueden faltar (o parecer tener) tramos o servicios. Esto puede manifestarse como una discrepancia entre el recuento de tramos o servicios de una traza que se muestra en la lista de traza y el recuento que se muestra en la página de detalles de la traza .
Los motivos por los que faltan tramos y las discrepancias en el recuento incluyen:
Es posible que un intervalo se cuente inicialmente pero no se muestre en una visualización de traza, por motivos como la latencia de la red o un problema de consulta.
Es posible que la UI haya alcanzado su límite de visualización de 10 K.
Todos los tramos recopilados, incluidos los que no se muestran, se pueden consultar con NRQL.