【问题标题】:Extract specific key and value in Logstash在 Logstash 中提取特定的键和值
【发布时间】:2017-02-25 12:53:53
【问题描述】:

我正在使用 Logastash 从 mysql 收集数据。 Json 结果看起来:

 "_source" : {
            "username" : "room_test@localhost",
            "timestamp" : 1481785195811703,
            "peer" : "user@localhost/1596084304715518942270426",
            "bare_peer" : "user@localhost",
            "xml" : "<message to='room_test1481784717020@localhost' type='groupchat' from='user@localhost'><body>msg</body><jid>456-345</jid></message>",
            "txt" : "msg",
            "id" : 6452,
            "kind" : "groupchat",
            "nick" : "user",
            "created_at" : "2016-12-15T06:59:55.000Z",
            "@version" : "1",
            "@timestamp" : "2017-02-25T12:17:52.043Z"
          }

我需要从“xml”键中提取值作为单独的值。像这样的“jid”:456-345

谢谢

【问题讨论】:

    标签: mysql json logstash


    【解决方案1】:

    Grok 可以处理。

    grok {
      match => {
        "xml" => "<jid>(?<jid>[-0-9]{4,9})</jid>"
      }
    }
    

    这将创建一个等于您提供的值的jid 字段。 XML 中 JID 标记中的值的长度可以在 4 到 9 个字符之间。根据需要进行调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-26
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多