Quelqu'un peut-il me dire ce que je fais de mal, ou pourquoi Logstash ne veut pas analyser un horodatage ISO8601?Erreur de l'analyseur de logstash, l'horodatage est mal formé
Le message d'erreur que je reçois est
action a échoué ... "erreur" => { "type" => "mapper_parsing_exception", "raison" => "a échoué à analyser [timestamp]" "Because_by" => {"type" => "illegal_argument_exception", "raison" => "Invalide format: \" 2017-03-24 12: 14: 50 \ "est malformé à \" 17-03- 24 12: 14: 50 \ ""}}
ligne du fichier journal de l'échantillon (dernier octet d'adresse IP remplacée par 000 sur le but)
2017-03-24 12:14:50 87.123.123.000 12345678.domain.com GET /smil:stream_17.smil/chunk_ctvideo_ridp0va0r600115_cs211711500_mpd.m4s - HTTP/1.1 200 750584 0.714 "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" https://referrer.domain.com/video/2107 https fra1 "HIT, MISS" 12345678.domain.com
motif GROK (utilisez http://grokconstructor.appspot.com/do/match pour vérifier)
RAW %{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{IPV4:clientip}%{SPACE}%{HOSTNAME:http_host}%{SPACE}%{WORD:verb}%{SPACE}\/(.*:)?%{WORD:stream}%{NOTSPACE}%{SPACE}%{NOTSPACE}%{SPACE}%{WORD:protocol}\/%{NUMBER:httpversion}%{SPACE}%{NUMBER:response}%{SPACE}%{NUMBER:bytes}%{SPACE}%{SECOND:request_time}%{SPACE}%{QUOTEDSTRING:agent}%{SPACE}%{URI:referrer}%{SPACE}%{WORD}%{SPACE}%{WORD:location}%{SPACE}%{QUOTEDSTRING:cache_status}%{SPACE}%{WORD:account}%{GREEDYDATA}
configuration Logstash (côté entrée):
input {
file {
path => "/subfolder/logs/*"
type => "access_logs"
start_position => "beginning"
}
}
filter {
# skip first two lines in log file with comments
if [message] =~ /^#/ {
drop { }
}
grok {
patterns_dir => ["/opt/logstash/patterns"]
match => { "message" => "%{RAW}" }
}
date {
match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss" ]
locale => "en"
}
# ... (rest of the config omitted for readability)
}
Pouvez-vous envoyer votre mappage Elasticsearch pour cet index (en particulier le champ 'timestamp')? – fylie