diff --git a/vector.yaml b/vector.yaml index 3c3af8d..b59c263 100644 --- a/vector.yaml +++ b/vector.yaml @@ -9,36 +9,39 @@ sources: # TRANSFORMS: Verarbeitung der Daten # ============================================================================= transforms: - # Wir lassen den filter_debug-Block zwar stehen, - # aber wir nehmen ihn aus der Kette raus. - filter_debug: - type: filter - inputs: [docker_logs] - condition: 'includes(["INFO", "WARN", "ERROR"], .level)' - parse_logs: type: remap - # ÄNDERUNG HIER: Wir nehmen die Daten DIREKT von der Source, - # nicht mehr vom Filter! - inputs: [docker_logs] + inputs: [docker_logs] source: | - .message, err = replace(.message, "\n", "") + # Zeilenumbrüche in der Nachricht entfernen, um Loki-Parsing zu erleichtern + .message = replace(.message, "\n", " ") + + # Das Feld 'service' setzen. + # Falls dein Grafana Dashboard nach 'service_name' sucht, ändere dies hier zu .service_name .service = "my-cluster" + + # Optional: Zusätzliche Metadaten bereinigen (falls gewünscht) + # .container_name = .container_name || "unknown" # ============================================================================= # SINKS: Wohin sollen die Daten? # ============================================================================= sinks: + # Debug-Ausgabe in der Konsole (hilfreich beim Testen) stdout_debug: type: console inputs: [parse_logs] encoding: codec: json + loki_sink: type: loki - inputs: ["parse_logs"] - endpoint: "http://docker1.lan:3100" + inputs: [parse_logs] + endpoint: "http://docker1.lan:3100" encoding: codec: json labels: - host: "{{ host }}" \ No newline at end of file + # HIER LAG DER FEHLER: Die Felder müssen explizit als Labels definiert werden! + host: "{{ host }}" + service: "{{ service }}" # Damit wird "my-cluster" zum Loki-Index + container_name: "{{ container_name }}" # Sehr wichtig für Docker-Logs, um Dienste zu trennen \ No newline at end of file