OpenTelemetry

Official Content
This documentation is valid for:

OpenTelemetry (OTEL) is an open source observability framework that offers a group of technologies for instrumenting, generating, compiling and exporting telemetry data (traces, metrics and logs). 

The purpose of OTEL is to provide a Software Development Kit (SDK), API and standardized tools for consuming, transforming and sending data to an observability backend.

OpenTelemetry Architecture

The main components in OpenTelemetry are:

  • OpenTelemetry API
    • Basic OpenTelemetry API. Allows you to add Spans and Traces to an application.
  • OpenTelemetry SDK (Agent)
    • SDK that has the full implementation of OpenTelemetry API. You must have an SDK in the App for the OpenTelemetryAPI to start observing data. 
  • Collector
    • The OpenTelemetry Collector can collect data from OpenTelemetry SDKs and other sources, and then export this telemetry to any supported backend, such as Jaeger, Prometheus or Kafka queues. OpenTelemetry Collector can serve as both a local agent co-located on the same host with the application, as well as a central collector service aggregating across multiple application nodes.
  • Backend Service
    • Service that receives and stores telemetry data. Additionally, it may allow data viewing and query. 
      • Ex: Prometheus, AWS Xray, Zipkin, Lightstep, etc.
  • Visualization Service
    • Service for viewing data that is connected to Backend services.
      • Example: Grafana