2017-03-07 1 views
1

In meiner Logstash-Konfiguration muss ich mehrere Muster verwenden. Meine Anwendung generiert Protokolle in 3 Mustern. Ich habe versucht, Array für mehrere Muster zu verwenden, aber es funktioniert nicht.LOGSTASH Filter | Mehrere Muster für die gleiche Datei

filter{ 
    grok{ 
     match=>{ 
      "message"=>[ 
      "\[%{TIMESTAMP_ISO8601:timestamp}\] COMMTRACE user=\[%{GREEDYDATA:userId}\]\, sessionId\=\[%{GREEDYDATA:sessionId}\]\, ip\=\[%{HOSTNAME:ip}\]\, event\=\[%{GREEDYDATA:event}\]", 
      "\[%{TIMESTAMP_ISO8601:timestamp}\] COMMTRACE user\=\[%{GREEDYDATA:user}\], sessionId\=\[%{GREEDYDATA:sessionId}\], ip\=\[%{IP:ip}\]\, type\=\[%{GREEDYDATA:type}\]\, msg\=\[%{GREEDYDATA:msg}\]" 
         ] 
     } 
    } 
} 

Bitte helfen

+0

Sie entkam nicht das Komma innerhalb des zweiten Musters (nach GREEDYDATA: Benutzer), ist dies vielleicht der Fehler? –

+0

Und das Komma nach GREEDYDATA: sessionId auch –

+1

Dank @AndreaRomagnoli. es funktioniert jetzt – niting

Antwort

1

Sie nicht das Komma innerhalb des zweiten Musters nach GREEDYDATA entging: Benutzer, und das Komma nach GREEDYDATA: zu SESSIONID.