Felder aus dem Logstash des Eingabedateipfads extrahieren?

Ich möchte meine Protokolldateien aus verschiedenen Verzeichnissen lesen, z.Server1, Server2...

Server1 hat Unterverzeichnisse alscron, auth... in diesen Unterverzeichnissen befindet sich daslog file beziehungsweise.

Also denke ich darüber nach, Dateien wie diese zu lesen:

input{
         file{            
                                     #path/to/folders/server1/cronLog/cron_log

                             path => "path/to/folders/**/*_log"
            }
    }

Ich habe jedoch Schwierigkeiten, sie zu filtern, d. H. Zu wissen, für welchen Server (Server1) und logtype (cron) Muss ich das anwendengrok Muster:

ZB: Ich dachte daran, so etwas zu machen

if [path] =~ "auth"{

grok{
            match => ["message", ***patteren****]
        }
    }else if [path] =~ "cron"{
        grok{
            match => ["message", ***pattern***]
        }

Übercron ist für die Protokolldatei (nicht das cronLog-Verzeichnis). Aber so möchte ich auch filternserver name wie jeder Server haben wirdcron, authusw. protokolliert.

Wie filtere ich nach beiden?

Gibt es eine Möglichkeit, Verzeichnisnamen von zu erfassen?path in der Eingabe? Wie von hier

path => "path/to/folders/**/*_log"

Wie soll ich vorgehen? Jede Hilfe wird geschätzt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage