logstash: Versuch, Teilzeichenfolgen aus dem Pfad zu extrahieren

logstash: Versuch, Teilzeichenfolgen aus dem Pfad zu extrahieren

Ich versuche, Teilzeichenfolgen aus meinem Pfadfeld in meiner Logstash-Konfiguration zu extrahieren.

Das Feld „Pfad“ sieht folgendermaßen aus:

/storage/logs/deployment/servers/hostname.example.com/server.log

In einem Filterabschnitt habe ich Folgendes:

ruby {
     code => "event.set('log_filename', 
     event.get('path').split('/').last)"
}

Das funktioniert einwandfrei. Ich erhalte ein neues Feld mit dem Namen „log_filename“.

Allerdings interessiert mich auch der Servername (hostname.example.com)

Also habe ich Folgendes versucht:

ruby {
      code => "event.set('log_filename', event.get('path').split('/').[-1]) event.set('server_name', event.get('path').split('/').[-2])"
}

Das funktioniert überhaupt nicht. Ich erhalte keine Fehler in meinem Logstash-Protokoll, aber es werden keine Logstash-Daten angezeigt.

Mir geht es um den Dateinamen und das davor stehende Feld, das den Host darstellt, von dem die Datei stammt.

Ist etwas mit meiner Syntax nicht in Ordnung?

verwandte Informationen