Cribl Edge Konfiguration

Version: 1.0 Datum: 2026-02-10 Autor: IceDataEmphasise Team Klassifikation: INTERN

Revisionshistorie

Version Datum Autor Beschreibung
1.0 2026-02-10 IceDataEmphasise Team Initiale Erstellung der Edge-Konfigurationsdokumentation

Inhaltsverzeichnis

  1. Managed Edge vs. Standalone Edge
  2. Fleet-Zuweisung
  3. Edge-spezifische Quellen-Konfiguration
  4. Windows Edge Deployment
  5. Edge Health Monitoring
  6. Troubleshooting Edge-Verbindung

1. Managed Edge vs. Standalone Edge

1.1 Betriebsmodi

Eigenschaft Managed Edge Standalone Edge
Konfigurationsmanagement Zentral ueber Stream Leader Lokal auf dem Edge Node
Verbindung zum Leader Permanent (Port 4200) Keine
Fleet-Zugehoerigkeit Ja, verpflichtend Nein
Konfigurationsaenderungen Commit & Deploy ueber Leader Lokale Dateibearbeitung
Monitoring Zentrales Dashboard in Stream Nur lokal (CLI, lokale Metriken)
Einsatzgebiet Produktivbetrieb mit vielen Nodes Tests, isolierte Umgebungen

1.2 PoC-Entscheidung: Managed Edge

Entscheidung: Im PoC wird ausschliesslich der Managed-Edge-Modus verwendet. Dies ermoeglicht die vollstaendige Evaluierung des Fleet Managements und entspricht dem geplanten Produktivbetrieb.

1.3 Konfiguration des Managed-Edge-Modus

Die Managed-Edge-Konfiguration wird vom Installationsskript 03-install-cribl-edge-linux.sh automatisch erstellt. Die zentrale Konfigurationsdatei:

# /opt/cribl-edge/local/cribl/cribl.yml
distributed:
  mode: managed-edge
  master:
    host: "127.0.0.1"
    port: 4200
    tls:
      disabled: true
    authToken: ""

Zusaetzlich werden Umgebungsvariablen im systemd-Service gesetzt:

# /etc/systemd/system/cribl-edge.service (Auszug)
Environment=CRIBL_DIST_MODE=managed-edge
Environment=CRIBL_DIST_MASTER_URL=tcp://127.0.0.1:4200

2. Fleet-Zuweisung

2.1 Fleet-Konzept

Fleets sind logische Gruppen von Edge Nodes, die eine gemeinsame Konfiguration erhalten. Jeder Edge Node wird genau einem Fleet zugewiesen. Die Fleet-Konfiguration umfasst:

2.2 Definierte Fleets

Fleet-ID Beschreibung Zielsysteme Quellen-Typen Status
nuc-linux Linux Edge Nodes auf Intel NUC NUC-Server (Debian 12+) File Monitor (11x), Journald (1x) Aktiv
windows-workstations Windows-Arbeitsplaetze Windows 10/11 PCs Windows Event Log, File Monitor Geplant

2.3 Fleet-Zuweisung in der Praxis

Beim ersten Verbindungsaufbau wird ein neuer Edge Node im Stream Leader unter Manage Edge Nodes als unverzugeordneter Node angezeigt. Die Zuweisung erfolgt manuell ueber die UI oder automatisch ueber Tags in der Edge-Konfiguration.

# Fleet-Zuweisung ueber die API
curl -s -X PATCH "http://localhost:9000/api/v1/edge/nodes/<NODE_ID>" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fleet": "nuc-linux"}'

3. Edge-spezifische Quellen-Konfiguration

3.1 Linux Edge: Quellen-Uebersicht

Die folgenden Quellen werden auf dem Linux Edge Node (Fleet: nuc-linux) konfiguriert. Die detaillierte Beschreibung jeder Quelle findet sich im Dokument 05 - Quellen-Konfiguration.

# Quellen-ID Typ Pfad / Quelle
1 journald:systemd_journal Journald /run/log/journal
2 file_monitor:apache_access File Monitor /var/log/apache2/access.log*
3 file_monitor:apache_error File Monitor /var/log/apache2/error.log*
4 file_monitor:samba File Monitor /var/log/samba/log.*
5 file_monitor:docker_ha File Monitor /var/lib/docker/containers/*/*.log
6 file_monitor:mosquitto File Monitor Docker-Logs (gefiltert auf Mosquitto)
7 file_monitor:ssh_auth File Monitor /var/log/auth.log
8 file_monitor:tor_logs File Monitor /var/log/tor/*
9 file_monitor:dnsmasq File Monitor /var/log/dnsmasq-tor.log
10 file_monitor:cups File Monitor /var/log/cups/access_log
11 file_monitor:boot_logs File Monitor /var/log/boot.log*
12 file_monitor:dpkg File Monitor /var/log/dpkg.log*

3.2 Berechtigungen des Edge-Service-Users

Der Edge-Prozess laeuft unter dem User cribl. Damit alle Quellen gelesen werden koennen, sind folgende Gruppenzugehoerigkeiten und Capabilities konfiguriert:

Berechtigung Typ Zweck
systemd-journal Supplementaere Gruppe Zugriff auf systemd Journal (/run/log/journal)
adm Supplementaere Gruppe Lesen von /var/log/ Dateien
docker Supplementaere Gruppe Zugriff auf Docker-Container-Logs
CAP_DAC_READ_SEARCH Ambient Capability Lesen von Dateien ohne Besitzer-Berechtigung
CAP_SYSLOG Ambient Capability Zugriff auf Kernel-/Syslog-Nachrichten

4. Windows Edge Deployment

4.1 Uebersicht

Fuer den Einsatz auf Windows-Arbeitsplaetzen ist ein separates Deployment ueber PowerShell geplant. Die Skripte befinden sich im Verzeichnis windows/.

Status: Das Windows Edge Deployment befindet sich in der Planungsphase. Die grundlegende Infrastruktur (Fleet windows-workstations) ist im Stream Leader vorbereitet.

4.2 Geplante Windows-Quellen

Quellen-Typ Quelle Beschreibung
Windows Event Log Security Anmelde- und Sicherheitsereignisse
Windows Event Log System System- und Dienstereignisse
Windows Event Log Application Anwendungsereignisse
File Monitor IIS-Logs Webserver-Zugriffsprotokolle (falls vorhanden)

4.3 Geplanter Installationsablauf (Windows)

  1. PowerShell-Skript herunterladen (aus dem Repository oder ueber Netzlaufwerk)
  2. Cribl Edge MSI/ZIP von cdn.cribl.io herunterladen
  3. Installation als Windows-Service
  4. Managed-Edge-Konfiguration mit Stream Leader URL
  5. Service starten und Fleet-Registrierung pruefen
# Geplantes PowerShell-Deployment (Entwurf)
# .\Install-CriblEdge.ps1 -StreamLeaderUrl "tcp://<tailscale-ip>:4200" -Fleet "windows-workstations"

5. Edge Health Monitoring

5.1 Monitoring ueber Stream UI

Der Status aller Edge Nodes ist im Cribl Stream Dashboard unter Manage Edge Nodes einsehbar. Folgende Informationen werden pro Node angezeigt:

Metrik Beschreibung Erwarteter Wert (PoC)
Status Verbindungsstatus zum Leader Connected (gruen)
Version Installierte Cribl-Version 4.16.0
OS Betriebssystem Linux (Debian)
Events In Eingehende Events pro Sekunde Variiert nach Aktivitaet
Events Out Weitergeleitete Events pro Sekunde Entspricht Events In
CPU % CPU-Auslastung des Edge-Prozesses < 5%
Memory Speicherverbrauch < 500 MB
Uptime Zeit seit letztem Start Fortlaufend

5.2 Monitoring ueber die API

# Alle Edge Nodes abfragen
curl -s -u admin:<passwort> http://localhost:9000/api/v1/edge/nodes | jq '.items[] | {
  id: .id,
  hostname: .hostname,
  status: .connectionStatus,
  version: .version,
  os: .os,
  uptime: .uptime
}'

5.3 Monitoring ueber systemd

# Service-Status pruefen
systemctl status cribl-edge

# Live-Logs verfolgen
journalctl -fu cribl-edge

# Letzten Neustart pruefen
systemctl show cribl-edge --property=ActiveEnterTimestamp

5.4 Alerting-Empfehlungen

Empfehlung: Fuer den Produktivbetrieb sollten folgende Alarme eingerichtet werden:

6. Troubleshooting Edge-Verbindung

6.1 Haeufige Probleme und Loesungen

Problem Symptom Loesung
Edge verbindet sich nicht Status in Stream UI: "Disconnected" 1. Port 4200 pruefen: ss -tlnp | grep 4200
2. Edge-Logs pruefen: journalctl -u cribl-edge -n 50
3. Konfiguration pruefen: cat /opt/cribl-edge/local/cribl/cribl.yml
Edge startet nicht systemctl status cribl-edge zeigt "failed" 1. Berechtigungen pruefen: ls -la /opt/cribl-edge/
2. Port-Konflikt: ss -tlnp | grep -E '4200|9420'
3. Service-User existiert: id cribl
Keine Events Edge verbunden, aber Events In = 0 1. Quellen-Konfiguration im Fleet pruefen
2. Dateiberechtigungen: sudo -u cribl cat /var/log/auth.log
3. Gruppen pruefen: id cribl (adm, systemd-journal)
Hoher Speicherverbrauch RSS > 1 GB 1. Anzahl offener Dateien pruefen: ls -la /proc/$(pgrep -f cribl-edge)/fd | wc -l
2. Persistent Queue Groesse pruefen
3. Edge-Neustart: systemctl restart cribl-edge
TLS-Fehler "TLS handshake failed" in Logs 1. TLS-Konfiguration in cribl.yml pruefen
2. Im PoC: tls.disabled: true verwenden
3. Zertifikate pruefen: openssl s_client -connect 127.0.0.1:4200

6.2 Diagnose-Befehle

# 1. Edge-Service-Status
systemctl status cribl-edge

# 2. Edge-Version und -Modus
/opt/cribl-edge/bin/cribl version
/opt/cribl-edge/bin/cribl mode

# 3. Letzte 50 Log-Zeilen
journalctl -u cribl-edge --no-pager -n 50

# 4. Port-Pruefung (Leader Management Port)
ss -tlnp | grep 4200

# 5. Verbindung zum Leader testen
curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:9000/api/v1/health

# 6. Dateiberechtigungen fuer den cribl-User pruefen
sudo -u cribl test -r /var/log/auth.log && echo "OK" || echo "KEIN ZUGRIFF"
sudo -u cribl test -r /run/log/journal && echo "OK" || echo "KEIN ZUGRIFF"

# 7. Supplementaere Gruppen des Service-Users
id cribl

# 8. Capabilities pruefen
getpcaps $(pgrep -f "cribl-edge") 2>/dev/null || echo "Prozess nicht gefunden"

# 9. Diagnostics-Bundle erstellen
/opt/cribl-edge/bin/cribl diag

6.3 Neustart-Verfahren

# Sanfter Neustart (graceful)
systemctl restart cribl-edge

# Erzwungener Neustart (bei haengendem Prozess)
systemctl kill cribl-edge
systemctl start cribl-edge

# Nach Konfigurationsaenderung: systemd neu laden
systemctl daemon-reload
systemctl restart cribl-edge

6.4 Log-Analyse

# Nur Fehler anzeigen
journalctl -u cribl-edge --no-pager -p err

# Logs seit dem letzten Start
journalctl -u cribl-edge --no-pager -b

# Verbindungsereignisse filtern
journalctl -u cribl-edge --no-pager | grep -i "connect\|register\|master"
Eskalation: Sollte ein Problem mit den oben beschriebenen Schritten nicht loesbar sein, erstellen Sie ein Diagnostics-Bundle mit /opt/cribl-edge/bin/cribl diag und kontaktieren Sie den Cribl-Support oder pruefen Sie die Cribl Community.