Logstash 配置(三)filter配置

自定义类型(用处少)

更多时候logstash grok没办法提供你所需要的匹配类型,这个时候我们可以使用自定义。

创建自定义 patterns 文件。

①创建一个名为patterns其中创建一个文件postfix (文件名无关紧要,随便起),

[root@bigdata111 confs_test]# vi patterns

在该文件中,将需要的模式写为模式名称,空格,然后是该模式的正则表达式。例如:

POSTFIX_QUEUEID [0-9A-F]{10,11}

②然后使用这个插件中的patterns_dir设置告诉logstash目录是你的自定义模式。

配置:

input {

    stdin {

        type => "std"

    }

}

filter {

  grok {

    patterns_dir => ["./patterns"]

    match => { "message" => "%{SYSLOGBASE} %{POSTFIX_QUEUEID:queue_id}: %{GREEDYDATA:syslog_message}" }

  }

}

output{stdout{codec=>rubydebug}}

 -------------------------------------------------------

输入:

Jan  1 06:25:43 mailserver14 postfix/cleanup[21403]: BEF25A72965: message-id=<20130101142543.5828399CCAF@mailserver1

输出:

{

          "queue_id" => "BEF25A72965",

           "message" => "Jan  1 06:25:43 mailserver14 postfix/cleanup[21403]: BEF25A72965: message-id=<20130101142543.5828399CCAF@mailserver1",

               "pid" => "21403",

           "program" => "postfix/cleanup",

          "@version" => "1",

              "type" => "std",

         "logsource" => "mailserver14",

              "host" => "zzc-203",

         "timestamp" => "Jan  1 06:25:43",

    "syslog_message" => "message-id=<20130101142543.5828399CCAF@mailserver1",

        "@timestamp" => 2019-03-19T05:31:37.405Z

}

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3