| Version | Datum | Autor | Beschreibung |
|---|---|---|---|
| 1.0 | 2026-02-10 | IceDataEmphasise Team | Initiale Erstellung der Edge-Konfigurationsdokumentation |
| 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 |
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
Fleets sind logische Gruppen von Edge Nodes, die eine gemeinsame Konfiguration erhalten. Jeder Edge Node wird genau einem Fleet zugewiesen. Die Fleet-Konfiguration umfasst:
| 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 |
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"}'
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* |
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 |
Fuer den Einsatz auf Windows-Arbeitsplaetzen ist ein separates Deployment ueber PowerShell geplant.
Die Skripte befinden sich im Verzeichnis windows/.
windows-workstations) ist im Stream Leader vorbereitet.
| 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) |
cdn.cribl.io herunterladen# Geplantes PowerShell-Deployment (Entwurf)
# .\Install-CriblEdge.ps1 -StreamLeaderUrl "tcp://<tailscale-ip>:4200" -Fleet "windows-workstations"
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 |
# 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
}'
# Service-Status pruefen
systemctl status cribl-edge
# Live-Logs verfolgen
journalctl -fu cribl-edge
# Letzten Neustart pruefen
systemctl show cribl-edge --property=ActiveEnterTimestamp
| Problem | Symptom | Loesung |
|---|---|---|
| Edge verbindet sich nicht | Status in Stream UI: "Disconnected" |
1. Port 4200 pruefen: ss -tlnp | grep 42002. Edge-Logs pruefen: journalctl -u cribl-edge -n 503. 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.log3. 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 -l2. Persistent Queue Groesse pruefen 3. Edge-Neustart: systemctl restart cribl-edge
|
| TLS-Fehler | "TLS handshake failed" in Logs |
1. TLS-Konfiguration in cribl.yml pruefen2. Im PoC: tls.disabled: true verwenden3. Zertifikate pruefen: openssl s_client -connect 127.0.0.1:4200
|
# 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
# 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
# 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"
/opt/cribl-edge/bin/cribl diag und kontaktieren
Sie den Cribl-Support oder pruefen Sie die Cribl Community.