OpenTelemetry with New Relic: A Practical Guide

  • Topics

What Is New Relic? 

New Relic is an application performance monitoring (APM) tool offering real-time performance insights into software, infrastructure, and customer experience. This helps in the troubleshooting of application and infrastructure issues, and brings the ability to continuously improve digital experiences.

New Relic allows for the observation and analysis of a software stack or deployment to allow for optimization and refinement. Its capabilities include application performance monitoring, infrastructure monitoring, digital experience monitoring, and log management.

What Is OpenTelemetry? 

Telemetry data is central to software operations. OpenTelemetry is an open-source project managed by the Cloud Native Computing Foundation (CNCF) that aims to make robust, portable telemetry a built-in feature of cloud-native software. It provides the tools, APIs, and SDKs to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis.

OpenTelemetry provides a unified method to collect and transfer telemetry data, simplifying the process of observability. It provides access to critical debugging and performance-tuning information. This includes a set of APIs and instrumentation libraries that allow developers to capture, ingest, and export telemetry data from their services.

A significant advantage of OpenTelemetry is its vendor-neutral approach. This means it can work with any backend supporting the OpenTelemetry data format. It’s useful for organizations looking to avoid vendor lock-in, as they can switch between different backends without having to re-instrument their code. 

How OpenTelemetry Works with New Relic

Integrating OpenTelemetry with New Relic offers a way to manage your software’s performance and reliability. OpenTelemetry provides a standardized way to collect telemetry data, while New Relic offers a platform to analyze and derive insights from this data. This combination allows teams to gain a holistic view of their software stack.

If your software is instrumented with OpenTelemetry, you can capture information about your application’s operations. This includes details about your application’s requests, responses, function calls, and more. Once collected, this data can be exported to New Relic for analysis. New Relic’s platform can ingest this telemetry data, providing the tools to analyze and visualize it to provide operational insights.

Tutorial: Using OpenTelemetry with New Relic

Let’s look at the steps involved in using an integration of OpenTelemetry and New Relic:

Sign Up for a Free New Relic Account

Before you can start sending your telemetry data to New Relic, you’ll need to create an account. New Relic offers a free tier that provides access to most of its features, making it an appropriate option for teams that are starting out with application performance monitoring. You can sign up for a free New Relic account here.

Instrument Your App or Service with OpenTelemetry

The next step is to instrument your application with OpenTelemetry. This involves incorporating the OpenTelemetry SDK into your application, which enables it to generate and collect telemetry data. OpenTelemetry supports a wide range of programming languages, including Java, Python, and Node.js, so you’ll likely find a library that fits your needs.

Once you’ve incorporated the SDK, you’ll need to configure it to generate the types of telemetry data you’re interested in. This might include traces, metrics, or logs, depending on your application’s needs.

Review Configurations for Exporting Telemetry Data to New Relic

Before you can set up the export, you need to be familiar with the configurations for exporting with the OpenTelemetry protocol (OTLP). To configure the OTLP exporter, you need to add a api-key which gets sent as part of the payload header, and represents the authentication for your target New Relic account. 

You also need to configure the correct endpoint for your integration. The US integration uses https://otlp.nr-data.net as the endpoint, while the EU integration uses https://otlp.eu01.nr-data.net as the endpoint. The connection requires TLS encryption. The aforementioned configuration uses three ports: 443, 4317, and 4318.

Complete the Export Configuration Steps

The next step is to complete the necessary configuration steps to ensure telemetry data is exported correctly to New Relic. There are two ways to export data:

  • Direct export of data from your applications to New Relic.
  • Collector-based export to New Relic.

Its important to note that there are several ways to set up the OpenTelemetry collector to export data, including to monitor the host. 

View the Data in the New Relic UI

Once your telemetry data is being correctly exported to New Relic, you can analyse and visualise it within the New Relic UI  which displays traces, metrics, and logs. Various UI pages can be used to analyze telemetry data, including a summary, a search for specific data or entries, and a metrics explorer. It’s important to be familiar with the semantics conventions for each metric type, as this will allow you to work with OpenTelemetry data.

Microservices Monitoring with Lumigo

Lumigo is cloud native observability tool that provides automated distributed tracing of microservice applications and supports OpenTelemetry for reporting tracing data and resources. With Lumigo, users can:

  • See the end-to-end path of a transaction and full system map of applications
  • Monitor and debug third-party APIs and managed services (ex. Amazon DynamoDB, Twilio, Stripe)
  • Go from alert to root cause analysis in one click
  • Understand system behavior and explore performance and cost issues 
  • Group services into business contexts

Get started with a free trial of Lumigo for your microservice applications

Debug fast and move on.

  • Resolve issues 3x faster
  • Reduce error rate
  • Speed up development
No code, 5-minute set up
Start debugging free