elk stack - GROK custom pattern filter in logstash -
how create grok custom pattern filter in logstash? want create pattern http response status code here pattern code
status_code __ %{nonnegint} __ what reaaly want have of web server hits user ip , request http headers , payload , web servers's response.
and here 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 => "^\[" => "previous" negate => true } mutate{ add_field => { "statuscode" => "[status_code]" } } } } output { if [type] == "kpi-success" { elasticsearch { hosts => "elasticsearch:9200" index => "kpi-success-%{+yyyy.mm.dd}" } } }
you don't have use custom pattern file, can define new 1 directly in filter.
grok { match => { "message" => "(?<status_code>__ %{nonnegint} __)"} }
Comments
Post a Comment