Log Shipping ist ein zentraler Bestandteil moderner Observability-Architekturen. Mit Tools wie Fluent Bit, Vector oder dem Loki Agent lassen sich Logs zuverlässig von Linux-Servern zu zentralen Systemen transportieren, aggregieren und analysieren. Ein robustes Setup gewährleistet, dass Logs auch bei Netzwerkunterbrechungen, Systemlastspitzen oder Softwarefehlern nicht verloren gehen und gleichzeitig sicher übertragen werden.
Agent-Auswahl und Installationsstrategie
Die Wahl des passenden Log Shipping Agents hängt von Use-Case, Systemressourcen und Zielsystem ab. Fluent Bit ist leichtgewichtig und eignet sich für Edge-Systeme, Vector bietet hohe Flexibilität und Transformationen, während Loki Agents speziell für die Integration mit Grafana/Loki optimiert sind.
# Fluent Bit Installation (Debian/Ubuntu)
sudo apt-get update
sudo apt-get install -y fluent-bit
# Vector Installation (RPM-basierte Systeme)
curl -1sLf 'https://packages.timber.io/vector/setup.rpm.sh' | sudo bash
sudo yum install -y vector
# Loki Agent Installation
wget https://github.com/grafana/loki/releases/download/v2.9.0/loki-linux-amd64.zip
unzip loki-linux-amd64.zip
sudo mv loki-linux-amd64 /usr/local/bin/loki
Konfiguration der Input-Quellen
Logs sollten klar strukturiert und auf relevante Pfade begrenzt werden. Typische Quellen sind System-Logs, Anwendungs-Logs oder Container-Logs.
Beispiel Fluent Bit input:
[INPUT]
Name tail
Path /var/log/syslog,/var/log/nginx/*.log
Tag host.${HOSTNAME}
DB /var/lib/fluent-bit/flb_kv.db
Mem_Buf_Limit 5MB
Skip_Long_Lines On
Beispiel Vector input:
[sources.system_logs]
type = "file"
include = ["/var/log/syslog", "/var/log/nginx/*.log"]
ignore_older = 86400
Output-Ziele und Sicherheit
Logs sollten verschlüsselt übertragen werden, z. B. via TLS zu zentralen Logging-Systemen wie Loki, Elasticsearch oder Graylog.
# Fluent Bit Output zu Loki mit TLS
[OUTPUT]
Name loki
Match *
Url https://loki.example.com:443/loki/api/v1/push
Http_User fluent
Http_Passwd
tls On
tls.verify On
Persistenz und Buffering
Ein robuster Agent speichert Logs temporär lokal, falls das Netzwerk oder Zielsystem nicht erreichbar ist. Dies verhindert Logverlust bei Ausfällen.
# Fluent Bit: Speicherpuffer aktivieren
storage.path /var/lib/fluent-bit/storage
storage.sync normal
storage.backlog.mem_limit 10MB
# Vector: Buffering auf Festplatte
[sinks.loki]
type = "loki"
inputs = ["system_logs"]
endpoint = "https://loki.example.com:443/loki/api/v1/push"
healthcheck.enabled = true
buffer.type = "disk"
buffer.max_size = 104857600
Ressourcen- und Rechte-Management
Log-Agenten sollten mit minimalen Rechten laufen und nur auf die benötigten Pfade zugreifen. Ein dedizierter Benutzer erhöht die Sicherheit.
# Systemd Service für Fluent Bit
[Service]
User=fluent
Group=fluent
ExecStart=/usr/bin/fluent-bit -c /etc/fluent-bit/fluent-bit.conf
NoNewPrivileges=yes
ProtectSystem=full
ProtectHome=yes
PrivateTmp=yes
Monitoring und Health Checks
Die Agents sollten kontinuierlich überwacht werden, um Ausfälle oder Verzögerungen zu erkennen.
- Service-Status prüfen:
systemctl is-active fluent-bit - Agent-eigene Metriken nutzen, z. B.
/api/v1/metricsfür Prometheus - Alerts bei Backlog-Anstieg oder Netzwerkfehlern definieren
Log-Rotation und Retention
Lokale Log-Dateien sollten regelmäßig rotiert und alte Daten gelöscht werden, um Storage-Überlastungen zu vermeiden.
# logrotate Beispiel für Fluent Bit
/var/log/fluent-bit/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 fluent fluent
}
Best Practices
- TLS und Authentifizierung auf allen Output-Zielen erzwingen
- Buffering auf lokale Festplatte aktivieren, um temporäre Netzwerkausfälle zu überbrücken
- Dedizierte Benutzer ohne Shell verwenden
- Nur relevante Log-Pfade einbinden, um Noise zu reduzieren
- Regelmäßige Updates der Agents durchführen
- Agent-Metriken für Health Checks und Alerting nutzen
- Compliance-Richtlinien bzgl. Retention und Tamper-Evidence einhalten
Ein korrekt konfiguriertes Log-Shipping-Setup mit Fluent Bit, Vector oder Loki Agent sorgt dafür, dass Logs zuverlässig, sicher und performant zu zentralen Systemen transportiert werden. Durch Buffering, TLS, Authentifizierung und dedizierte Benutzer lassen sich Ausfälle und Sicherheitsrisiken minimieren und ein stabiler Observability-Betrieb 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.











