1
input 
{
  file 
  {
    path => ["D:/logstash-2.3.4/temp/logs/localhost_access_log.2016-08-24.log"]
    start_position => "beginning"
  }
}

filter 
{
  date 
  {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output 
{
  stdout { codec => rubydebug }
}

現在、logstash を実行した後、logstash コマンド ウィンドウに出力が表示されません。つまり、特定のファイル内のログがフェッチされていません。

私の localhost_access_log.2016-08-24 ログ ファイルのサンプル ログの一部を以下に示します。

127.0.0.1 - - [24/Aug/2016:10:07:54 +0530] "GET / HTTP/1.1" 200 11452    
0:0:0:0:0:0:0:1 - - [24/Aug/2016:10:08:09 +0530] "GET /Migration/firstpage.jsp HTTP/1.1" 404 1040    
127.0.0.1 - - [24/Aug/2016:10:08:39 +0530] "GET / HTTP/1.1" 200 11452    
0:0:0:0:0:0:0:1 - - [24/Aug/2016:10:08:41 +0530] "GET /Migration/firstpage.jsp HTTP/1.1" 500 3750    
0:0:0:0:0:0:0:1 - - [24/Aug/2016:10:09:38 +0530] "GET /Mortgage/faces/NewFile.jsp HTTP/1.1" 404 1046

入力コードや日付フィルターコードに問題はありませんか? 私が間違いを犯している場所で誰かが私を助けることができますか?

4

1 に答える 1

0

コンソールからの出力を確認するために、conf ファイルのセクションstdout {}内にこのように空のままにしてみましたか?outputlogstash

@baudsp が述べたように、grokログ ファイルを扱うときはフィルターを使用することをお勧めします。このようなもの:

filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}"}
    }
}

出典: Logstash を使用したログの解析

于 2016-10-25T04:47:25.557 に答える