2017-02-16 5 views
1

Ich versuche, eine fail2ban Log-Datei mit der Konfigurationsdatei und Muster unten (über ein Online-Tutorial) zu analysieren.Logstash Grok Parse Fehler - fail2ban Protokoll

Allerdings bekomme ich einen grok parse Fehler, irgendwelche Ideen, wie das zu beheben?

Protokolldateiformat:

2017-02-13 18:49:52,567 fail2ban.actions [1365]: NOTICE [sshd] Ban 127.0.0.1 

logstash config:

input { 
    file { 
    type => "fail2ban" 
    start_position => "beginning" 
    path => [ "/var/log/fail2ban.log" ] 
    } 
} 

filter { 
    if [type] == "fail2ban" { 
    grok { 
     patterns_dir => "/etc/logstash/patterns" 
     match => [ 
     "message", "%{F2B_DATE:date} %{F2B_ACTION} %{WORD:level} %{F2B_JAIL} %{WORD:action} %{IP:ip}", 
     "message", "%{F2B_DATE:date} %{F2B_ACTION} %{F2B_LEVEL} %{GREEDYDATA:msg}?" 
     ] 
    } 

    geoip { 
     source => "ip" 
    } 
    } 
} 

Muster config:

F2B_DATE %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[ ]%{HOUR}:?%{MINUTE}(?::?%{SECOND}) 
F2B_ACTION (\w+)\.(?:\w+)(\s+)?\: 
F2B_JAIL \[(?<jail>\w+\-?\w+?)\] 
F2B_LEVEL (?<level>\w+)\s+ 
+0

, wenn Sie die 'grok parse' Fehler zeigen könnte? – Kulasangar

Antwort

0

Ich denke, y ou're verpasst die Karotte^ Symbol in Ihrem übereinstimmen, was zu dem Muster zu sagen, dass dies ist, wo mit mit, in der Protokollzeile zu starten. Was passiert, wenn Sie Ihre Spiel als solche haben:

match => [ 
    "message", "^%{F2B_DATE:date} %{F2B_ACTION} %{WORD:level} %{F2B_JAIL} %{WORD:action} %{IP:ip}", 
    "message", "^%{F2B_DATE:date} %{F2B_ACTION} %{F2B_LEVEL} %{GREEDYDATA:msg}?" 
] 
+0

Danke für deine Hilfe, aber daran hat sich nichts geändert. – ace