Le filtre de date Logstash ne met pas à jour @timestamp avec Apache timestamp
J'essaie de remplir certaines données du journal D'accès Apache avec logstash, donc j'ai besoin que l'event @timestamp soit défini sur la date apparaissant dans le message du journal. C'est ma configuration actuelle de logstash:
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 }
}
Cependant, le filtre de date ne semble pas mettre à jour l'event @timestamp, même si L'horodatage Apache est correctement saisi et que l'expression régulière doit correspondre. Les données de sortie ressemblent à ceci:
{
"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"
]
}
Des idées sur ce qui pourrait être mal?
Je suis utilisation du Logstash-1.2.2 flatjar.
23
demandé sur
nuqqsa
2013-12-01 17:06:32
1 réponses
Ok, j'ai trouvé le problème, j'utilisais la mauvaise syntaxe sur l'opération de correspondance:
Je ne sais pas si C'est le cas." ]
Pas
Match = > {"horodatage" = > "JJ / MMM / aaaa: HH: mm: ss Z"}
28
répondu
nuqqsa
2013-12-01 13:49:52