我卡住了。我無法理解爲什麼grok在logstash下無法匹配一個簡單的正則表達式。 grok作爲一個獨立的作品很好。 唯一適用於我的模式是「。*」,其他一切都失敗了。logstash無法匹配grok篩選器
$ cat ./sample2-logstash.conf
input {
stdin {}
}
filter {
grok {
match => [ "message1", "foo.*" ]
add_tag => [ "this_is_foo" ]
tag_on_failure => [ "STUPID_LOGSTASH" ]
}
}
output {
stdout { codec => json_lines }
}
下面是輸出:
$ echo "foo" |~/bin/logstash-1.4.0/bin/logstash -f ./sample2-logstash.conf
{"message":"foo","@version":"1","@timestamp":"2014-05-07T00:32:49.915Z","host":"serega-sv","tags":["STUPID_LOGSTASH"]}
看起來像我錯過了做logstash一些事情,因爲香草神交工作得很好:
$ cat grok.conf
program {
file "./sample.log"
match {
pattern: "foo.*"
reaction: "LINE MATCHED! %{@LINE}"
}
}
平原神交的輸出:
$ echo "foo" > ./sample.log; grok -f grok.conf
LINE MATCHED! foo
謝謝!
只是想知道,爲什麼同樣的事情,工作只是甚至「MESSAGE1」很好,如果我改變? –