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
- https://opentelemetry.io/docs/
- https://opentelemetry.io/docs/languages/python/