• 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

Resolución de problemas OpenTelemetry con New Relic

La resolución de problemas OpenTelemetry con New Relic puede ser solo una cuestión de asegurarse de seguir las mejores prácticas, pero a veces es posible que deba tomar medidas adicionales para diagnosticar sus problemas. A continuación se muestran algunos ejemplos de problemas específicos que puede encontrar, junto con los pasos y herramientas para resolverlos.

Los datos de OpenTelemetry enviados a través de OTLP no se pueden consultar

Problema

Enviaste OpenTelemetry métrica, log o traza usando OTLP y no puedes ver los datos. Antes de profundizar más, asegúrese de haber verificado lo siguiente:

Solución

Hay varias herramientas que puede utilizar para validar la entrega exitosa de telemetry data a nuestra plataforma. Un buen primer paso es verificar el centro de administración de datos para facetar la ingesta de datos y determinar cuántos datos llegan de diversas fuentes. También puedes usar métrica y evento o generador de consultas para buscar datos facetados por instrumentation.provider o newrelic.source atributo:

FROM Log, Metric, Span SELECT datapointcount() WHERE instrumentation.provider = 'opentelemetry' FACET instrumentation.provider, newrelic.source

Esta consulta debería indicarle si los datos llegan a través de OTLP. Si los datos que espera no están presentes, pruebe esta consulta alternativa:

FROM Log, Metric, Span SELECT count(*) where newrelic.source LIKE 'api.%.otlp'

También puede verificar si hay errores de integración consultando el evento NrIntegrationError. Esto puede ayudarle a determinar si tiene problemas de configuración o formato o si se ha topado con los límites de nuestra plataforma.

Importante

Los límites de ingesta para métrica, log y traza a través de OTLP son los mismos que nuestros otros límites API de ingesta de datos.

Varias partes de la UI de New Relic dependen de la presencia de un atributo específico para funcionar correctamente. Puede usar la característica de la consola NRQL en muchos lugares para verificar las cláusulas WHERE o FACET de la consulta para el atributo requerido. También puede editar esas cláusulas y volver a ejecutar la consulta para determinar si hay datos presentes a los que les faltan esos atributos. Ejemplos de atributo requerido incluyen service.name y service.instance.id. Para obtener una lista más completa de ejemplos, consulte recursos.

La correlación log de OpenTelemetry no funciona

Problema

Ha correlacionado su registro con su servicio usando service.name(Registro de OpenTelemetry: mejores prácticas) para poder ver el registro asociado con traza, pero no ve ningún registro en la UI de New Relic. En este escenario, los datos log llegaron a New Relic, pero no aparecen en la UI de rastreo distribuida con los intervalos correspondientes.

Solución

Para correlacionar su registro con los datos de la traza, el registro debe incluir el contexto de traza que contiene trace_id y span_id. Sin embargo, para garantizar que su registro aparezca en la UI de New Relic, deberá configurar reglas en su proceso log para traducir trace_id y span_id a trace.id y span.id.

Faltan entidades o relaciones de OpenTelemetry

Problema

Envió datos de OpenTelemetry desde un componente de servicio o infraestructura y la entidad o sus relaciones faltan o son incorrectas.

Solución

Las entidades OpenTelemetry se sintetizarán en función de las reglas públicas descritas para el tipo de entidad EXT-SERVICE . La regla estándar para hacer coincidir se basa en la presencia de la dimensión service.name que sigue las convenciones semánticas de OpenTelemetry.

Para configurar service.name con OpenTelemetry Java SDK, inclúyalo en su recurso:

var resource = Resource.getDefault()
.merge(Resource.builder().put(SERVICE_NAME, serviceName).build());

Dependiendo del SDK, también puede configurar service.name declarándolo en las variables de entorno OTEL_RESOURCE_ATTRIBUTES o OTEL_SERVICE_NAME .

Para , puede utilizar una plantilla log estructurada para inyectar el service.name. Consulte logs en el contexto con Log4j2 para ver un ejemplo.

Sugerencia

Para obtener más ejemplos de OpenTelemetry con New Relic, visite el repositorio newrelic-OpenTelemetry-examples en GitHub.

Resolución de problemas del recolector OpenTelemetry

El mejor lugar para obtener consejos para la resolución de problemas y prácticas de monitoreo del recopilador son las pautas actualizadas de la comunidad OpenTelemetry. Consulte los enlaces a continuación para ver los documentos comunitarios de resolución de problemas.

Registro de recuerdo

Establezca el nivel de registros en la configuración service::telemetry::logs. El nivel predeterminado es INFO. Los niveles admitidos son: DEBUG, INFO, WARN, ERROR, DPANIC, PANIC, FATAL.

Para obtener consejos sobre resolución de problemas, consulte registro de resolución de problemas (GitHub).

Selector métrico

La siguiente consulta NRQL muestra todas las métricas disponibles desde el propio recolector en New Relic:

FROM Metric SELECT uniques(metricName) WHERE metricName like ‘otelcol_%LIMIT MAX

Para obtener consejos sobre resolución de problemas, consulte:

Recolector de trazas

Para obtener consejos sobre resolución de problemas, consulte zPages (Github).

Copyright © 2024 New Relic Inc.

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