Revisionshistorie
| Version |
Datum |
Autor |
Beschreibung |
| 1.0 |
2026-02-10 |
IceDataEmphasise Team |
Initiale Erstellung der Architekturuebersicht |
Inhaltsverzeichnis
- Systemuebersicht und Zielsetzung
- Komponentendiagramm
- Netzwerktopologie
- Datenfluss
- Sizing und Ressourcenbedarf
- Lizenzmodell
- RACI-Matrix
1. Systemuebersicht und Zielsetzung
1.1 Projektziel
Das Projekt IceDataEmphasise evaluiert Cribl Stream und Cribl Edge
als moderne Alternative zu Splunk Universal Forwardern (UF) fuer den Einsatz in einer regulierten
deutschen Bankumgebung. Ziel des Proof of Concept (PoC) ist die Validierung folgender Aspekte:
- Zentrale Sammlung und Weiterleitung von Log-Daten an Splunk Enterprise
- Unabhaengigkeit vom Splunk Universal Forwarder bei gleichbleibender Funktionalitaet
- Daten-Enrichment und -Transformation in Echtzeit (Pipelines)
- Skalierbare Architektur mit zentralem Management (Fleet Management)
- Compliance-konforme Log-Verarbeitung gemaess bankaufsichtlicher Anforderungen
1.2 Warum Cribl statt Splunk Universal Forwarder?
| Kriterium |
Splunk UF |
Cribl Stream + Edge |
| Datentransformation |
Begrenzt (props.conf/transforms.conf) |
Vollstaendige Pipeline-Engine mit JavaScript |
| Routing |
Nur zu Splunk-Indexern |
Multi-Destination (Splunk, S3, Kafka, etc.) |
| Volumenreduktion |
Nicht moeglich |
Bis zu 50% durch Aggregation und Filterung |
| Quellen-Vielfalt |
Datei-basiert, Syslog |
Datei, Journald, Syslog, HTTP, Kafka, etc. |
| Zentrales Management |
Deployment Server erforderlich |
Integriertes Fleet Management |
| Lizenzkosten |
Im Splunk-Lizenzvolumen |
Free Tier: 1 TB/Tag, 100 Edge Nodes |
1.3 Scope des PoC
Der PoC wird auf einem Intel NUC durchgefuehrt, der gleichzeitig als Home-Assistant-Server dient.
Es werden 12 Log-Quellen ueber Cribl Edge gesammelt, durch Cribl Stream verarbeitet und an eine
externe Splunk-Instanz weitergeleitet.
2. Komponentendiagramm
2.1 Uebersicht der Systemkomponenten
+=========================================================================+
| Intel NUC (Debian Linux) |
| |
| +---------------------------+ +----------------------------------+ |
| | Cribl Edge | | Cribl Stream | |
| | /opt/cribl-edge | | /opt/cribl | |
| | | | | |
| | - File Monitor (11x) |--->| - Routes & Pipelines | |
| | - Journald (1x) | | - Syslog Enrichment | |
| | - Managed-Edge Mode | | - Apache CLF Parser | |
| | | | - Fleet Management | |
| | Port: 4200 (Mgmt) | | - Port: 9000 (UI/API) | |
| +---------------------------+ | - Port: 9420 (intern) | |
| | - Port: 4200 (Edge Mgmt) | |
| +---------------------------+ | | |
| | Tailscale/Headscale | +---------------+------------------+ |
| | VPN-Overlay-Netzwerk | | |
| +---------------------------+ | |
| | |
+===================================================|=====================+
|
+----------+------------+----------+
| | |
v v v
+-----------+ +-----------+ +------------------+
| Splunk HEC| | Splunk S2S| | Windows Edge |
| Port 8088 | | Port 9997 | | (geplant) |
+-----+-----+ +-----+-----+ +------------------+
| |
v v
+---------------------------+
| Splunk Enterprise |
| (externe Instanz) |
+---------------------------+
2.2 Komponentenbeschreibung
| Komponente |
Installationspfad |
Funktion |
Service-Name |
| Cribl Stream |
/opt/cribl |
Zentrale Verarbeitung, Routing, Fleet Management |
cribl.service |
| Cribl Edge |
/opt/cribl-edge |
Log-Sammlung direkt auf dem Host |
cribl-edge.service |
| Tailscale |
Systempaket |
VPN-Overlay fuer sicheren Remote-Zugriff |
tailscaled.service |
3. Netzwerktopologie
3.1 Ports und Protokolle
| Port |
Protokoll |
Komponente |
Richtung |
Beschreibung |
| 9000 |
TCP/HTTPS |
Cribl Stream |
Eingehend |
Web-UI und REST-API |
| 9420 |
TCP |
Cribl Stream |
Intern |
Interner Stream-Kommunikationsport |
| 4200 |
TCP |
Cribl Stream |
Eingehend |
Edge-Node-Management (Fleet) |
| 8088 |
TCP/HTTPS |
Splunk HEC |
Ausgehend |
HTTP Event Collector Destination |
| 9997 |
TCP |
Splunk S2S |
Ausgehend |
Splunk-to-Splunk natives Protokoll |
| 514 |
TCP/UDP |
Cribl Stream |
Eingehend |
Syslog-Empfang (optional) |
3.2 Firewall-Regeln
Empfehlung: Der Zugriff auf Port 9000 (Cribl Stream UI) sollte ausschliesslich ueber
das Tailscale-VPN-Interface erfolgen. Siehe Installationshandbuch fuer iptables/ufw-Konfiguration.
# Cribl Stream UI nur ueber Tailscale erlauben
iptables -A INPUT -i tailscale0 -p tcp --dport 9000 -j ACCEPT
iptables -A INPUT -p tcp --dport 9000 -j DROP
# Edge Management (lokal oder ueber Tailscale)
iptables -A INPUT -i lo -p tcp --dport 4200 -j ACCEPT
iptables -A INPUT -i tailscale0 -p tcp --dport 4200 -j ACCEPT
iptables -A INPUT -p tcp --dport 4200 -j DROP
4. Datenfluss
4.1 End-to-End Datenflusspfad
Log-Quellen (12 Stueck) Cribl Edge Cribl Stream Splunk
======================== ================== ========================== ============
/var/log/auth.log \ +------------------------+
/var/log/apache2/*.log \ +--------------+ | Routes |
/var/log/samba/log.* -->| File Monitor | | - filter(source) | +---------+
/var/log/tor/* / | (11 Quellen) |--->| - pipeline-zuordnung |--->| Splunk |
/var/log/cups/access_log / +--------------+ +------------------------+ | HEC |
/var/log/boot.log* / | Pipelines | | :8088 |
/var/log/dpkg.log* / +--------------+ | - syslog_enrichment | +---------+
/var/log/dnsmasq-tor.log | Journald | | - apache_clf |
/var/lib/docker/**/*.log --->| (1 Quelle) |--->| - Eval (Metadaten) |--->+---------+
+--------------+ | - Regex Extract | | Splunk |
| - Auto Timestamp | | S2S |
/run/log/journal -------> Managed Edge +------------------------+ | :9997 |
tcp://127.0.0.1:4200 +---------+
4.2 Verarbeitungsschritte im Detail
- Erfassung (Collection): Cribl Edge liest Log-Dateien ueber File Monitor und systemd Journal ueber die Journald-Quelle.
- Transport: Edge sendet Events ueber die interne Verbindung (Port 4200) an Cribl Stream.
- Routing: Die Route-Tabelle in Stream ordnet eingehende Events anhand von Filtern den passenden Pipelines zu.
- Transformation (Pipelines):
pipeline_syslog_enrichment -- Hostname, Environment-Metadaten; Syslog-Felder-Extraktion
pipeline_apache_clf -- Combined Log Format Parsing; Statuscode-/Bytes-Konvertierung
- Ausgabe (Destinations): Verarbeitete Events werden parallel an Splunk HEC (Port 8088) und Splunk S2S (Port 9997) gesendet.
4.3 Persistent Queues
Hinweis: Beide Splunk-Destinations sind mit Persistent Queues (PQ) konfiguriert:
pqMaxSize: 1GB, pqMaxFiles: 100. Dies stellt sicher, dass bei einem
Ausfall der Splunk-Verbindung keine Daten verloren gehen.
5. Sizing und Ressourcenbedarf
5.1 Mindestanforderungen (PoC)
| Ressource |
Mindestanforderung |
Empfohlen (PoC) |
Pruefung |
| Kernel |
>= 3.10 |
5.x oder hoeher |
00-preflight-check.sh |
| CPU-Kerne |
>= 4 |
4-8 Kerne |
00-preflight-check.sh |
| RAM |
>= 8 GB |
16 GB |
00-preflight-check.sh |
Festplatte (/opt) |
>= 5 GB frei |
20 GB frei |
00-preflight-check.sh |
| Netzwerk |
HTTPS zu cdn.cribl.io |
+ Zugang zu Splunk-Host |
00-preflight-check.sh |
5.2 Ressourcenverteilung
| Komponente |
CPU (geschaetzt) |
RAM (geschaetzt) |
Festplatte |
| Cribl Stream |
1-2 Kerne |
2-4 GB |
~1 GB + PQ-Speicher |
| Cribl Edge |
0.5-1 Kern |
512 MB - 1 GB |
~500 MB |
| Tailscale |
minimal |
~50 MB |
~20 MB |
5.3 Skalierungshinweise fuer Produktionsbetrieb
Achtung: Die hier beschriebene Dimensionierung gilt ausschliesslich fuer den PoC-Betrieb.
Fuer einen produktiven Einsatz mit hoeherem Datenvolumen sind dedizierte Server, Worker Groups und ein
verteilter Cribl Stream Cluster erforderlich. Bitte konsultieren Sie die offizielle
Cribl Sizing-Dokumentation.
6. Lizenzmodell
6.1 Cribl Free Tier
| Feature |
Free Tier Limit |
PoC-Nutzung |
| Datenvolumen (Stream) |
1 TB / Tag |
Weit unter dem Limit |
| Edge Nodes |
100 Nodes |
1-2 Nodes |
| Worker Processes |
Einzelner Worker |
Ausreichend |
| Fleet Management |
Enthalten |
Genutzt |
| Pipelines & Routes |
Unbegrenzt |
2 Pipelines, 1 Route-Tabelle |
| Support |
Community (Slack, Docs) |
-- |
6.2 Upgrade-Pfade
Bei Uebergang in den Produktivbetrieb stehen folgende Lizenzoptionen zur Verfuegung:
- Cribl.Cloud Standard: SaaS-Variante mit verwalteter Infrastruktur
- Cribl Enterprise: On-Premise mit Multi-Worker-Gruppen, RBAC, SSO-Integration
- Cribl Enterprise (Hybrid): Kombination aus Cloud-Management und On-Premise-Workern
7. RACI-Matrix
Legende:
R = Responsible (fuehrt durch),
A = Accountable (genehmigt/verantwortet),
C = Consulted (wird befragt),
I = Informed (wird informiert)
| Aufgabe / Aktivitaet |
Infrastruktur-Team |
Security-Team |
Splunk-Admin |
Projektleitung |
Fachabteilung |
| PoC-Planung und Freigabe |
C |
C |
C |
A/R |
I |
| Server-Bereitstellung (NUC) |
R |
I |
I |
A |
I |
| Netzwerk/Firewall-Konfiguration |
R |
A |
C |
I |
I |
| Tailscale/Headscale-Einrichtung |
R |
C |
I |
I |
I |
| Cribl Stream Installation |
R |
C |
C |
A |
I |
| Cribl Edge Deployment |
R |
I |
C |
A |
I |
| Quellen-Konfiguration |
R |
C |
C |
I |
I |
| Pipeline-Entwicklung |
R |
C |
C |
I |
I |
| Splunk-Destination einrichten |
C |
I |
R |
A |
I |
| Sicherheitspruefung / Audit |
C |
A/R |
C |
I |
I |
| PoC-Auswertung und Bericht |
C |
C |
C |
A/R |
I |
| Go/No-Go-Entscheidung Produktion |
C |
C |
C |
R |
A |