How Does OpenTelemetry Work?
OpenTelemetry works by combining a set of vendor-agnostic tools to:
- Specify the data that needs to be measured
- Capture, organize, and format the data
- Export it to a backend monitoring platform like KloudMate.
The vendor-agnostic tools include APIs, SDKs, collectors, and monitoring backends. They work together as components of OpenTelemetry, to provide a standardized approach to observability.
The components of OpenTelemetry are extensible, interoperable, and loosely coupled, allowing you to add or choose the components you want to integrate with.
Following are the steps involved in how OpenTelemetry works in the implementation of observability:
Application programming interfaces (APIs) APIs are used to instrument the application code to tell the system what data needs to be measured. API defines the operations for generating and correlating telemetry data that includes traces, metrics, and logs.
Software development kits (SDKs) SDKs perform the language-specific implementation of the APIs and gather the telemetry data from the instrumented code. SDKs also define the data processing and exporting requirements for the next stages.
The OpenTelemetry Collector The collector is a vendor-agnostic OpenTelemetry component that can receive, process, and export the collected telemetry data to external storage or monitoring systems. However, the collector is an optional component, the telemetry data can also be routed directly from your application(using SDKs) to a target system (an observability backend).
When to Use an OpenTelemetry Collector:
- You want to export data to multiple observability backends
- You want to handle retries, batching, or data encryption before exporting the data to a target system
- You want to perform sensitive data filtering before exporting the data to a target system
- You want to collect host metrics such as RAM, CPU usage, and more.
KloudMate - The monitoring and observability backend
OpenTelemetry in itself is not a complete observability solution. It lets you collect telemetry data from applications but does not provide a way for you to store, query, and visualize the data. However, OpenTelemetry is compatible with and supported by various observability platforms and backends, now including KloudMate.
In order for the telemetry data to be visualized and analyzed to gain insights into the application's health and behavior, it has to be exported to an observability platform such as KloudMate.