OpenTelemetry fornece API e SDKs de uso geral para coleta, processamento e exportação de dados de observabilidade. Um dos casos de uso mais populares para essas API e SDKs é o monitoramento APM , onde a instrumentação é instalada para monitor um aplicativo ou serviço.
Esta página descreve etapas comuns de configuração para monitoramento de APM baseado em OpenTelemetry com New Relic.
Antes que você comece
- Cadastre-se para uma conta New Relic.
- Obtenha a chave de licença da conta New Relic para a qual deseja relatar dados.
Instrumente seu aplicativo ou serviço com OpenTelemetry
OpenTelemetry fornece API e SDKs específicos de linguagem para aplicativos instrumentados. A maioria das linguagens fornece um rico conjunto de instrumentação para bibliotecas e frameworks populares.
Para ajudá-lo a começar, oferecemos um exemplo de aplicativo simples em vários idiomas. Para cada idioma, o aplicativo é criado usando framework da web popular nesse idioma. Os exemplos abaixo demonstram como configurar:
O nome do serviço que será exibido no New Relic.
O exportador OpenTelemetry Protocol (OTLP) para enviar dados para o endpoint OTLP New Relic.
Configurações adicionais recomendadas para otimizar o OpenTelemetry para obter a melhor experiência do New Relic.
Para obter mais informações sobre qual instrumentação está disponível e cenários mais avançados, consulte a documentação relevante da linguagem OpenTelemetry.
Importante
Você pode usar qualquer linguagem suportada pelo OpenTelemetry para enviar dados ao New Relic. No entanto, os exemplos acima refletem apenas um subconjunto dos idiomas suportados.
Sentindo falta do seu idioma? Solicite um exemplo abrindo um issue no GitHub!
Visualize seus dados na interface do New Relic
Depois que seu aplicativo estiver instrumentado e configurado para exportar dados para New Relic, você poderá encontrar seus dados na interface do New Relic :
Encontre sua entidade em All entities > Services - OpenTelemetry. O nome da entidade é definido como o valor do atributo de recurso
service.name
do aplicativo. Para obter mais informações sobre como as entidades de serviço New Relic são derivadas do atributo de recurso OpenTelemetry , consulte Serviços.Consulte InterfaceOpenTelemetry APM para obter mais informações.
Se você não consegue encontrar sua entidade e não vê seus dados com NRQL, veja OTLP resolução de problemas.
Executando os agentes New Relic e as ferramentas OpenTelemetry no mesmo processo
O agente New Relic e as ferramentas OpenTelemetry (SDKs, agente, etc.) estão entre os muitos produtos APM no mercado.
Para uma determinada linguagem, quase todos os produtos APM operam usando a mesma linguagem de baixo nível e ganchos de tempo de execução disponíveis – a maioria dos quais altera o comportamento do seu código em tempo de execução. Dependendo da arquitetura da sua linguagem, isso geralmente é obtido por meio de técnicas como manipulação de código de bytes ou patching de macaco.
Devido às formas complexas pelas quais os produtos APM alteram o código em execução, não há garantias de que um produto será compatível com outro produto em execução no mesmo processo. Na melhor das hipóteses, eles viverão lado a lado sem o conhecimento do outro e gerarão telemetria de forma independente a partir do seu aplicativo. Na pior das hipóteses, eles pisarão uns nos outros, levando a um comportamento imprevisível.
New Relic não pode garantir que nossos agentes APM sejam compatíveis com um produto APM diferente executado no mesmo processo. Recomendamos que você escolha o único produto que melhor se adapta às suas necessidades.