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:
- O aplicativo pode enviar log diretamente para o New Relic OTLP endpoint.
- Consulte a documentação relevante da linguagem OpenTelemetry para obter detalhes de implementação específicos e o monitoramento OpenTelemetry APM para obter detalhes sobre serviços de monitoramento com New Relic.
Este método envolve a extração do log do aplicativo gravado em arquivos ou saída padrão (
stdout
).O coletor OpenTelemetry é normalmente usado para essa tarefa. O log raspado é então encaminhado para o New Relic OTLP endpoint.
Informações detalhadas de configuração podem ser encontradas nos seguintes recursos do OpenTelemetry:
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 | Campo New Relic |
---|---|
| Cada valor principal é um atributo no campo |
|
|
|
|
| Cada valor principal é um atributo no campo |
|
|
|
|
|
|
|
|
| Cada valor principal é um atributo no campo |
|
|
|
|
|
|
|
|
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 New Relic OTLP endpoint para obter detalhes sobre os tipos de atributos suportados OTLP .
[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 um atributo do texto simples log. Por exemplo, se for utilizado um formato log estruturado JSON, o valor principal torna-se um atributo no log resultante. Isto é particularmente útil ao coletar log de arquivos ou stdout
. Nesse caso, é comum não ter nenhum atributo de recurso associado ao registro de log (obrigatório para correlação de serviço APM) e nenhum valor para LogRecord.trace_id
/ LogRecord.span_id
(obrigatório para correlação de trace). A correlação funcionará conforme planejado se os campos obrigatórios puderem ser analisados com êxito.
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.