grok の解析に問題があります。ElasticSearch/Kibana では、一致する行に _grokparsefailure というタグが付いています。
これが私のlogstash構成です:
input {
file {
type => logfile
path => ["/var/log/mylog.log"]
}
}
filter {
if [type] == "logfile"
{
mutate {
gsub => ["message","\"","'"]
}
grok
{ match => { "message" => "L %{DATE} - %{TIME}: " } }
}
}
output {
elasticsearch { host => localhost port => 9300 }
}
一致させようとしている行/パターン: L 2014 年 8 月 2 日 - 22:55:49: ログ ファイルが閉じられました:「完了」
http://grokdebug.herokuapp.com/でデバッガーを試してみましたが、正常に動作し、パターンが正しく一致しました。
解析したい行には二重引用符が含まれている可能性があり、grok がそれらを処理およびエスケープする方法に問題がある可能性があることを読みました。そのため、問題を回避するために " を ' に置き換えて変異させようとしましたが、うまくいきませんでした。
何か案は ?これをデバッグするにはどうすればよいですか?
ありがとう