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

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

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Registro OpenTelemetry no New Relic

Esta documentação se concentra em como New Relic processa o log OpenTelemetry recebido por meio de seu endpoint OTLP dedicado.

Existem dois fluxos de trabalho típicos para enviar log OpenTelemetry para New Relic:

Independentemente do método de coleta escolhido, uma integração bem-sucedida requer a configuração de sua origem log para exportar o log para este endpoint. Certifique-se de revisar os requisitos de configuração do endpoint antes de continuar.

Mapeamento de registro log OTLP

O New Relic mapeia registros de log OTLP para o tipo de dados Log. A tabela abaixo descreve como os campos da mensagem protoLogRecord são mapeados para New Relic Log:

Campo OTLP logs.proto

Campo New Relic Log

ResourceLogs.Resource.attributes

Cada valor principal é um atributo no campo Log [1]

ScopeLogs.InstrumentationScope.name

otel.library.name

ScopeLogs.InstrumentationScope.version

otel.library.version

ScopeLogs.InstrumentationScope.attributes

Cada valor principal é um atributo no campo Log [1]

LogRecord.time_unix_nanos

timestamp [2]

LogRecord.severity_number

severity.number

LogRecord.severity_text

severity.text

LogRecord.body

message, e possivelmente analisado atributo [3]

LogRecord.attributes

Cada valor principal é um atributo no campo Log [1]

LogRecord.dropped_attribute_count

otel.dropped_attributes_count

LogRecord.flags

w3c.flags (inteiro)

LogRecord.trace_id

trace.id

LogRecord.span_id

span.id

Notas de rodapé da tabela

[1] Em caso de conflito no atributo de recursos, atributo de escopo, atributo de registro de log , campos de registro de log de nível superior e atributo analisado de LogRecord.body [3], a ordem do precedente (do maior para o menor) é: atributo analisado de LogRecord.body -> campos LogRecord.* de nível superior > LogRecord.attributes > ScopeLogs.InstrumentationScope.attributes > ResourceLogs.Resource.attributes.

Consulte os tipos de atributos OTLP para obter detalhes sobre os tipos de atributos suportados New Relic OTLP endpoint e os limites de atributos OTLP para obter detalhes sobre a validação realizada no atributo.

[2] Se LogRecord.time_unix_nanos não estiver presente, timestamp será definido como o horário em que a New Relic recebeu os dados.

[3] A análise de log é aplicada ao LogRecord.body para tentar extrair atributo de:

  • Texto de log simples: O valor da string será definido como o atributo message .
  • JSON stringificado: se um log for formatado como JSON, mas enviado como uma string de texto simples, os pares valor principal se tornarão atributos do log resultante. Para mais detalhes, consulte a documentação de análise JSON . Isso é particularmente útil ao coletar logs de arquivos ou stdout. Nesse caso, é comum não ter nenhum atributo de recurso associado ao registro de log (necessário para correlação de serviçoAPM ) e nenhum valor para LogRecord.trace_id / LogRecord.span_id (necessário para correlaçãotrace ). Os logs no contexto funcionarão conforme o esperado se os campos necessários puderem ser analisados com sucesso.
  • Estrutura do mapa: se os dados forem formatados como um mapa de acordo com a especificação OTLP, eles serão analisados e nivelados em atributos, semelhante à análise JSON. Para mais detalhes, consulte a documentação de análise JSON .

Correlação com o serviço OpenTelemetry APM

log estão correlacionados com uma entidade de serviço se incluírem o atributo exigido. Normalmente, eles vêm do atributo de recurso do log, como ResourceLogs.Resource.attributes, mas também podem ser analisados a partir de LogRecord.body conforme descrito na nota de rodapé nº 3 do mapeamento OTLP.

Para visualizar o log de um serviço, navegue até a página de log desse serviço.

Correlação com traces

Log são correlacionados com um trace se trace.id e span.id atributo puderem ser resolvidos. Normalmente, eles vêm dos campos LogRecord.trace_id e LogRecord.span_id , mas também podem ser analisados a partir do LogRecord.body conforme descrito na nota de rodapé 3 do mapeamento OTLP.

Para visualizar o log registrado no contexto de um determinado trace, você tem duas opções:

  • Navegue até a guia Logs na página de detalhes de trace .
  • Navegue até a página de log de um serviço e clique em um log para abrir os detalhes log. Se estiver associado a um trace, você poderá navegar dos Log details até osTrace details.

Logs como evento New Relic personalizado

OpenTelemetry define um evento como um LogRecord com um EventName não vazio. eventos personalizados são um sinal central na plataforma New Relic. Entretanto, apesar de usarem o mesmo nome, OpenTelemetry evento e New Relic evento personalizado não são conceitos idênticos:

  • OpenTelemetry EventNames não compartilham o mesmo formato ou semântica que os tipos de eventos personalizados. Os nomes dos eventos OpenTelemetry são totalmente qualificados com um namespace e seguem letras minúsculas, por exemplo com.acme.my_event. tipos de eventos personalizados são pascal case, por exemplo MyEvent.
  • O evento OpenTelemetry pode ser considerado um log estruturado aprimorado. Assim como os logs estruturados, seus dados são codificados em pares valor principal em vez de texto de formato livre. Além disso, o EventName atua como um sinal inequívoco da classe/tipo de evento que ocorreu. eventos personalizados são tratados como um tipo de evento totalmente novo, acessível via NRQL com SELECT * FROM MyEvent.

Devido a essas diferenças, os eventos OpenTelemetry são ingeridos como New Relic Logs, já que na maioria das vezes, os eventos OpenTelemetry são mais semelhantes ao New Relic Logs do que ao evento personalizado New Relic.

No entanto, você pode sinalizar explicitamente que um OpenTelemetry LogRecord deve ser ingerido como um evento personalizado adicionando uma entrada em LogRecord.attributes seguindo o formato: newrelic.event.type=<EventType>.

Por exemplo, um LogRecord com atributo newrelic.event.type=MyEvent será ingerido como um evento personalizado com type=MyEvent e acessível via NRQL com: SELECT * FROM MyEvent.

Copyright © 2025 New Relic Inc.

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