logstash中的GROK自定义图案过滤器

logstash中的GROK自定义图案过滤器,logstash,elastic-stack,logstash-grok,Logstash,Elastic Stack,Logstash Grok,如何在logstash中创建grok自定义模式过滤器? 我想为http响应状态代码创建一个模式 这是我的模式代码 STATUS_CODE __ %{NONNEGINT} __ 我真正想做的是让我的所有web服务器点击用户IP,请求http头和负载,以及web服务器的响应 这是我的logstash.conf input { file { type => "kpi-success" path => "/var/log/kpi_success.log"

如何在logstash中创建grok自定义模式过滤器? 我想为http响应状态代码创建一个模式 这是我的模式代码

STATUS_CODE __ %{NONNEGINT} __
我真正想做的是让我的所有web服务器点击用户IP,请求http头和负载,以及web服务器的响应

这是我的logstash.conf

input {

    file {
      type => "kpi-success"
      path => "/var/log/kpi_success.log"
      start_position => beginning
    }
}

filter {

  if [type] == "kpi-success" {

     grok {
        patterns_dir => ["./patterns"]
        match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{GREEDYDATA:message} "}
     }

     multiline {
            pattern => "^\["
            what => "previous"
            negate => true
     }

     mutate{
          add_field => {
                "statusCode" => "[STATUS_CODE]"
              }
     }
  }
}

output {

    if [type] == "kpi-success" {
        elasticsearch {
            hosts => "elasticsearch:9200"
            index => "kpi-success-%{+YYYY.MM.dd}"
        }
    }
}

您不必使用自定义模式文件,您可以直接在过滤器中定义一个新的模式文件

grok {
   match => { "message" => "(?<STATUS_CODE>__ %{NONNEGINT} __)"}
}
grok{
match=>{“message”=>“(?_u%{NONNEGINT}}}”
}

阅读?是的,我已经阅读了全部文档,但不是很清楚。您能提供一些您试图处理的日志的示例行吗?