我一直在尝试解析从海狸发送到我的logstash索引器的rails日志条目。但是某些条目根本没有进入过滤器部分,而是以原始状态出现在我的 kibana 仪表板上(即没有提取字段)。
beaver conf
path:[path to the log]
exclude:[.gz]
multiline_regex_before = ^s+
multiline_regex_after = ^F
基本上,任何以新行开头并以 F 开头的东西都是多行条目。
logstash conf
input {
sqs{ ------parameters for the queue------- } }
filter {
grok {
match => ["message","%{NOTSPACE:level}, [%{TIMESTAMP_ISO8601:timestamp} #%{POSINT:pid}]%{SPACE}%{LOGLEVEL:event_level} -- %{GREEDYDATA:info}"] }
multiline {
pattern => ^F
what => next
negate => false
}
output {
elasticsearch_http {
host => "host
address" port "80" }
}
示例日志条目:
E, [2015-03-10T10:52:34.125841 #26480] ERROR -- : [1;32mDeface:[0m 'auth_shared_login_bar' matched 0 times with 'li#search-bar'</b>
谢谢。但是我让它正常工作..基本上,在logstash的实例中,有两个使用不同的配置文件运行,其中一个没有用于rails日志的grok模式。我刚刚杀死了这个过程,它工作得很好。