Log Forwarding
smoxy kann CDN-Zugriffslogs in Echtzeit an einen externen Log-Aggregationsdienst weiterleiten. Dies ermöglicht das Zentralisieren der Logs, das Erstellen eigener Dashboards und die Integration der Weiterleitung in eine bestehende Monitoring-Infrastruktur.
Wie Log Forwarding funktioniert
Log Forwarding wird auf Site-Ebene konfiguriert, erzeugt aber nur Logs für Hostnamen, bei denen CDN aktiviert ist. Dies ist ein wichtiger Unterschied:
- Eine Site kann mehrere Hostnamen zugewiesen haben.
- Nur Hostnamen mit aktivierter CDN-Funktionalität erzeugen Zugriffslogs.
- Hostnamen auf derselben Site, bei denen CDN nicht aktiviert ist, erscheinen nicht in den weitergeleiteten Logs.
- Jeder weitergeleitete Log-Eintrag gehört zum spezifischen Hostnamen, der die Anfrage empfangen hat.
Beispiel:
| Hostname | CDN aktiviert | Logs weitergeleitet |
|---|---|---|
www.example.com | Ja | Ja |
api.example.com | Ja | Ja |
staging.example.com | Nein | Nein |
Obwohl alle drei Hostnamen dieselbe Site-Konfiguration nutzen, erzeugen nur www.example.com und api.example.com weitergeleitete Log-Einträge.
Voraussetzungen
- Eine Site mit mindestens einem Hostnamen, bei dem CDN aktiviert ist
- Ein Log-Empfänger (Syslog-kompatibler Endpunkt oder Datadog)
Konfiguration
Log Forwarding wird pro Site auf der Seite Grundkonfiguration konfiguriert.
Einstellungen
| Einstellung | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| Log Forwarding aktivieren | — | Boolean | Schaltet Log Forwarding ein oder aus |
| Hostname | Ja (wenn aktiviert) | String | Der Hostname oder die IP-Adresse des Log-Empfängers |
| Port | Ja (wenn aktiviert) | Integer (1–65535) | Der Port, auf dem der Log-Empfänger lauscht |
| Token | Nein | String | Optionaler Authentifizierungstoken, der mit jedem Log-Eintrag gesendet wird |
| Protokoll | Ja (wenn aktiviert) | Auswahl | Transportprotokoll (siehe unten) |
| Format | Ja (wenn aktiviert) | Auswahl | Log-Ausgabeformat (siehe unten) |
Protokolle
| Protokoll | Beschreibung | Anwendungsfall |
|---|---|---|
| UDP | Unverschlüsselt, verbindungslos | Schnellste Option, geeignet für lokale/vertrauenswürdige Netzwerke |
| TCP | Unverschlüsselt, verbindungsbasiert | Zuverlässige Zustellung über vertrauenswürdige Netzwerke |
| TCPEncrypted | TLS-verschlüsseltes TCP | Empfohlen für die Übertragung von Logs über das Internet |
| DataDog | Datadog-natives Protokoll | Direkte Integration mit Datadog Log Management |
Formate
| Format | Beschreibung |
|---|---|
| JSON | Strukturierte JSON-Log-Einträge — empfohlen für die meisten Log-Aggregationstools |
| Plain | Klartext-Log-Einträge — nützlich für einfache Syslog-Setups |
Einrichtungsanleitung
Schritt 1: Log-Empfänger vorbereiten
Einen Log-Empfänger einrichten, der eingehende Logs akzeptieren kann. Gängige Optionen:
Grafana Loki mit Promtail/Syslog:
- Einen Syslog-Listener auf einem bekannten Port konfigurieren
- TCP oder TCPEncrypted für zuverlässige Zustellung verwenden
Elastic Stack (ELK):
- Logstash mit einem TCP- oder UDP-Input konfigurieren
- JSON-Format für strukturiertes Parsing verwenden
Datadog:
- Die Protokolloption DataDog verwenden
- Den Datadog-API-Key als Token konfigurieren
Generisches Syslog:
- Jeder Syslog-kompatible Empfänger funktioniert
- UDP für Einfachheit oder TCP/TCPEncrypted für Zuverlässigkeit verwenden
Schritt 2: CDN-Aktivierung sicherstellen
Log Forwarding funktioniert nur für Hostnamen mit aktiviertem CDN. Zu prüfen ist, ob die Hostnamen, für die Logs gewünscht sind, CDN aktiviert haben:
- Zur Site in smoxy navigieren
- Die Hostname-Liste überprüfen — Hostnamen mit aktiviertem CDN werden entsprechend angezeigt
- Falls CDN für einen Hostnamen nicht aktiviert ist, zuerst aktivieren
Schritt 3: Log Forwarding konfigurieren
- Zur Site in smoxy navigieren
- Grundkonfiguration öffnen
- Zum Abschnitt Log Forwarding scrollen
- Schalter Log Forwarding aktivieren einschalten
- Die Details des Log-Empfängers eingeben:
- Hostname: z. B.
logs.beispielfirma.com - Port: z. B.
514(Syslog-Standard) oder ein eigener Port - Protokoll: passend zum Setup wählen
- Format:
JSON(empfohlen) oderPlain - Token: Optionaler Authentifizierungstoken, falls vom Empfänger benötigt
- Hostname: z. B.
- Konfiguration speichern
Schritt 4: Überprüfen
Nach der Aktivierung den Log-Empfänger auf eingehende Log-Einträge von smoxy prüfen. Log-Einträge sollten innerhalb von Minuten erscheinen, sobald die CDN-aktivierten Hostnamen Traffic empfangen.
Erscheinen keine Logs, ist zu prüfen:
- Ob die Hostnamen, die Traffic empfangen, CDN aktiviert haben
- Ob der Log-Empfänger aus dem Internet auf dem konfigurierten Port erreichbar ist
- Ob Protokoll und Format mit der Konfiguration des Empfängers übereinstimmen
Log Forwarding deaktivieren
Um die Log-Weiterleitung zu stoppen:
- Zur Grundkonfiguration der Site navigieren
- Schalter Log Forwarding aktivieren ausschalten
- Speichern
Wichtige Hinweise
- CDN erforderlich: Nur Hostnamen mit aktiviertem CDN erzeugen weitergeleitete Logs. Hostnamen ohne CDN auf derselben Site sind nicht enthalten.
- Logs pro Hostname: Jeder Log-Eintrag gehört zum spezifischen CDN-aktivierten Hostnamen, der die Anfrage bearbeitet hat, nicht zur Site als Ganzes.
- Konfiguration auf Site-Ebene: Die Log-Forwarding-Einstellungen (Empfänger, Protokoll, Format) werden einmal pro Site konfiguriert und gelten für alle CDN-aktivierten Hostnamen auf dieser Site. Unterschiedliche Log-Ziele für einzelne Hostnamen sind nicht konfigurierbar.
- Kein Puffern: Geht der Empfänger offline, werden Logs während des Ausfalls nicht in eine Warteschlange gestellt oder erneut gesendet.
- TCPEncrypted verwenden, wenn Logs über das Internet weitergeleitet werden, um die Log-Daten während der Übertragung zu schützen.
- JSON-Format verwenden für einfacheres Parsen und Filtern in Log-Aggregationstools.
- Das Token-Feld ist nützlich für die Authentifizierung bei Diensten wie Datadog oder benutzerdefinierten Log-Empfängern, die einen API-Key erfordern.
