
Bei mir laufen einige Server auf AWS und alle kritischen Dienste werden von Nagios/Icinga überwacht.
Wir versuchen herauszufinden, wie wir alle Protokolle am besten überwachen können – system, DB, PHP, Apache, etc
auf dem System, damit wir sofort per E-Mail über Probleme informiert werden (z. B. dass Apache max_clients
gestern den Schwellenwert erreicht hat). Derzeit sehen wir uns die Protokolle nur an, wenn ein Dienst ausfällt, nicht vorher, was schlecht ist.
Ich bin neu in der Linux-Administration und habe nach einer Onlinesuche die folgenden Optionen gefunden:
- Nagios-SkripteProtokolle überwachen- Das Problem besteht darin, dass die meisten von ihnen jeweils nur eine Protokolldatei auf einen bestimmten regulären Ausdruck prüfen. Es ist nicht skalierbar, für jede Protokolldatei einen Dienst zu installieren (ich kenne nicht einmal alle Protokolldateien, die wir überwachen müssen!)
- Ein Dienst wie logrobot.com– Ich bin mir jedoch nicht sicher, wie effektiv das ist.
Ich freue mich über Ihren Rat, wie ich alle diese Protokolle am besten und mit minimaler Konfiguration auf mehreren Servern überwachen kann.
Antwort1
Ich weiß nicht, wie viele Server/Protokolle Sie überwachen müssen, aber es gibt viele Lösungen da draußen
kleine Umgebung
Verwenden Sie rsyslog und ein Frontend Ihrer Wahl (z. B. LogAnalyzerhttp://loganalyzer.adiscon.com/)
größere Umgebung
Wir überwachen unsere Serverprotokolle von (+300-System) mit Beaver als Logshipper, Logstash als Indexer und Elasticsearch als Backend. Diese Lösung skaliert bis zu [hier beliebige Zahl einfügen] Hosts ;)
Antwort2
Grundsätzlich sollten Sie die Protokolle nicht (zumindest nicht nur) auf demselben Host lesen, sondern stattdessen eine Art Protokollserver verwenden, der alle Protokolle der Server zentralisiert.
ich habe dieses Setup verwendet, um sicherzustellen, dass die Protokolle nach der Eingabe nicht geändert werden.
Verwenden Sie zusätzlich einfach logcheck und lassen Sie die Protokolle für Sie überprüfen.
Im Grunde handelt es sich dabei um eine Prüfung auf Zeilen, die Sie für akzeptabel halten und die ignoriert werden können, und es werden Ihnen nur die Zeilen gesendet, die Sie logcheck nicht zuvor zum Ignorieren angewiesen haben.
Sie können es einfach auf jedem Server installieren.
für eine grafische Version, die zählt, wie viele schwerwiegende Protokolleinträge usw.
Logzilla ist eine nette Option, allerdings nicht mehr kostenlos.
Antwort3
Ich habe ein paar Tage lang nach „Log-Management-Lösungen“ gesucht und genau die Tools gefunden, nach denen ich gesucht habe. Die folgenden 3 Tools sind Cloud-basierte Logging-Tools, die einfach einzurichten und zu konfigurieren sind. Sie senden Systemprotokolle und benutzerdefinierte Protokolle an ihre Server, speichern sie, ermöglichen die Suche und richten E-Mail-/Webhook-Warnungen für Regex-Muster ein.
- Papier Spur- die mit Abstand einfachste/schnellste Schnittstelle (wie tail -f auf einem Terminal). Auch der Preis ist äußerst erschwinglich. Sie müssen jedoch einige Zeit damit verbringen, es für benutzerdefinierte Protokollierung (Apache, MySQL, Ihre Anwendung) zu konfigurieren. Ihr auf Go basierender Log-Shipper (derzeit in der Beta-Version) ist sehr speichereffizient und ich kann die Protokolldateien, die er überwachen muss, über ein GIT-Repository bereitstellen.
- Logeinträge- auch ziemlich einfach. Am einfachsten lässt sich benutzerdefiniertes Logging über den „le“-Daemon einrichten. Er hat ziemlich viele Funktionen und wirkt dadurch im Vergleich zu Papertrail aufgebläht. Der kostenlose Plan ist für Startups ziemlich umfangreich.
- Loggly- Bieten alles, was die anderen beiden auch tun, aber es war ziemlich kompliziert, sich hier einzuloggen. Und ihr kostenloser Plan bietet keine Warnmeldungen.
Antwort4
Was logrobot.com betrifft, gibt es jetzt eine kostenlose Version davon, die genau das tut, was Sie brauchen, und die Sie hier herunterladen können:
http://www.logxray.com/logxray.zip
Um es zur Lösung Ihrer Probleme zu verwenden, können Sie logxray folgendermaßen ausführen:
./logxray localhost:emailing /apps/logxray autonda /var/log/messages 60m 'Kernel|Fehler|Panik|Fehler' 'Zeitüberschreitung' 1 2 -show error_check [email geschützt]
So überwachen Sie mehrere Protokolle oder bestimmte Protokolle in einem bestimmten Verzeichnis:
./logxray localhost /apps/logxray autoblz /var/protokoll 60m 'Panik|Fehler' '.' 1 1 directory_error_watch -ndfoundn
http://www.logXray.com(für weitere Informationen oder Dokumentation zur Verwendung des Tools)