J'ai ELK 5.5.1 en cours d'exécution dans un conteneur Docker, et il analysera la plupart de mes journaux, à l'exception de ceux qui proviennent de mon application Spring. Kinda à court d'idées. Je l'ai tracé jusqu'au pipeline logstash-> elasticsearch. Filebeat fait son travail, et Logstash est la réception des journaux de l'application en question, basée sur le journal stdout de tailash tailing.Instance ELK Docker non coopérative
J'ai effacé le volume de docker qui stocke mes données ELK propres, et a commencé à neuf avec filebeat juste en renvoyant les journaux en question.
Prenez une ligne de journal comme celui-ci:
FINEST|8384/0|Service tsoft_spring|17-08-31 14:12:01|2017-08-31 14:12:01.260 INFO 8384 --- [ taskExecutor-2] c.t.s.c.s.a.ConfirmationService : Will not persist empty response notes
Utilisation d'une configuration logstash très minime, il finirai par être persistaient à ElasticSearch:
input {
beats {
port => 5044
ssl => false
}
}
filter {
if [message] =~ /tsoft_spring/ {
grok {
match => [ "message", "%{GREEDYDATA:logmessage}" ]
}
}
}
output {
stdout { }
elasticsearch { hosts => ["localhost:9200"] }
}
En utilisant une configuration plus complète, le journal est juste ignoré par élastique, pas de faute de retard, pas de dateparsefailure:
input {
beats {
port => 5044
ssl => false
}
}
filter {
if [message] =~ /tsoft_spring/ {
grok {
match => [ "message", "%{WORD}\|%{NUMBER}/%{NUMBER}\|%{WORD}%{SPACE}%{WORD}\|%{TIMESTAMP_ISO8601:timestamp}\|%{TIMESTAMP_ISO8601}%{SPACE}%{LOGLEVEL:loglevel}%{SPACE}%{NUMBER:pid}%{SPACE}---%{SPACE}%{SYSLOG5424SD:threadname}%{SPACE}%{JAVACLASS:classname}%{SPACE}:%{SPACE}%{GREEDYDATA:logmessage}" ]
}
date {
match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss" ]
}
}
}
output {
stdout { }
elasticsearch { hosts => ["localhost:9200"] }
}
J'ai vérifié que ce modèle va analyser cette ligne, en utilisant http://grokconstructor.appspot.com/do/match#result, et j'aurais juré que cela fonctionnait le week-end dernier, mais pourrait être mon imagination.
fils d'une arme à feu ... Je ne peux pas le croire. J'ai déjà vu dateparsefailure dans ce cas. Je ne peux pas le croire - merci beaucoup! – JonasJSchreiber