我有一个包含
形式事件的日志文件<ae cat="fixed" ts="2015-09-11T05:57:27.500-07:00">
<s u="admin"></s>
</ae>
我希望在此文件上使用xml logstash过滤器来解析它并获取@ cat = fixed
filter {
multiline {
pattern => '^<ae'
negate => true
what => "next"
}
xml {
store_xml => "false"
source => "message"
xpath => [ "/ae/@cat", "cat" ]
}
}
这只获得事件的第一行。我已经尝试过几种否定“假”或“先前”的东西,但似乎没有任何效果。
非常感谢任何帮助。
答案 0 :(得分:0)
&#34;如果该行不以&lt; ae开头,请将其与下一行保持一致?&#34;
似乎倒退了。
尝试:
multiline {
pattern => '^<ae'
negate => true
what => "previous"
}
请注意,它不会发布第一条消息,直到下一条消息开始,因此,为了进行测试,请始终粘贴至少两条消息。
我得到的输出:
{
"message" => "<ae cat=\"fixed\" ts=\"2015-09-11T05:57:27.500-07:00\">\n <s u=\"admin\"></s>\n</ae>\n",
"@version" => "1",
"@timestamp" => "2015-09-22T19:39:12.371Z",
"host" => "0.0.0.0",
"tags" => [
[0] "multiline"
]
}