OpenTelemetry

NoSpamProxy supports the export of telemetry data via OpenTelemetry. OpenTelemetry is an open standard for collecting and sharing metrics, traces and other diagnostic data. This enables operational data from NoSpamProxy to be integrated into external monitoring and observability platforms. OpenTelemetry uses the OpenTelemetry Protocol (OTLP) for data transmission.

A typical OpenTelemetry architecture consists of three components:

Copy

Example of an OpenTelemetry architecture

NoSpamProxy
     │
     │ OTLP
     ▼
OpenTelemetry Collector
     │
     ├── Grafana
     ├── Prometheus
     ├── Azure Monitor
     ├── Datadog
     └── weitere Systeme

NoSpamProxy sends its telemetry data to an OpenTelemetry collector. The Collector processes the data and forwards it to the required monitoring platform. OpenTelemetry strongly recommends the use of a collector.

Enabling OpenTelemetry in NoSpamProxy

NoSpamProxy only exports telemetry data if an OpenTelemetry endpoint has been configured. Configuration is carried out via system environment variables in Windows.

NOTE: Configure the required OpenTelemetry system environment variables on all systems running NoSpamProxy components that are intended to export telemetry data.

General OTLP endpoint

Copy

System environment variable for a general OTLP endpoint

OTEL_EXPORTER_OTLP_ENDPOINT

This variable defines a common endpoint for all OpenTelemetry signals. These include, for example, metrics and traces.

Copy

Example

OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317

Separate endpoints

NoSpamProxy also supports the environment variables defined by OpenTelemetry for separate endpoints.

Copy

System environment variable for a Traces endpoint

OTEL_EXPORTER_OTLP_TRACES_ENDPOINT

 

Copy

System environment variable for a Metrics endpoint

OTEL_EXPORTER_OTLP_METRICS_ENDPOINT

 

Copy

System environment variable for a Logs endpoint

OTEL_EXPORTER_OTLP_LOGS_ENDPOINT

By using separate endpoints, you can send traces, metrics and logs to different endpoints.

Copy

Example of the use of separate endpoints

OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://tempo:4317

OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://prometheus-gateway:4317

OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://loki:4317

TIP: In most environments, using a single general endpoint is sufficient.

NOTE: If both a general endpoint and specific endpoints are configured, the specific endpoints take precedence. Further information on endpoints can be found in the OpenTelemetry documentation.

Protocol and standard port

NoSpamProxy uses the OTLP/HTTP protocol for OpenTelemetry and utilises port 4318. OTLP/HTTP uses port 4318 by default. Unless a different port is specified, NoSpamProxy expects an OTLP/HTTP endpoint on this port.

NoSpamProxy generally supports HTTPS for OpenTelemetry communication, provided the server in question offers this.

What is OTLP?

OTLP (OpenTelemetry Protocol) is OpenTelemetry’s standardised transmission protocol. It is used to send telemetry data, such as metrics, traces and logs, from applications to an OpenTelemetry Collector or another OpenTelemetry-compatible destination.

What is an OpenTelemetry Collector?

The OpenTelemetry Collector is a standalone service for receiving, processing and forwarding telemetry data. It acts as a central hub between applications and the actual monitoring systems.

An OpenTelemetry Collector offers the following benefits:

  • It acts as the central administrative unit for telemetry data.

  • It enables

    • forwarding to multiple destination systems,

    • aching and retries in the event of network failures,

    • the filtering or enrichment of data, as well as

    • the ability to easily customise the monitoring infrastructure without making any changes to NoSpamProxy.

TIP: Further information on OpenTelemetry collectors can be found in the OpenTelemetry documentation.