OpenTelemetry Integration

Collect logs and traces from any language using the Radianz OpenTelemetry Collector

Overview

What is the OpenTelemetry integration?

Radianz provides a custom OpenTelemetry Collector that receives logs and traces from your applications via the standard OTLP protocol, then forwards them to the Radianz platform. This means any application instrumented with OpenTelemetry — regardless of language — can send telemetry to Radianz without any custom SDK.

How it works
Your App
OTel Collector
Radianz
Why a Collector?The Collector-based approach lets you support .NET, Python, Java, Node.js, Go and any other language that speaks OTLP — without installing a Radianz-specific library. You instrument your app with standard OpenTelemetry, point the OTLP exporter at the Collector, and it handles the rest.

Installation

Get the Radianz Collector via Docker Hub

Step 1 — Pull the Docker image

The Radianz Collector is distributed as a public Docker image on Docker Hub. Pull it with a single command:

bash
docker pull radianz/otelcol-radianz:latest

Configuration

Set up your credentials and run the Collector

Step 2 — Create a configuration file

Create a file named collector-config.yaml and replace YOUR_CLIENT_ID and YOUR_API_KEY with your actual Radianz credentials:

collector-config.yaml
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:
    send_batch_size: 512
    timeout: 5s

exporters:
  radianz:
    endpoint: https://radianz.io/api/otel/ingest
    client_id: "YOUR_CLIENT_ID"
    api_key: "YOUR_API_KEY"
    timeout:
      timeout: 30s
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 300s

service:
  pipelines:
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [radianz]
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [radianz]
Where do I find my credentials?Go to Elmah > Log API Tokens in the Radianz dashboard. Your client_id is the App's Client ID and your api_key is the API Token.
Step 3 — Run the Collector

Start the Collector with your configuration file mounted:

bash
docker run -d -p 4317:4317 -p 4318:4318 \
  -v ./collector-config.yaml:/etc/otelcol/config.yaml \
  radianz/otelcol-radianz:latest

Instrument Your App

Add OpenTelemetry to your application

Install the OpenTelemetry SDK for your language and configure the OTLP exporter to send data to the Collector. Here are the packages you need for the most popular languages:

.NET / C#
bash
dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocol
dotnet add package OpenTelemetry.Extensions.Hosting
Python
bash
pip install opentelemetry-api \
  opentelemetry-sdk \
  opentelemetry-exporter-otlp
Node.js
bash
npm install @opentelemetry/api \
  @opentelemetry/sdk-node \
  @opentelemetry/exporter-trace-otlp-grpc
Java
bash
# Download the Java agent JAR
java -javaagent:opentelemetry-javaagent.jar \
  -Dotel.exporter.otlp.endpoint=http://localhost:4317 \
  -jar your-app.jar
OTLP EndpointConfigure your OTLP exporter to send to http://localhost:4317 (gRPC) or http://localhost:4318 (HTTP). If the Collector runs on another host, replace localhost with the appropriate hostname or IP.