2014-04-16 14 views
5

Próba utworzenia konfiguracji dla programu logstash, który poprawnie analizuje format dziennika Celery, w tym wielowierszowe wątki stosu. Przykładem wyjściu rejestrowania może wyglądać następująco:Kodek multilin Logstash dla stackerów stosu 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 

W pewnym momencie dostałem Grok gotowy do analizowania wyjście jednego wiersza, ale wielowierszowego jest problem. Taka konfiguracja:

input { 
    stdin { 
     codec => multiline { 
      'negate' => true 
      'pattern' => '^\[' 
      'what' => 'previous' 
     } 
    } 
} 

output { 
    stdout { 
     codec => rubydebug 
    } 
} 

Czy podejmowane bardziej lub mniej bezpośrednio z dokumentacji Logstash dla wielowierszowego kodeka, kiedy go uruchomić, nie produkuje wyjście w ogóle.

Próbowałem używać zamiast tego filtru wielowierszowego, ale przyniosło to ten sam wynik, próbowałem też uruchomić logstash za pomocą --verbose, ale nie dostarczyłem żadnych użytecznych informacji. Co tu się dzieje?

+0

Z dzienników i konfiguracji, to działało na mnie z logstsash-1.3.3. –

+0

Próbowałem tylko z logstash-1.4.0, z wejściem pliku działa jak urok. – Blubber

+0

Filtr wielowierszowy powinien zostać zapomniany, jest ściśle taki sam jak kodek, ale nie jest wielowątkowy (np. Bardzo zła wydajność) – yesnault

Odpowiedz