Menu

OpenTelemetry

A collection of tools, APIs, and SDKs, OpenTelemetry helps engineers instrument, generate, collect, and export telemetry data such as metrics, logs, and traces, in order to analyze software performance and behavior.

Grafana Labs is highly involved in the OpenTelemetry project, employing people collaborating with different sub-projects, also called Special Interest Groups (SIGs), such as the OpenTelemetry Collector, Operator for Kubernetes, Java SDK, among others. We are also proud to participate in the project’s governing committee.

The many OpenTelemetry sub-projects can be divided into three groups:

  • Specification, standards, and semantic conventions.
  • Client libraries
  • Middleware

The OpenTelemetry project can help you by providing interchangeable parts, allowing you to have:

  • A vendor-neutral instrumentation API and SDK
  • A standard data format, OTLP, supported today already by many tools and solutions, including Grafana Cloud, Grafana Mimir, and Grafana Tempo
  • Complex collection pipelines with the OpenTelemetry Collector
  • Auto-instrumentation agents and libraries of Java, .Net, Python, and JavaScript applications, among others
  • Configuration of auto-instrumentation agents and libraries for Kubernetes workloads by the OpenTelemetry Operator

In general, each part of the OpenTelemetry project can be used independently of the others. For instance, you can instrument your applications with the OpenTelemetry API but use an alternate SDK, potentially more appropriate for your niche applications. Or use a different protocol than OTLP to send the telemetry data from your application to a backend, despite it using an official OpenTelemetry SDK. You can also adopt the OpenTelemetry Collector even though none of your applications are using any OpenTelemetry components. However, it is easier to use the OpenTelemetry projects together.

Read on for more information about specific OpenTelemetry components and how they can be used with Grafana Labs’ projects and solutions.

OpenTelemetry and Grafana

OpenTelemetry offers vendor-neutral open source tools, SDKs, and standards for application observability. This is a perfect match for Grafana’s open big tent approach. Bringing together infrastructure and platform telemetry like Kubernetes’ Prometheus metrics and application telemetry in a single unified open source monitoring backend bridges the gap between operations and application developers, and it provides new ways of collaboration and insights.

There are multiple options for setting up an OpenTelementry endpoint with Grafana:

  • OpenTelemetry Collector: The OpenTelemetry Collector, an open source project maintained by the OpenTelemetry community, is an alternative to the Grafana Agent. The Collector’s OTLP receiver is production-ready, so this is our recommendation for setting up an OpenTelemetry endpoint today.
  • OpenTelemetry endpoint in the Grafana Cloud: This is the easiest way to get started, enabling applications to send their metrics, traces, and logs directly to Grafana Cloud. Currently a beta feature, the OTLP endpoint in Grafana Cloud is not yet recommended for production use.
  • Grafana agent’s “otelcol.receiver.otlp” receiver: Starting with version 0.29, the Grafana Agent provides an OTLP endpoint for receiving OpenTelemetry data. The receiver is implemented as a Grafana Agent Flow component. Agent Flow is currently experimental, and not yet recommended for production use.

Built on open source, driven by the community

Contributors:

Resources

Featured:

Docs:

Blogs:

Slack: