美文网首页
Logstash Filter配置和注意事项——古氪流技术

Logstash Filter配置和注意事项——古氪流技术

作者: goc6 | 来源:发表于2018-06-08 17:18 被阅读0次

    Logstash进行日志采集:

    在Logstash进行日志采集的时候需要使用Filter对数据进行过滤,这里可能会出现message无法匹配的问题,导致message里面存在一些信息如下:

    {"@timestamp":"2018-05-26T10:13:58.335Z","beat":{"hostname":"iZm5e2n9hyq2mxqp6jl4m2Z","name":"iZm5e2n9hyq2mxqp6jl4m2Z","version":"5.6.7"},"input_type":"log","message":"[

    然后才是message,在使用grok进行过滤前,先使用json对数据进行格式转换,后面的正则表达式才能匹配出来,具体filter如下:

    filter {

        if [type] == "pay" {

            json {

                 source => "message"

            }

            grok {

                match => {

                 "message" => "正则"

             }

            overwrite => ["message"]

         }

    }

    其中 Grok可以使用多个进行配置,比如第一个正则里面分离出来了一个字段,在第二个grok里面,可以直接使用第一个里面的字段进行继续分离,如下,message分离出来msg,msg分离出来method,method分离出来module:

    grok {

       match => [

        "message","\[(?\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3})\]\[(?\w*)\s\]\[(?\S*)\]\s(?.*)",

        "message","\[(?\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3})\]\[(?\w*)\s\]\s(?.*)"

       ]

    }

    grok{

       match => {

          "msg" => "^(?[A-Za-z0-9$.*]*)"

       }

    }

    grok {

       match => {

         "method" => "[A-Za-z0-9$*]*.[A-Za-z0-9$*]*.(?[A-Za-z0-9$*]*)"

       }

    }

    转载自:http://blog.goc6.com/view/9

    相关文章

      网友评论

          本文标题:Logstash Filter配置和注意事项——古氪流技术

          本文链接:https://www.haomeiwen.com/subject/sjiasftx.html