Ich habe gerade einen Graylog2-Server eingerichtet und möchte alle Protokolle von meinem Hauptserver an den Graylog-Server senden. Ich habe die Protokollierung für den Hauptserver aktiviert und sende Protokolle an meinen Graylog-Server, indem ich *.* @logs.example.com:1337
sie hinzufüge /etc/rsyslog.conf
.
Ich möchte, dass Graylog2 alle meine Apache-Protokolle, Systemprotokolle (für SSH-Anmeldungen, abgelehnte Anmeldungen) und alle anderen zu überwachenden Protokolle sammelt.
Für die Apache-Protokolle möchte ich auch die Rails-Protokolle. Meine Seiten befinden sich in /srv/www/
und dann ist die Struktur sitename.com/public_html
und sitename.com/logs
. Ich habe viele Sites auf dem Server und möchte eine einfache Möglichkeit, alle Fehler anzuzeigen und daraus einige schöne Grafiken zu erstellen. Deshalb möchte ich Graylog2 verwenden ...
Die Protokolldateien im Protokollordner sind access.log
und error.log
.
Die Rails-Protokolle wären in sitename.com/public_html/log
. Dies enthält production.log
.
Antworten:
Dies ist alt, aber ich dachte, ich würde diese Methode schreiben, die ich für Websites mit geringem / mittlerem Verkehr verwende (ich weiß nicht, ob sie für Websites mit starkem Verkehr gut funktioniert):
In Apache definiere ich ein CustomLog-Format namens,
graylog2_access
das das Zugriffsprotokoll in ein GELF-Format formatiert, und sende dann mein Protokoll über Graylog2, indem ich die Protokolldaten über nc weiterleite, um GELF-Nachrichten an die Eingabe von Graylog2 zu senden.Hier ist das benutzerdefinierte Format, das erstellt wird (lesbar):
Für die Apache-Konfiguration gibt es hier eine Version zum Kopieren / Einfügen:
Dann in Ihrer Host-Konfiguration:
quelle
Sie können Ihre Protokolldateien auch mit diesem einfachen Befehl an den graylog2-Server senden:
Ich verwende dies hauptsächlich zu Testzwecken, um festzustellen, ob mein Protokollformat für die einfache Abfrage in graylog2 angepasst ist. Für die Verwendung in der Produktion müssen Sie weder rsyslog noch syslog-ng einrichten.
Sie können wahrscheinlich Ihre Rails-Protokolldatei verfolgen und sehen, was passiert.
quelle
Graylog2 akzeptiert nur Protokolle in zwei Formaten: Standard-Syslog und das erweiterte Graylog-Protokollformat (auch bekannt als GELF). Für beliebige Protokolle auf der Festplatte ist ein Prozess von Drittanbietern erforderlich, um die Protokolle zu verarbeiten und in ein für Sie nützliches Formular zu übersetzen.
Schauen Sie sich Logstash an . Die meisten Leute betrachten es als ein Tool zum Indizieren von Protokolldateien mit ElasticSearch, aber es enthält auch einen allgemeinen "Protokollrouter", mit dem Sie eine Reihe von Dateien auf der Festplatte speichern und an eine Protokollierungskomponente wie Graylog senden können.
quelle
Sie können die
apache2gelf
Skripte von hier aus verwenden .quelle