• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

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.

Criar um problema

Resolução de problemas OpenTelemetry with New Relic

Resolução de problemas O OpenTelemetry com New Relic pode ser apenas uma questão de garantir que você está seguindo as práticas recomendadas, mas às vezes pode ser necessário executar etapas adicionais para diagnosticar seus problemas. Aqui estão alguns exemplos de problemas específicos que você pode encontrar, juntamente com etapas e ferramentas para resolvê-los.

Os dados do OpenTelemetry enviados via OTLP não podem ser consultados

Problema

Você enviou métricas, log ou rastreamento do OpenTelemetry usando OTLP e não consegue visualizar os dados. Antes de se aprofundar, verifique o seguinte:

Solução

Existem várias ferramentas que você pode usar para validar a entrega bem-sucedida de dados de telemetria à nossa plataforma. Um bom primeiro passo é verificar o hub de gerenciamento de dados para facetar a ingestão de dados e determinar quantos dados estão chegando de várias fontes. Você também pode usar métrica e evento ou criador de consulta para procurar dados facetados por instrumentation.provider ou newrelic.source atributo:

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

Esta consulta deve informar se os dados estão chegando via OTLP. Se os dados esperados não estiverem presentes, tente esta consulta alternativa:

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

Você também pode verificar erros de integração consultando NrIntegrationError evento. Isso pode ajudá-lo a determinar se você tem problemas de configuração ou formato ou se atingiu os limites da nossa plataforma.

Importante

Os limites de ingestão para métrica, log e rastreamento via OTLP são iguais aos nossos outros limites de API de ingestão de dados.

Várias partes da interface do New Relic contam com a presença de atributos específicos para funcionar corretamente. Você pode usar o recurso do console NRQL em muitos lugares para verificar as cláusulas WHERE ou FACET da consulta para obter o atributo necessário. Você também pode editar essas cláusulas e executar novamente a consulta para determinar se há dados presentes com esses atributos ausentes. Exemplos de atributo obrigatório incluem service.name e service.instance.id. Para obter uma lista mais completa de exemplos, consulte recursos.

A correlação de log do OpenTelemetry não está funcionando

Problema

Você correlacionou seu log com seu serviço usando service.name(log do OpenTelemetry: práticas recomendadas) para poder ver o log associado ao rastreamento, mas não vê nenhum log na interface do New Relic. Nesse cenário, os dados de log chegaram ao New Relic, mas não aparecem na interface distributed trace com os intervalos correspondentes.

Solução

Para correlacionar seu log com dados trace , o log precisa incluir o contexto do trace que está contido em trace_id e span_id. No entanto, para garantir que seu log apareça na interface do New Relic, você precisará configurar regras em seu pipeline log para converter trace_id e span_id em trace.id e span.id.

Falta entidade ou relacionamento do OpenTelemetry

Problema

Você enviou dados do OpenTelemetry de um componente de serviço ou infraestrutura e a entidade ou seus relacionamentos estão ausentes ou incorretos.

Solução

As entidades OpenTelemetry serão sintetizadas com base nas regras públicas descritas para o tipo de entidade EXT-SERVICE . A regra padrão para correspondência depende da presença da dimensão service.name que segue as convenções semânticas do OpenTelemetry.

Para definir o service.name com o OpenTelemetry Java SDK, inclua-o no seu recurso:

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

Dependendo do SDK, você também pode definir service.name declarando-o nas variáveis de ambiente OTEL_RESOURCE_ATTRIBUTES ou OTEL_SERVICE_NAME .

Para , você pode usar um modelo de log estruturado para injetar o service.name. Veja logs contextualizados com Log4j2 para ver um exemplo.

Dica

Para obter mais exemplos de OpenTelemetry com New Relic, visite o repositório newrelic-OpenTelemetryexamples no GitHub.

Resolução de problemas do OpenTelemetry Collector

O melhor lugar para dicas de resolução de problemas e práticas de monitoramento do coletor são as diretrizes atualizadas na comunidade OpenTelemetry. Veja os links abaixo para documentos de resolução de problemas da comunidade.

Registro do coletor

Defina o nível de log na configuração service::telemetry::logs. O nível padrão é INFO. Os níveis suportados são: DEBUG, INFO, WARN, ERROR, DPANIC, PANIC, FATAL.

Para dicas de resolução de problemas, consulte log resolução de problemas (GitHub).

Métrica de coletor

A consulta NRQL a seguir mostra todas as métricas disponíveis do próprio coletor no New Relic:

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

Para dicas de resolução de problemas, consulte:

Rastreamento do coletor

Para dicas de resolução 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.