如何在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"
      }
    }