[英]logstash : how to extract data from log4j message?
我尝试使用logstash从我的log4j消息中提取数据。 消息看起来像这样:
Method findAll - Start by : bokc
我想提取方法名称:“ findAll”和用户“ bokc”。
我怎样才能做到这一点?
我使用logstash 1.5.2,我的配置是:
input {
log4j {
mode => "server"
type => "log4j-artemis"
port => 4560
}
}
filter {
multiline {
type => "log4j-artemis"
pattern => "^\\s"
what => "previous"
}
mutate {
add_field => [ "source_ip", "%{host}" ]
}
}
使用grok过滤器 :
filter {
grok {
match => [
"message",
"^Method %{WORD:method} - Start by : %{USER:user}"
]
tag_on_failure => []
}
}
这会将两个单词提取到“方法”和“用户”字段中。 tag_on_failure
的设置可确保不匹配的消息不会被_grokparsefailure
标记。 由于大多数消息都不应与模式匹配,因此将它们标记为失败是没有意义的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.