2017-10-06 3 views
-1

ich ein„Ding“müssen auf einem Host-Sitzung zu hören Protokolle, um Text von einer Quelle (fluentd), die ich für abfragen kann:Log-Speicher mit `Schwanz -f` Funktionalität

  • gespeicherten Protokolle für eine bestimmte Zeit Fenster
  • gespeicherten Protokolle mit einfachen filtern (ähnlich grep)
  • Live-Feed (ähnlich tail -f)

Meine aktuelle Idee ist fluentd haben Protokolle in eine einfache alte RDBMS zu senden (Postgres) aCH die ersten beiden, aber ich kenne keine fertige Lösung für die dritte. Ich bin nicht darüber hinaus, selbst zu schreiben, aber ich kann nicht glauben, niemand tat dies bereits :-)

Auch, zögern Sie nicht, einen anderen Speicher vorschlagen, ich bin nicht mit Postgres verheiratet, es ist nur etwas von der Spitze von meinem Kopf.

Antwort

1

Sie können versuchen, die MongoDB output plugin in capped Sammlungen schreiben, die eine Art tail -f mit tailable MongoDB Cursor unterstützt.

Sie haben sogar ein Skript mongo-tail, um damit im GitHub Plugin Repo zu helfen.

Wenn Sie dieses mit dem neuesten MongoDB-Plugin über Fluentd v0.12 verwenden - das einige nützliche Funktionen über das stabile Fluentd hat - müssen Sie möglicherweise einen Bugfix anwenden (der darauf wartet, dass er stromaufwärts angewendet wird), um gecappte Sammlungen sicherzustellen sind korrekt erstellt und Tailing funktioniert gut - siehe https://github.com/fluent/fluent-plugin-mongo/pull/91.