7/5/2015 10:10:18 AM|KDCVISH01|
|ClassNameUnavailable:MethodNameUnavailable|CustomerView|xwz261|ef315792-5c41-4bdf-aa66-73317e82e4d6|52|6182d1a1-7916-4874-995b-bc9a23437dab|<Exception>
afkh akla 487234 &*<Exception>
问: 1-我很困惑grok或正则表达式模式将只选择我正在寻找的字段而不是来自另一个字段的类似匹配。例如,什么是DATESTAMP模式只选择第一个值而不是最后一个字段中存在的时间戳(保存在堆栈跟踪中)的保证?
2-有没有办法定义位置映射?例如,第1个fiels是dateTime,第2个是机器名,第3个是类名,依此类推。无论字段值是否存在,这都将确保我在Kibana中显示字段。
答案 0 :(得分:0)
我知道我迟到了,但这是一个我正在使用的简单解决方案,
将您的space
替换为filter {
mutate {
gsub => ["message","\|"," "]
}
grok {
match => ["message","%{DATESTAMP:time} %{WORD:MESSAGE1} %{WORD:EXCEPTION} %{WORD:MESSAGE2}"]
}
}
选项1:
|
选项2:filter {
grok {
match => ["message","%{DATESTAMP:time}\|%{WORD:MESSAGE1}\|%{WORD:EXCEPTION}\|%{WORD:MESSAGE2}"]
}
}
{{1}}
工作正常:http://grokdebug.herokuapp.com/。检查一下