OpenTelemetry Collector ist das zentrale Gateway für Observability-Daten wie Metriken, Traces und Logs. Auf Linux-Systemen ermöglicht es, Telemetrie-Daten aus verschiedenen Anwendungen zu sammeln, zu transformieren und an Backend-Systeme wie Prometheus, Grafana, Jaeger oder Loki weiterzuleiten. Ein Gateway-Setup mit gezieltem Sampling reduziert die Datenmenge und sorgt für performantes Monitoring ohne Informationsverlust.
Installation des OpenTelemetry Collectors
Der Collector kann als Binary, Container oder über Paketmanager installiert werden. Auf Linux empfiehlt sich in Produktionsumgebungen das Binary oder Systemd-Setup für volle Kontrolle und Sicherheit.
# Collector Binary herunterladen
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.93.0/otelcol_linux_amd64.tar.gz
tar -xzf otelcol_linux_amd64.tar.gz
sudo mv otelcol /usr/local/bin/
# Systemd Service für den Collector anlegen
sudo tee /etc/systemd/system/otelcol.service <<EOF
[Unit]
Description=OpenTelemetry Collector
After=network.target
[Service]
ExecStart=/usr/local/bin/otelcol --config /etc/otel-collector/config.yaml
Restart=always
User=otel
Group=otel
NoNewPrivileges=yes
ProtectSystem=full
PrivateTmp=yes
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now otelcol
Collector als Gateway
Im Gateway-Pattern fungiert der Collector als zentraler Punkt, der Daten aus mehreren Hosts oder Services sammelt. Alle Agents oder SDKs senden ihre Telemetrie an den Gateway-Collector, der sie transformiert, filtert und an die Backend-Systeme weiterleitet.
Konfiguration von Inputs/Receivers
Die wichtigsten Receiver sind OTLP, Prometheus, Jaeger oder OpenCensus. Sie definieren, wie und auf welchen Ports Daten empfangen werden.
receivers:
otlp:
protocols:
grpc:
http:
prometheus:
config:
scrape_configs:
- job_name: 'linux-metrics'
static_configs:
- targets: ['localhost:9100']
Processing und Sampling
Collector-Processor steuern, wie Daten transformiert oder reduziert werden. Sampling reduziert Traces, ohne den Kontext zu verlieren. Beispielsweise kann 10 % der Traces weitergeleitet werden, während alle Metriken vollständig erhalten bleiben.
processors:
batch:
timeout: 5s
send_batch_size: 1024
probabilistic_sampler:
sampling_percentage: 10
Exporter konfigurieren
Exporters leiten die Daten an Backends weiter. Beliebte Exporter sind:
- Prometheus für Metriken
- Jaeger oder Tempo für Traces
- Loki oder OpenSearch für Logs
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
jaeger:
endpoint: "http://jaeger-collector:14268/api/traces"
Full Pipeline definieren
Eine Pipeline verbindet Receiver, Processor und Exporter. So können Daten effizient gesammelt, gefiltert und transportiert werden.
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch, probabilistic_sampler]
exporters: [jaeger]
metrics:
receivers: [prometheus, otlp]
processors: [batch]
exporters: [prometheus]
Security und Hardening
Der Collector sollte mit minimalen Rechten laufen, TLS für Input/Output nutzen und Systemd-Sandboxing verwenden:
[Service]
User=otel
Group=otel
NoNewPrivileges=yes
ProtectSystem=full
ProtectHome=yes
PrivateTmp=yes
Monitoring und Health Checks
Der Collector bietet /metrics und /health Endpoints für Prometheus oder externe Monitoring-Systeme:
receivers:
health_check:
endpoint: "0.0.0.0:13133"
Best Practices
- Collector als zentrales Gateway einsetzen, nicht lokal auf jedem Host für alle Exporter
- Sampling für Traces konfigurieren, Metriken vollständig exportieren
- TLS und Authentifizierung zwischen Agents und Gateway aktivieren
- Buffering durch Batch-Prozessoren nutzen, um Lastspitzen abzufedern
- Systemd-Sandboxing und dedizierte Benutzer einsetzen
- Regelmäßige Updates und Versionskontrolle der Konfiguration
- Health-Endpoints in Monitoring einbinden, Alerts bei Fehlfunktionen konfigurieren
Mit einem sauber aufgesetzten OpenTelemetry Collector als Gateway lassen sich Telemetrie-Daten sicher, performant und kontrolliert erfassen. Sampling reduziert die Datenlast, während Batch-Processing und dedizierte Exporter eine stabile Observability-Pipeline gewährleisten.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

