2017-07-26 19 views
2

logstashでgrokカスタムパターンフィルタを作成するには? 私は、WebサーバーのすべてのユーザーのIPでヒットすることです私はreaaly何をしたいのか、ここで私のパターンコードLOGSTASHのGROKカスタムパターンフィルタ

STATUS_CODE __ %{NONNEGINT} __ 

があるHTTP応答ステータスコード のパターンを作成したいとHTTPヘッダとペイロードを要求し、ウェブサーバーの応答

、ここでは私の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}" 
     } 
    } 
} 
+0

は、[ドキュメント](https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#_custom_patterns)を読みますか? – baudsp

+0

はい私はすでに文書全体を読みましたが、それほど明確ではありません – mhndev

+0

処理しようとしているログのサンプル行をいくつか提供できますか? – niglesias

答えて

1

である、あなたはフィルターに直接新しいものを定義することができます。

grok { 
    match => { "message" => "(?<STATUS_CODE>__ %{NONNEGINT} __)"} 
} 
関連する問題