Site icon bintorosoft.com

OpenTelemetry Collector auf Linux: Gateway Pattern und Sampling

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:

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

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:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version