好的,看起来好像是问题所在,您对多行编解码器和XML过滤器感到困惑。
我可以建议您设置多行:
prec => multiline { pattern => "<ServiceSalesClosed>" negate => "true" what => "previous"}这将采用 不 包含此标记的任何行,并将其与以前的行保持一致。这应该将XML节分成可分析的块。您应该在中看到此结果
_source。
然后在您的 过滤器中 :
filter { xml => { source => "message" target => "xml_content" xpath => [ "//ErrorLevel", "error_level" ] }}然后,这应该解析您的XML,在elasticsearch DB中为“
xml_content”创建字段(包括您解析的XML),而且还应专门提取
ErrorLevel到它自己的字段中。



