2013-12-01 5 views
23

Я пытаюсь выполнить засыпку некоторых прошлых данных журнала доступа Apache с помощью logstash, поэтому мне нужно, чтобы событие @timestamp было установлено на дату, отображаемую в сообщении журнала. Это моя текущая конфигурация logstash:Фильтр даты Logstash, не обновляющий @timestamp с отметкой времени Apache

input { 
    tcp { 
     type => "access_log" 
     port => 9293 
    } 
} 

filter { 

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

    date { 
     # Try to pull the timestamp from the 'timestamp' field (parsed above with 
     # grok). The apache time format looks like: "18/Aug/2011:05:44:34 -0700" 
     locale => "en" 
     timezone => "America/New_York" 
     match => { "timestamp" => "dd/MMM/yyyy:HH:mm:ss Z" } 
     add_tag => [ "tsmatch" ] 
    } 

} 

output { 
    stdout { codec => rubydebug } 
} 

Однако дата фильтр не кажется, чтобы обновить @timestamp события, даже если метка время Apache правильно поймала и регулярное выражение должно соответствовать его. Выходные данные выглядят так:

{ 
     "message" => "56.116.21.231 - - [20/Nov/2013:22:47:08 -0500] \"GET /xxxx/1.305/xxxx/xxxx.zip HTTP/1.1\" 200 33002333 \"-\" \"xxxxx/3.0.3 CFNetwork/609.1.4 Darwin/13.0.0\"", 
    "@timestamp" => "2013-12-01T12:54:27.920Z", 
     "@version" => "1", 
      "type" => "access_log", 
      "host" => "0:0:0:0:0:0:0:1%0:51045", 
     "clientip" => "56.116.21.231", 
      "ident" => "-", 
      "auth" => "-", 
     "timestamp" => "20/Nov/2013:22:47:08 -0500", 
      "verb" => "GET", 
     "request" => "/xxxx/1.305/xxxx/xxxx.zip", 
    "httpversion" => "1.1", 
     "response" => "200", 
      "bytes" => "33002333", 
     "referrer" => "\"-\"", 
      "agent" => "\"xxxxx/3.0.3 CFNetwork/609.1.4 Darwin/13.0.0\"", 
      "tags" => [ 
     [0] "tsmatch" 
    ] 
} 

Любые идеи о том, что может быть неправильным?

Я использую flatstar-1.2.2 flatjar.

ответ

27

Хорошо, я нашел эту проблему, я использовал неправильный синтаксис на операции сравнения:

матч => [ "временная метка", "дд/МММ/год: HH: мм: сс Z"]

НЕ

матч => { "метка времени" => "дд/МММ/год: HH: мм: сс Z"}

Смежные вопросы