私はログファイルを解析するためにカスタムgrokパターンを使用していますが、何をするにしても、常に私には_grokparsefailure例外があります。Logstash '_grokparsefailure'問題
しかし、それはhttps://grokdebug.herokuapp.com/
で完璧に動作マイカスタムパターンファイルは次の場所にあり、
C:\ Users \ユーザーユーザー名\プロジェクト\ Logstash \ビン\パターン
ファイル名:mylogpattern
LogLevel [I|V|D|M|W|E|A|F]
MODULE \b\w+\b|------
MESSAGEID (?:[+-]?(?:[0-9]+))|----
SUBMODULE (.*?:)
MESSAGE (.*)|(.*?:)|(.*\s*?:)
マイLogst
input{
beats{
host => "192.168.56.1"
port => 7088
congestion_threshold => 200
}
}
filter {
if [type] == "MyLog"{
grok{
patterns_dir => ["C:\Users\Username\projects\Logstash\logstash\bin\patterns"]
match => { "message" => "%{YEAR:Year}%{MONTHNUM:Month}%{MONTHDAY:Day} %{HOUR:Hour}%{MINUTE:Minute}%{SECOND:Second} %{LogLevel:LogVerbosity} %{MODULE:MODULENAME}%{SPACE}%{MESSAGEID:MESSAGEID} %{SUBMODULE:SUBMODULE} %{MESSAGE:MESSAGE}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
ログファイルのサンプル::
20160509 115108 I GEN 0000 ConnectionHandler.reconnect:DBへ を再接続が行われた灰設定ファイルは次のようになります。
20160509 115108 I GEN 0000 84.1.3.1000012:DBへの再接続は でした。
grokデバッガではうまく動作しますが、解析中に何とか失敗しています。
tags:beats_input_codec_plain_applied, _grokparsefailure
誰かが私に助けてください、間違っていますか?
EDIT 1:
私が見ることができるが、最初の数秒間、ログが解析されてきています。しかし、その後、それはエラーを投げている。
すべてのログは本質的に同じフォーマットに従います。また、長いメッセージ用にGREEDYDATAフィルタを追加しました。これを正常に解析できます。私はまだ木場の解析ログを見ることができます。
ログカウントだけが本当に高く、ログファイルの間にも連続した空白行があります。
これらの空白行も解析しますか?
注意あなたの設定 'C:\ Users \ Username \ projects \ Logstash \ logstash \ bin \ patterns'にあるものよりも、それは単なるコピー/ペーストエラーですか? – Val
はい、空白行を解析しようとしている可能性があります –