Provare a creare una configurazione per logstash che analizzi correttamente il formato di log di Celery, inclusi gli stacktraces multilinea. Un esempio di output di registrazione potrebbe assomigliare a questo:Codec multilinea Logstash per stacker Celery
[2014-04-15 15:11:27,350: DEBUG/Worker-4] Doing some work.
[2014-04-15 15:11:27,362: ERROR/MainProcess] Task core.tasks.sometask[92dc34bd-8139-4f98-b359-d78caf68381d] raised unexpected: ValueError('Foobar',)
Traceback (most recent call last):
File "./venvs/backend-33/lib/python3.4/site-packages/celery/app/trace.py", line 238, in trace_task
R = retval = fun(*args, **kwargs)
File "./venvs/backend-33/lib/python3.4/site-packages/celery/app/trace.py", line 416, in __protected_call__
return self.run(*args, **kwargs)
File "util.py", line 151, in wrapper
rv = func(self, *args, **kwargs)
File "tasks.py", line 104, in do_something_useful
raise ValueError('Foobar')
ValueError: Foobar
Ad un certo punto mi sono Grok pronto ad analizzare l'output singola linea, ma il multilinea è un problema. Questa configurazione:
input {
stdin {
codec => multiline {
'negate' => true
'pattern' => '^\['
'what' => 'previous'
}
}
}
output {
stdout {
codec => rubydebug
}
}
è preso più o meno direttamente dalla documentazione Logstash per il codec più righe, quando l'eseguo, non produce in uscita a tutti.
Ho provato a utilizzare un filtro multilinea, ma ha prodotto lo stesso risultato, ho anche provato a eseguire logstash con --verbose ma non ha fornito alcuna informazione utile. Cosa sta succedendo qui?
Con i tuoi log e di configurazione, si lavora su di me con logstsash-1.3.3. –
L'ho provato solo con logstash-1.4.0, con l'input del file funziona come un incantesimo. – Blubber
Il filtro multine deve essere dimenticato, è esattamente lo stesso del codec ma non è multi-threadable (es: prestazioni molto cattive) – yesnault