Skip to main content
Alauda Container Platform is included as an Honorable Mention in the 2024 Gartner® Magic Quadrant™ for DevOps Platforms

Integrating OpenTelemetry Observable Data into the Alauda Container Platform

 

Overview

Based on OpenTelemetry, Alauda Container Platform builds powerful observability functions, and the built-in OTel Operator component is responsible for the efficient deployment and version management of OTel Collector. At the same time, OTel is automatically injected through Instrumentation resources, bringing users a convenient OTel access experience.

The platform provides targeted processing solutions for different types of observable data:

  • Traces data: stored to Elasticsearch through Jaeger.
  • Metrics data: collected and stored by Prometheus.

The current product provides metric monitoring and distributed tracing capabilities for Java services via the OTel Java Agent.

Additionally, users can integrate observable data from services developed using the OTel SDK or from OpenTelemetry-compatible systems (such as Harbor and GitLab) into the platform, utilizing its data visualization capabilities.

This document aims to guide users on how to integrate these observable data into the platform.

 

Prerequisites

Ensure that the cluster where the services or systems reside has the service mesh deployed.

 

Steps

1. Configure OTel Collector Receivers

The receivers of the OTel Collector are responsible for receiving and parsing data from various sources. Depending on the data source and integration protocol, the OTel Collector offers multiple receivers.

Here are the default enabled receivers on the platform and their usage scenarios:

OTLP Receiver

OTLP (OpenTelemetry Protocol) is the standard protocol recommended by OpenTelemetry for receiving tracing, metrics, and logging data, supporting both gRPC and HTTP transport protocols.

 

Protocol Cluster Address
HTTP asm-otel-collector.cpaas-system:4318
GRPC asm-otel-collector.cpaas-system:4317

 

Zipkin Receiver

The Zipkin Receiver is used to receive tracing data in Zipkin format, supporting HTTP protocol transport from Zipkin clients.

 

Protocol Cluster Address
Zipkin asm-otel-collector.cpaas-system:9411

 

 



  • How to Choose the Appropriate Receiver?

    1. Confirm the types of data to be collected (tracing, metrics, logs) and the supported protocols.

    2. Based on the data formats and transport protocols used by the external services, select the appropriate receiver from the list of supported OTel Collector receivers on the platform.

2. Integrate Data into the Platform

User-Developed Services

Integrate the OpenTelemetry SDK to send observable data (such as tracing, metrics, and logs) generated by your services to the OTel Collector. The specific steps are as follows:

  1. Import the OpenTelemetry SDK.
  2. Initialize OpenTelemetry.
  3. Generate and send tracing data.

The OpenTelemetry community provides SDK usage examples for different languages; please refer to the official documentation:

Integration of Observable Software

External services (such as GitLab and Harbor) typically already have the capability to export data. You can refer to the respective software documentation for specific configuration methods.

In the configuration, you need to set the receiver address for the OTel Collector as follows:

  1. If the software is deployed in the same cluster as the service mesh:

    • Confirm that the required receiver is enabled on the platform.
  2. If the software cannot access the OTel Collector using the cluster address directly, you may need to set up a load balancer to allow external service access. Please contact your administrator for further configuration assistance.

3. Validate Data Integration

  1. Start the external service and conduct appropriate tests to generate tracing data.

  2. Verify whether the tracing data has been successfully received and processed by the OTel Collector in the platform.

    • Use the platform's Tracing to query distributed tracing data to verify the success of external data integration.