2017-03-13 10 views
0
My logstash configuration is giving me this error: 

私は、このコマンドを実行するたびにします。/ opt/logstash/binに/ logstash -f /etc/logstash/conf.d/logstash.conf --autoリロード--debugLogstash GROKエラー

reason=>"Expected one of #, {, ,, ] at line 27, column 95 (byte 677) after filter {\n\n\tif [type] == \"s3\" {\n\t\tgrok {\n\t\n \t\t\tmatch => [\"message\", \"%{IP:client} %{USERNAME} %{USERNAME} \\[%{HTTPDATE:timestamp}\\] (?:\"", :level=>:error, :file=>"logstash/agent.rb", :line=>"430", :method=>"create_pipeline"} 

これは私のパターンと関係があります。しかし、Grokオンラインデバッガで同じものをチェックしたところ、私には必要な答えが与えられました。助けてください。

Here is my logstash configuration: 

input { 
    s3 { 
     access_key_id => "" 
     bucket => "" 
     region => "" 
     secret_access_key => "" 
     prefix => "access" 
     type => "s3" 
     add_field => { source => gzfiles } 
     sincedb_path => "/dev/null" 
     #path => "/home/shubham/logstash.json" 
     #temporary_directory => "/home/shubham/S3_temp/" 

     backup_add_prefix => "logstash-backup" 
     backup_to_bucket => "logstash-nginx-overcart" 


} 

} 

filter { 

     if [type] == "s3" { 
       grok { 

         match => ["message", "%{IP:client} %{USERNAME} %{USERNAME} \[%{HTTPDATE:timestamp}\] (?:"%{WORD:request} 
     %{URIPATHPARAM:path} HTTP/%{NUMBER:version}" %{NUMBER:reponse} %{NUMBER:bytes} "%{USERNAME}" %{GREEDYDATA:responseMessage})"] 
     } 
     } 
     } 

output { 
    elasticsearch { 
    hosts => '' 
    index => "accesslogs" 
} 
    } 

答えて

0

あなたはそれが動作するはずの旅行アップパーサを。あなたは、\を有するものをエスケープした場合、(例えば、ユーザ名のVARの周りに)あなたの試合割り当てにエスケープされていない」の文字のカップルを持っている。

+0

私は別のパターンファイルを作成しました。今は問題ありません。ログの時間がキバナの文字列として表示されています。 パターン: NGINXACCESS%{IP:client}%{USERNAME}%{USER_NAME} \ [%{HTTPDATE %{NUMBER:int}%{NUMBER:reponse:int}%{NUMBER:bytes} "%{USERNAME} } "%{GREEDYDATA:responseMessage}) logstashconf: フィルタ{日付{ マッチ=> [ "LOG_TIMESTAMP"、 "DD/MMM/YYYY HH:MM:SS Z"]} –

関連する問題