2017-10-17 2 views
0

Ich habe Schienen Anwendung auf Passagier-Webserver im Docker Container ausgeführt. Ich versuche, Anwendungsprotokolle an Logstash umzuleiten. Ich leite Rails-Logs auf STDOUT um und konfiguriere Container, um den gelf-Log-Treiber zu verwenden, der STDOUT an einen gegebenen Logstash-Server weiterleitet. Aber Problem entsteht: Passagierwebserver schreibt seine eigenen Protokolle zu STDOUT auch. Und ich bekomme eine Mischung aus zwei Logs, was es schwierig macht, zu trennen und zu analysieren.Logging zu Logstash: separate Protokolle von verschiedenen Anwendungen in einem Container

Was sind Best Practices in einer solchen Situation? Wie kann ich jeden Protokolldatenstrom beschriften, um ihn im Logstash zu trennen?

Antwort

0

Wenn Sie wirklich wollten, könnten Sie Passenger so konfigurieren, dass sie in ihr eigenes stdout-Protokoll schreibt, aber ich würde vermeiden, STDOUT als Vermittler für logstash zu verwenden.

Versuchen Sie eine Bibliothek wie logstash-logger. Sie könnten dann in eine separate Datei, einen Socket oder eine Datenbank schreiben. Ich denke, das ist ein sauberer Ansatz und möglicherweise schneller, abhängig vom Protokollziel.

+0

Aber es wäre besser. wenn ich Passagier Protokolle Logstash zu speichern könnte auch –

+0

Ich konnte Logstash-Logger jetzt nicht mehr funktionieren - ich bekomme Fehler Pufferüberlauf ... –

Verwandte Themen