Open Telemetry (OTEL)

OpenTelemetry ist ein offener Standard zur Erfassung von Telemetrie-Daten: Metriken, Logs und Traces.

Architektur

Anwendung (OTEL SDK)
    │
    ▼ OTLP (HTTP/gRPC)
OTEL Collector (Grafana Alloy)
    ├── Traces  → Tempo
    ├── Metriken → Prometheus / Mimir
    └── Logs    → Loki
                    │
                    ▼
                Grafana (Visualisierung)

Implementierungen nach Signal-Typ

Signal Implementierungen
Traces Jaeger, Zipkin, Grafana Tempo
Metriken Prometheus, Grafana Mimir
Logs Grafana Loki

Python rolldice – OTEL Instrumentierung

cd ~/kubernetes-tutorial/src/apps/rolldice/
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
opentelemetry-bootstrap -a install

Anwendung mit OTEL starten:

opentelemetry-instrument \
  --service_name dice-server \
  flask run -p 8080 -h 0.0.0.0

Umgebungsvariablen

Variable Beschreibung
OTEL_SERVICE_NAME Name des Services in Traces/Metriken
OTEL_EXPORTER_OTLP_ENDPOINT Endpunkt des OTLP-Collectors
OTEL_EXPORTER_OTLP_HEADERS Auth-Header (z.B. für Grafana Cloud)
OTEL_EXPORTER_OTLP_PROTOCOL http/protobuf oder grpc

Weitere Informationen