PSGI-Protokollierung (Perl)

8

Trotz der eher knappen und unklaren Dokumentation und einem effektiven How-To für Anfänger, bin ich zu PSGI geworden und benutze es momentan in einer meiner Anwendungen. Was ich gerne wissen würde, ist, wie ich die Protokollierung über eine Anwendung mit mehreren Knoten verwalten kann? Was gilt als "Best Practice" hinsichtlich der Anmeldung von PSGI?

    
MadHacker 16.01.2012, 16:52
quelle

1 Antwort

5

Ich empfehle die Verwendung von Plack :: Middleware :: AccessLog für die Protokollierung des Zugriffs und Plack::Middleware::LogDispatch für die benutzerdefinierte Protokollierung. Beide wiederum verwenden das beliebte Modul Log :: Dispatch .

Die LogDispatch Middleware-Dokumente zeigen Ihnen derzeit nicht, wie Sie sie verwenden das Protokollierungsobjekt, sobald es eingerichtet ist. Hier ist ein Beispiel:

%Vor%

Um das Problem mit mehreren Knoten zu lösen, können Sie Log :: Dispatch :: Syslog verwenden Das würde die Protokollierung an rsyslog senden, die wiederum die Protokolldaten an einen anderen rsyslog-Server weiterleiten könnte. Auf diese Weise können sich alle Knoten an einem einzigen zentralen Protokollserver anmelden.

Mit der Flexibilität von Log :: Dispatch können Sie auch loggen sowohl lokal als auch remote für Redundanz, wenn Sie möchten. Die Protokolle gesendet an der zentrale Server könnte als primär betrachtet werden, und die Protokollierung erfolgt lokal könnte als Backup betrachtet werden, wenn der zentrale Protokollserver ist für ein bisschen runter.

Die Verwendung eines zentralen Protokollservers hat mehrere Vorteile:

  1. Sie können Ihre Protokolle über den gesamten Cluster an einer Stelle "grepen".
  2. Die Protokollrotation und -analyse ist mit einem Satz Protokolldateien einfacher.
  3. Sie sind besser darauf vorbereitet, Ihren Cluster auf und ab zu skalieren, da Sie einen Knoten ausschalten können, ohne sich um die Protokollierung zu kümmern oder den Server nur so zu betreiben, dass ein Cron-Über-Job zur Verarbeitung der Protokolle ausgelöst wird.

Ich verwende derzeit Log :: Dispach und Rsyslog auf diese Weise, um selbst einen Cluster mit mehreren Knoten zu verwalten.

    
Mark Stosberg 31.05.2012 03:03
quelle

Tags und Links