Broadcom Software Academy Blog

Full-Stack Observability with OpenTelemetry and DX Operational Observability

Written by Tomas Kliner | Dec 13, 2024 7:09:56 PM
Key Takeaways
  • Employ the OpenTelemetry Collector Exporter to send OpenTelemetry data to DX Operational Observability (DX O2).
  • Gain flexibility to choose which data to collect, how to format it, and where to route it.
  • Enhance your observability by leveraging the solution’s advanced visualization and analytics features.

Unify OpenTelemetry metrics and traces in DX Operational Observability

DX Operational Observability (DX O2) from Broadcom supports ingestion and retention of OpenTelemetry (OTel) data. Teams who have instrumented applications with OpenTelemetry SDKs and APIs can now ingest telemetry into DX O2 using the OpenTelemetry Collector, a core component of OpenTelemetry, and the OTel Collector Exporter, which is now available through early access in DX O2.

Note: The current state of the DX O2 OTel ingester is available for early access (EA), allowing customers to explore, test, and validate it for their use cases. However, metrics are not automatically sent to the DX O2 observability platform due to restrictions enforced by an internal firewall.

Because early access entails certain limitations, direct access for metric ingestion must be granted. To enable this, please contact Broadcom Support or your designated representative.

DX O2 will then normalize and correlate the OTel metrics and traces in conjunction with other monitoring data from Broadcom and third-party tools. This helps organizations address observability gaps, improve analytics, and deliver insights in a unified AIOps and Observability platform. As OTel expands support for additional modern architectures, including for cloud-native, containerized, and microservices applications, teams gain additional benefits directly within DX O2, since there is no need to rely on separate OTel solutions. OpenTelemetry support complements existing DX O2 capabilities, including:

  • Interoperability: Works with multiple backend systems.
  • Standardized observability: Provides a consistent approach to collect and analyze telemetry data.
  • Support for modern architectures: Offers ideal support for cloud-native, containerized, or microservices applications.

How it works: System design overview

The OpenTelemetry Collector receives, processes, and routes data to your chosen destinations using exporters. With these exporters, you can connect to multiple observability backends without the need to configure or install multiple agents. This helps to reduce overhead and simplify management for IT operations.

The OTel Collector Exporter available with DX O2 enhances your observability capabilities by allowing you to send OpenTelemetry data directly to DX O2, while preserving the option to continue using—or to discontinue use of—other third-party observability tools.

What is OpenTelemetry?

OpenTelemetry is an open-source observability framework that provides standardized protocols, tools, APIs, and SDKs to collect, process, and export telemetry data, such as traces, metrics, and logs. It is designed to help developers monitor and diagnose the performance and behavior of applications, notably those built using microservices. If your applications and services are instrumented with OpenTelemetry libraries, you can ingest metrics, traces, and other telemetry data to the DX O2 backend. DX O2 provides an easy-to-use public endpoint, which you can use for your OTel collector configuration.

Key features of OpenTelemetry

As an open-source, vendor-neutral technology, OpenTelemetry has improved its support for enterprise environments in recent years. As a result, it has gained traction with more enterprise teams, addressing some of their monitoring needs. With support for OTel, DX O2 extends its monitoring coverage to those portions of the IT estate where OTel is employed. Note: WatchTower Platform™ Observability also supports OpenTelemetry for streaming mainframe application traces.

OpenTelemetry provides complementary observability to the rich, granular coverage available from AIOps and observability technologies from Broadcom:

  1. Traces: Captures data about operations (spans) within distributed systems, enabling visualization of request flows across services.
  2. Metrics: Collects numerical data, such as CPU usage, request counts, and error rates, to assess system health and performance.
  3. Logs: Captures structured or unstructured event data to provide context for metrics and traces.
  4. Instrumentation libraries: Offers pre-built libraries for many programming languages to automate telemetry data collection.
  5. Exporters: Allows sending collected telemetry data to backend observability systems like Prometheus, Grafana, Jaeger, or commercial solutions. Broadcom customers can send collected telemetry data to the DX O2 observability platform also.

Summary Steps for Getting Started with OTel in DX O2

  1. Install OpenTelemetry SDK: Add the SDK to your project (for example, for Go, Node.js, or Java).
  2. Instrument your application: Add tracing and metrics for critical operations or use automated instrumentation.
  3. Configure the collector: Set up an OpenTelemetry Collector to forward data to DX O2.
  4. Monitor in real-time: Use DX O2 to visualize the collected telemetry data.

For DX O2, start here

1. Instrument your code

  • Use OpenTelemetry SDKs to add instrumentation in your application for capturing traces, metrics, and logs.
  • For automatic instrumentation, leverage pre-built integrations available for popular libraries and frameworks (such as HTTP clients and databases).

2. Deploy an OpenTelemetry Collector

  • The OpenTelemetry Collector is a pipeline component that processes and exports telemetry data.
  • Configure it to receive data from your applications, process the data (including sampling and batching), and forward it to DX O2.

3. Set up a monitoring backend

  • Configure the OpenTelemetry Collector to export data to DX O2.
  • Send telemetry from the OpenTelemetry Collector directly to DX O2 observability platform.

Configuring the OpenTelemetry Collector

If you are already using the OpenTelemetry Collector to gather observability data, you can easily send metrics and traces to DX O2. Simply add the standard otlphttp OpenTelemetry exporter to the exporters section of your collector configuration file and include your DX O2 API token.

exporters:
  otlphttp:
    endpoint: https://otel-gateway.dxi-na1.saas.broadcom.com
    headers:
      Authorization: "Bearer <DX O2 Agent Token>"

Next, activate the exporter by referencing it in the service section of your configuration file. (Details below.)

Monitoring your infrastructure by collecting metrics with OpenTelemetry

Once you have configured the OTel Collector Exporter in DX O2, activate it by adding it to a pipeline in the service section of your OpenTelemetry Collector configuration file. The service section defines the components of the collector to enable, while pipelines specify the types of data to collect and their destinations. Additionally, you’ll need to set up one or more receivers to handle data collection. 

service:
  pipelines:
     metrics:
      ...
      exporters: [otlphttp]

For more information on collector configuration, please refer to the page https://opentelemetry.io/docs/collector/configuration/.

After configuring the DX O2 Exporter and restarting the OpenTelemetry Collector, metrics will be seamlessly translated from the OpenTelemetry Protocol (OTLP) format and delivered to the DX O2 backend.

Summary

The OpenTelemetry Collector Exporter available with DX O2 provides a fast, reliable, and straightforward way to send OpenTelemetry data to DX O2. It seamlessly integrates with other exporters, observability platforms, and open-source tools, giving you the flexibility to choose which data to collect, how to format it, and where to route it.
If you’re already using OpenTelemetry to collect observability data, the OpenTelemetry Collector Exporter available with DX O2 lets you enhance your observability by leveraging our advanced visualization and analytics features.

Additional Resources

https://opentelemetry.io/docs/

https://opentelemetry.io/docs/collector/