如何在logstash中解析XML日志文件
我有一个如下的示例日志文件如何在logstash中解析XML日志文件,logstash,kibana,kibana-4,logstash-grok,Logstash,Kibana,Kibana 4,Logstash Grok,我有一个如下的示例日志文件 <error message="file missing"> <value>01</value> </error> <dealer id="01" data="some text">Approved</dealer> 01 经核准的 我想解析上述代码,并想在Kibana中显示数据,如@message=“file missing”、@value=“01”、@dealer\u id
<error message="file missing">
<value>01</value>
</error>
<dealer id="01" data="some text">Approved</dealer>
01
经核准的
我想解析上述代码,并想在Kibana中显示数据,如@message=“file missing”、@value=“01”、@dealer\u id=“01”、@dealer\u data=“some text”
我是麋鹿框架的新手。我已经尝试过使用xpath过滤器,但如果有人帮助我处理示例代码,那将是一个很大的帮助。如果您的示例是一条消息,它需要一个容器,例如:
<foo>
<error message="file missing">
<value>01</value>
</error>
<dealer id="01" data="some text">Approved</dealer>
<foo>
可以使用xpath获取数据,如下所示:
xml {
source => "message"
store_xml => false
xpath => {
"//site/text()" => "site"
"//dateCreation[1]/text()" => "date_creation"
"//commande:Tiers[1]/identifiant/text()" => "tiers_id"
}
}
然后xpath的每个结果都存储在目标字段中
您可以替换/删除事件的现有字段,以仅保留所需的数据。您尝试过XML筛选器吗?对我试过了。筛选器{xml{source=>“@message”存储_xml=false xpath[“/error/@message”,“message”,“/error/value”,value]}。我得到的输出像@message=“01已批准”。我想拆分上面提到的输出,然后如何从经销商id、数据和值标签中获取数据。你能把解析代码贴出来吗。
xml {
source => "message"
store_xml => false
xpath => {
"//site/text()" => "site"
"//dateCreation[1]/text()" => "date_creation"
"//commande:Tiers[1]/identifiant/text()" => "tiers_id"
}
}