我正在尝试配置logstash从一个蜜罐中提取日志条目,该蜜罐中的每个条目都有多行。日志配置格式如下:
##############################################
{
"data": [
{
"count": 8,
"honeypot": "anum",
"source_ip": "ip1"
},
{
"count": 10,
"honeypot": "anum",
"source_ip": "ip2"
}
],
"meta": {
...
}
}
##############################################现在,我可以在模式部分中指定获取三个条目("count“、"honeypot”和"source_ip")以及如何获取它们吗?
然后,我可以指定grok模式来使用这三个值吗?
发布于 2016-04-07 18:00:04
您可以尝试以下配置:
input {
stdin {
codec => multiline {
pattern => "\#+"
negate => true
what => previous
}
}
}
filter {
if "multiline" in [tags] {
mutate {
gsub => [
"message", "\n", "",
"message", "\#", ""
]
}
json {
source => "message"
}
if "_jsonparsefailure" not in [tags] {
split {
field=>"data"
}
}
}
}
output {
stdout {
codec => rubydebug
}
}使用split过滤器,您的事件将按多个事件拆分,因此您可以达到以下三个值:
[data][count]
[data][honeypot]
[data][source_ip]https://stackoverflow.com/questions/36460359
复制相似问题