Revisionshistorie
| Version | Datum | Autor | Beschreibung |
| 1.0 | 2026-02-10 | Marcus Pauli | Erstversion: Betriebsaufgaben, Prozeduren, Monitoring, Backup, Eskalation |
Inhaltsverzeichnis
- Taegliche Betriebsaufgaben
- Start/Stop/Restart Prozeduren
- Log-Rotation und Housekeeping
- Performance-Monitoring
- Kapazitaetsplanung
- Backup und Restore
- Wartungsfenster-Prozedur
- Kontaktliste und Eskalation
1. Taegliche Betriebsaufgaben
Die folgenden Aufgaben muessen taeglich im Rahmen des regulaeren Betriebs durchgefuehrt werden.
Die Checkliste dient als Nachweis fuer die Aufsicht (MaRisk AT 7.2).
Morgendliche Checkliste (bis 09:00 Uhr)
- Cribl Stream UI erreichbar unter
https://<cribl-host>:9000
- Alle Quellen (Sources) melden aktiven Status (gruene Indikatoren)
- Beide Destinations (HEC + S2S) zeigen Connected
- PQ-Fuellstand beider Destinations unter 5%
- Keine Fehlermeldungen im Cribl-System-Log der letzten 24h
- Splunk-seitig: Daten in allen Indexes aktuell (letzte 15 Minuten)
- Cribl Edge Nodes: Alle registrierten Nodes sind online
- Tailscale-VPN: Alle Peers verbunden
- Disk-Space auf Cribl-Server > 20% frei
- CPU-Auslastung des Cribl-Servers < 70% (Durchschnitt letzte Stunde)
RACI-Matrix: Taegliche Aufgaben
| Aufgabe | IT-Betrieb | Security | Teamleitung |
| Morgendliche Checkliste | R/A | I | I |
| PQ-Fuellstand pruefen | R/A | C | I |
| Fehler im System-Log pruefen | R | C/A | I |
| Datenaktualitaet in Splunk | R | R | A |
R = Responsible, A = Accountable, C = Consulted, I = Informed
2. Start/Stop/Restart Prozeduren
2.1 Cribl Stream
Cribl Stream laeuft als systemd-Dienst auf dem NUC-Server:
# Status pruefen
sudo systemctl status cribl
# Starten
sudo systemctl start cribl
# Stoppen (Graceful Shutdown)
sudo systemctl stop cribl
# Neustart
sudo systemctl restart cribl
# Logs anzeigen
sudo journalctl -u cribl -f --no-pager
Achtung: Beim Stoppen von Cribl Stream werden Events, die sich in der
In-Memory-Pipeline befinden, in die Persistent Queue geschrieben. Der Shutdown dauert bis zu
30 Sekunden, waehrend die Queues geleert werden. Einen kill -9 auf den
Cribl-Prozess niemals ausfuehren – dies fuehrt zu Datenverlust.
2.2 Cribl Edge
# Status pruefen
sudo systemctl status cribl-edge
# Starten
sudo systemctl start cribl-edge
# Stoppen
sudo systemctl stop cribl-edge
# Neustart
sudo systemctl restart cribl-edge
# Logs anzeigen
sudo journalctl -u cribl-edge -f --no-pager
2.3 Abhaengigkeiten und Reihenfolge
| Aktion | Reihenfolge | Begruendung |
| Starten | 1. Tailscale → 2. Cribl Stream → 3. Cribl Edge | Stream muss erreichbar sein, bevor Edge sich verbindet |
| Stoppen | 1. Cribl Edge → 2. Cribl Stream → 3. Tailscale | Edge-Daten muessen zugestellt sein, bevor Stream gestoppt wird |
| Neustart Stream | Edge muss nicht neugestartet werden | Edge puffert Events lokal und liefert nach, sobald Stream wieder verfuegbar ist |
2.4 Notfall-Restart (bei Haenger)
# Nur wenn normaler Restart nicht funktioniert:
# 1. Sanftes Signal senden
sudo kill -SIGTERM $(pgrep -f cribl)
sleep 30
# 2. Falls Prozess immer noch laeuft:
sudo kill -SIGTERM $(pgrep -f cribl)
sleep 10
# 3. Dienst normal starten
sudo systemctl start cribl
# 4. Sofort PQ-Status pruefen (moeglicher Datenverlust?)
curl -s http://localhost:9000/api/v1/system/metrics | jq '.pq'
3. Log-Rotation und Housekeeping
3.1 Cribl-eigene Logs
Cribl Stream erzeugt eigene Betriebslogs unter /opt/cribl/log/:
| Log-Datei | Inhalt | Rotation |
cribl.log | Hauptlog: Verarbeitungsfehler, Warnungen | Automatisch durch Cribl (5 x 5 MB) |
cribl-ui-access.log | Web-UI Zugriffe | Automatisch durch Cribl |
audit.log | Aenderungen an der Konfiguration | Automatisch, 365 Tage Aufbewahrung |
3.2 Zusaetzliche Log-Rotation via logrotate
# /etc/logrotate.d/cribl
/opt/cribl/log/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 0640 cribl cribl
sharedscripts
postrotate
systemctl reload cribl 2>/dev/null || true
endscript
}
3.3 Housekeeping-Aufgaben
| Aufgabe | Frequenz | Beschreibung |
| PQ-Verzeichnis pruefen | Taeglich | du -sh /opt/cribl/state/ – darf 2 GB nicht ueberschreiten |
| Alte Backups bereinigen | Woechentlich | Backups aelter als 90 Tage loeschen |
| Temp-Dateien bereinigen | Woechentlich | /tmp/cribl* pruefen und bereinigen |
| Audit-Log pruefen | Woechentlich | Ungeplante Konfigurationsaenderungen identifizieren |
4.1 Wichtige Metriken
| Metrik | Schwellenwert (Warnung) | Schwellenwert (Kritisch) | Quelle |
| CPU-Auslastung | > 70% | > 90% | top, htop, Cribl Metrics |
| RAM-Nutzung | > 75% | > 90% | free -h, Cribl Metrics |
| Disk I/O Wait | > 20% | > 40% | iostat |
| Events In/s | Abweichung > 30% vom Baseline | Abweichung > 50% | Cribl Monitoring |
| Events Out/s | Abweichung > 30% vom Baseline | Events Out < Events In (Stau) | Cribl Monitoring |
| PQ-Fuellstand (HEC) | > 50% | > 80% | Cribl Monitoring |
| PQ-Fuellstand (S2S) | > 50% | > 80% | Cribl Monitoring |
| Destination-Latenz | > 5 Sekunden | > 30 Sekunden | Cribl Monitoring |
| Disk-Space (/opt) | < 30% frei | < 15% frei | df -h |
| Tailscale-VPN Status | 1 Peer offline | VPN-Tunnel down | tailscale status |
4.2 Monitoring-Befehle
# Cribl Stream Metriken (API)
curl -s http://localhost:9000/api/v1/system/metrics | jq '.'
# Cribl Stream Health Check
curl -s http://localhost:9000/api/v1/health | jq '.'
# Systemressourcen
top -bn1 | head -20
free -h
df -h /opt
# Netzwerk-Durchsatz (Cribl-Ports)
ss -s
ss -tlnp | grep -E '(9000|9420|9997|8088)'
# Tailscale-Status
tailscale status
4.3 Splunk-basiertes Monitoring
# Cribl-Durchsatz in Splunk verfolgen (letzte 4 Stunden)
index=* cribl_pipeline=*
| timechart span=5m count by cribl_pipeline
# Alarmierung bei fehlenden Daten (Saved Search)
index=idx_security sourcetype=linux_secure earliest=-15m
| stats count
| where count < 10
| eval alert_message="Weniger als 10 Security-Events in den letzten 15 Minuten"
5. Kapazitaetsplanung
5.1 Aktuelle Ressourcenauslastung (PoC-Phase)
| Ressource | Verfuegbar | Genutzt (Durchschnitt) | Reserve |
| CPU-Kerne | 4 | ~1.5 (37%) | 63% |
| RAM | 8 GB | ~3 GB (37%) | 63% |
| Disk (/opt) | 50 GB | ~8 GB (16%) | 84% |
| Netzwerk | 1 Gbit/s | ~5 Mbit/s (0.5%) | 99.5% |
5.2 Skalierungsplanung
| Wachstumsfaktor | Auswirkung | Massnahme |
| Verdopplung der Quellen | CPU +40%, RAM +30% | Skalierung auf 8 CPU-Kerne, 16 GB RAM |
| Verdopplung des Volumens | CPU +60%, Disk I/O +80% | SSD-Upgrade, ggf. Worker Processes erhoehen |
| Neue Edge Nodes (+10) | Netzwerk +20%, CPU +10% | Keine Aenderung erforderlich |
| Neue Pipelines (+5) | CPU +15%, RAM +10% | Keine Aenderung erforderlich |
Empfehlung: Die aktuelle PoC-Hardware (NUC, 4 Kerne, 8 GB RAM) reicht fuer das
aktuelle Volumen aus. Bei einer Produktivstellung mit erweitertem Scope sollte auf mindestens
8 Kerne und 16 GB RAM aufgeruestet werden. Cribl empfiehlt fuer Produktivumgebungen mindestens
4 Kerne und 8 GB RAM pro Worker Process.
6. Backup und Restore
6.1 Backup-Konzept
Das Backup umfasst die vollstaendige Cribl-Konfiguration. Das Skript
08-backup-cribl-config.sh automatisiert den Backup-Prozess.
| Komponente | Pfad | Enthalten im Backup |
| Cribl Stream Konfiguration | /opt/cribl/local/ | Ja |
| Pipelines | /opt/cribl/local/cribl/pipelines/ | Ja |
| Routes | /opt/cribl/local/cribl/routes/ | Ja |
| Destinations | /opt/cribl/local/cribl/outputs/ | Ja |
| Sources | /opt/cribl/local/cribl/inputs/ | Ja |
| TLS-Zertifikate | /opt/cribl/certs/ | Ja |
| Umgebungsvariablen | .env | Ja (verschluesselt) |
| Persistent Queue Daten | /opt/cribl/state/ | Nein (transient) |
6.2 Backup-Durchfuehrung
# Manuelles Backup
sudo /home/mpauli/IceDataEmphasise/scripts/08-backup-cribl-config.sh
# Automatisiertes Backup via Cron (taeglich um 02:00 Uhr)
# Eintrag in /etc/crontab:
0 2 * * * root /home/mpauli/IceDataEmphasise/scripts/08-backup-cribl-config.sh
# Backup-Verzeichnis pruefen
ls -lah /var/backups/cribl/
6.3 Restore-Prozedur
Achtung: Ein Restore ueberschreibt die aktuelle Konfiguration vollstaendig.
Vor einem Restore immer ein Backup des aktuellen Zustands erstellen.
- Cribl Stream stoppen:
sudo systemctl stop cribl
- Aktuellen Zustand sichern:
sudo cp -r /opt/cribl/local/ /opt/cribl/local.pre-restore.$(date +%Y%m%d)
- Backup entpacken:
sudo tar xzf /var/backups/cribl/cribl-backup-YYYYMMDD-HHMMSS.tar.gz -C /opt/cribl/
- Berechtigungen pruefen:
sudo chown -R cribl:cribl /opt/cribl/local/
- Cribl Stream starten:
sudo systemctl start cribl
- Funktionspruefung:
curl -s http://localhost:9000/api/v1/health | jq '.'
- Alle Quellen und Destinations im UI pruefen
6.4 Backup-Aufbewahrung
| Typ | Frequenz | Aufbewahrung | Speicherort |
| Taeglich | Jede Nacht (02:00) | 30 Tage | /var/backups/cribl/ |
| Woechentlich | Sonntags (03:00) | 90 Tage | /var/backups/cribl/weekly/ |
| Vor Aenderungen | Manuell | Unbegrenzt | /var/backups/cribl/pre-change/ |
7. Wartungsfenster-Prozedur
7.1 Planung
| Schritt | Zeitpunkt | Verantwortlich | Beschreibung |
| 1. Ankuendigung | T-5 Werktage | Teamleitung | Change-Antrag stellen, Stakeholder informieren |
| 2. Genehmigung | T-3 Werktage | Change Advisory Board | Genehmigung im Change-Management-System |
| 3. Backup | T-0 (vor Start) | IT-Betrieb | Vollstaendiges Backup der Cribl-Konfiguration |
| 4. Durchfuehrung | T-0 | IT-Betrieb | Wartungsarbeiten gemaess Anleitung |
| 5. Verifikation | T-0 (nach Abschluss) | IT-Betrieb + Security | Funktionspruefung, Checkliste abarbeiten |
| 6. Abschluss | T+1 | Teamleitung | Change-Ticket schliessen, Dokumentation aktualisieren |
7.2 Empfohlenes Wartungsfenster
- Zeitraum: Samstag 02:00 - 06:00 Uhr
- Begruendung: Geringstes Log-Volumen, minimale Auswirkung auf Betrieb
- Maximale Dauer: 4 Stunden
- Rollback-Zeitfenster: 1 Stunde innerhalb des Wartungsfensters
7.3 Checkliste: Wartungsfenster
- Change-Genehmigung liegt vor
- Backup erstellt und verifiziert
- Rollback-Plan dokumentiert und getestet
- Alle Beteiligten informiert und erreichbar
- Monitoring-Dashboard geoeffnet
- Wartungsarbeiten durchgefuehrt
- Funktionspruefung abgeschlossen (alle Quellen, Destinations, Pipelines)
- PQ-Status geprueft (keine Rueckstaende)
- Splunk-Datenfluss verifiziert
- Wartungsprotokoll ausgefuellt
7.4 Rollback-Prozedur
Falls waehrend der Wartung ein Problem auftritt, das nicht innerhalb von 60 Minuten behoben
werden kann, wird der Rollback eingeleitet:
- Cribl Stream stoppen
- Restore des Backups (siehe Abschnitt 6.3)
- Cribl Stream starten
- Vollstaendige Funktionspruefung
- Vorfall dokumentieren und Nachbesprechung planen
8. Kontaktliste und Eskalation
8.1 Kontaktliste
| Rolle | Name | Erreichbarkeit | Vertretung |
| Cribl-Administrator | [Name eintragen] | Tel. / E-Mail | [Vertretung] |
| Splunk-Administrator | [Name eintragen] | Tel. / E-Mail | [Vertretung] |
| Netzwerk-Team (Tailscale/VPN) | [Name eintragen] | Tel. / E-Mail | [Vertretung] |
| Security Operations | [Name eintragen] | Tel. / E-Mail | [Vertretung] |
| Teamleitung IT-Betrieb | [Name eintragen] | Tel. / E-Mail | [Vertretung] |
| Cribl Support | Cribl Inc. | support.cribl.io / +1-888-CRIBL | n/a |
Hinweis: Die Kontaktliste muss vor der Produktivstellung mit den tatsaechlichen
Kontaktdaten befuellt werden. Eine quartalsweise Ueberpruefung der Aktualitaet ist vorgeschrieben.
8.2 Eskalationsmatrix
| Schweregrad | Beschreibung | Reaktionszeit | Eskalation an |
| Kritisch (P1) | Komplettausfall: Keine Daten werden an Splunk geliefert, PQ > 95% | 15 Minuten | Cribl-Admin + Teamleitung + Security |
| Hoch (P2) | Teilausfall: Eine Destination ausgefallen, PQ fuellt sich | 30 Minuten | Cribl-Admin + Teamleitung |
| Mittel (P3) | Degradiert: Einzelne Quelle liefert keine Daten, Performance-Einbruch | 2 Stunden | Cribl-Admin |
| Niedrig (P4) | Kosmetisch: UI-Warnungen, nicht-kritische Fehlermeldungen | Naechster Werktag | Cribl-Admin (Ticket) |
8.3 Eskalationspfad bei P1-Vorfaellen
- 0-15 Min: Cribl-Administrator analysiert das Problem, versucht Sofortmassnahme
- 15-30 Min: Teamleitung wird informiert, Security Operations wird einbezogen
- 30-60 Min: Falls nicht behoben: Rollback auf letztes Backup einleiten
- 60+ Min: Cribl-Support kontaktieren, Management-Eskalation
- Nach Behebung: Incident-Report innerhalb von 24 Stunden, Post-Mortem innerhalb von 5 Werktagen
Regulatorische Anforderung: Bei einem P1-Vorfall, der laenger als 4 Stunden dauert
und die Integritaet sicherheitsrelevanter Log-Daten betrifft, muss gemaess BAIT II.7 eine Meldung
an den Informationssicherheitsbeauftragten (ISB) erfolgen.