There are a lot of variables to consider when getting started with Observability, including the all important question: "How do I get my data into an Observability tool?" The industry-wide adoption of OpenTelemetry makes this question easier to answer than ever.
OpenTelemetry is an open-source project created by the Cloud Native Computing Foundation (CNCF) that consists of APIs, SDKs, and tools to help developers create, monitor, and export their system data (metrics, traces, logs and more) to Observability back-ends in order to monitor their environments.
Why Should You Care?
OpenTelemetry is completely open-source and free to use. In the past, monitoring and Observability tools relied heavily on proprietary agents meaning that the effort required to change or setup additional tooling required a large amount of changes across systems, from the infrastructure level to the application level. Since OpenTelemetry is vendor-neutral and supported by many industry leaders in the Observability space, adopters can switch between supported Observability tools at any time with minor changes to their instrumentation. This is true regardless of which distribution of OpenTelemetry is used – like with Linux, the various distributions bundle settings and add-ons but are all fundamentally based on the community-driven OpenTelemetry project.
How Does It Work?
OpenTelemetry consists of three main components:
- Specifications: These are the open standard protocols that form the foundation of OpenTelemetry, including the implementation requirements.
- Instrumentation Libraries: The language specific libraries for implementing OpenTelemetry. This is what you will use to instrument your applications and generate data to be sent to the OpenTelemetry Collector.
- The Collector: A single product which receives, processes, and forwards your data to the desired Observability back-end(s).
In order to get started with OpenTelemetry all you need to do is instrument your application (this can be done either automatically or manually) and set up the collector.
As an open-source project, OpenTelemetry has a large number of people contributing to its development, including major cloud providers, major Observability vendors, and more. It is the second largest CNCF project, only second to Kubernetes.
The OpenTelemetry project contains a complete set of libraries and components needed to instrument your applications and start forwarding your data to an Observability back-end (or two!). The core project is completely vendor-neutral and offers all the functionality you might need. However, to cover a wider variety of use cases and address unique system needs, OpenTelemetry also allows contributors to create "distributions".
A distribution is a custom version of an OpenTelemetry component like the collector or instrumentation libraries that is not a part of the upstream project. These customizations allow for changes to address specific system needs, can include more or less functionality, can have customizations specific to vendor back-ends, can include configuration changes, and more.
Many Observability vendors offer their own OpenTelemetry distributions which are optimized for use with their products, however vendor-specific distributions are not required and you can still use the upstream OpenTelemetry project with major Observability tools.
If a vendor-specific distribution is not required, why would you use one? Distributions can offer many benefits. As mentioned, they might be configured to ease on-boarding with a vendor back end or they might offer additional features. Vendors who manage their own distribution may also offer full technical support for their specific distribution whereas the upstream components may only receive best-effort support.
Splunk Observability Cloud
Splunk Observability Cloud supports both the upstream OpenTelemetry Collector and offers its own Splunk Distribution of the OpenTelemetry Collector. The Splunk Observability Cloud documentation also offers step by step walkthroughs for instrumenting different applications, services, and infrastructure with the Splunk OpenTelemetry Collector and provides guidance and suggestions for instrumenting with the upstream OpenTelemetry Collector.
If you choose to instrument with the Splunk OpenTelemetry Collector, additional features are available like installation scripts, configurations options, Smart Agent capabilities, and prepackaged data visualizations and correlations. Additionally, the Splunk Distribution of the OpenTelemetry Collector is officially supported by Splunk if any technical support is required.
Splunk Observability Cloud Free Trial
Splunk Observability Cloud offers a full suite of Observability tooling including APM, Infrastructure Monitoring, Real User Monitoring, and the ability to utilize Log data already available in the Splunk Core platform via Log Observer Connect. Learn more about Splunk Observability Cloud and instrumenting your applications with the Splunk OpenTelemetry Collector by signing up for a free 14-day trial and trying it out for yourself.
You can also learn more about the OpenTelemetry stack via Splunk’s PipeStorm game. PipeStorm lets players learn about OpenTelemetry by choosing between multiple instrumentation approaches to learn about building their data pipeline using the OpenTelemetry collector (including links to relevant documentation for each step of the process). To learn more about OpenTelemetry try Splunk’s PipeStorm game today.
Interested in learning more about Splunk and all our products in person? Splunk’s conference, .conf, is right around the corner, sign up to get notified about all things .conf23!