Linux-Monitor-Protokolle und E-Mail-Warnungen?

13

Ich habe einen Server mit einem fehlerhaften Netzschalter, der sich selbst neu starten möchte. Normalerweise gibt es Warnsignale, zum Beispiel, dass die acpid-Protokolldatei in / var / log etwa 10 Stunden lang Spam verschickt.

Gibt es eine einfache Möglichkeit, das acpid-Protokoll von etwas überwachen zu lassen und mir eine E-Mail zu senden, wenn neue Aktivitäten vorliegen?

Ich würde mich nicht als extrem fortgeschritten bezeichnen, daher wären alle "Guides", die Sie zur Erreichung eines solchen Ziels haben, sehr hilfreich und sehr geschätzt. Vielen Dank!

Physikal
quelle
Ist das Ändern des Netzschalters und / oder des Servers eine plausible Lösung?
Meetai.com

Antworten:

19

Sie könnten so etwas wie LogWatch verwenden . Oder sogar ein einfaches Skript wie dieses (es ist ein Pseudo-Code, den Sie für Ihre Umgebung ändern müssen):

 #!/bin/bash
 GREP_STRING=`grep -c <error string> <acpid log location>`
 if [ $GREP_STRING -ne 0 ] 
 then
    <send email notification>
 fi

Geben Sie das in cron ein, damit es jede Stunde oder so ausgeführt wird, und Sie sollten eine E-Mail erhalten, in der Sie informiert werden, wenn es komisch wird.

Zypher
quelle
1
Logwatch funktioniert gut für mich.
J. Zimmerman
3
Das Problem mit diesem Skript ist, dass es den gleichen Fehler immer und immer wieder sendet, bis die Datei gedreht wird
chmeee
Unter Ubuntu / Debian kann Logwatch installiert werden mit: aptitude install -y Logwatch
Meetai.com
8

Mit OSSEC HIDS können Sie Regeln für Protokolldateien einrichten und gleichzeitig Sicherheitsinformationen von Ihrem Host abrufen .

Das Einrichten ist sehr einfach:

  • Laden Sie die Quelle herunter
  • Dekomprimieren Sie es und führen Sie ./install.sh aus
  • Wählen Sie die lokale Installation
  • Beantworten Sie die Fragen (E-Mail, Schecks usw.)
  • Bearbeiten Sie /var/ossec/rules/local_rules.xmlwie unten angegeben
  • Starten Sie OSSEC mit /var/ossec/bin/ossec-control start

local_rules.xml

<group name="local,syslog,">
  <rule id="100001" level="13">
    <regex>^.*Your string.*$</regex>
    <description>I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours</description>
  </rule>
</group>

Regeln können sehr flexibel und komplex sein. In dieser Tabelle erhalten Sie einen Überblick über die Parameter, die an einer Regel beteiligt sind.

Wenn Sie die anderen Sicherheitsfunktionen nicht benötigen oder benötigen, können Sie sie deaktivieren, indem Sie die includeZeilen unter dem rulesTag entfernen .

chmeee
quelle
5

Ich würde vorschlagen, dass Nagios das ist, womit wir arbeiten, um mehrere Maschinen mit einem Netzwerk zu überwachen. Es ist sehr gut, dass ich es nicht speziell für das verwendet habe, was Sie tun, aber Sie können es auf jeden Fall so einstellen, dass Sie per E-Mail benachrichtigt werden, wenn Fehler auftreten.

Es gibt eine Anleitung für die Installation unter Ubuntu http://beginlinux.com/blog/2008/11/install-nagios-3-on-ubuntu-810/ und eine für die Installation unter http: //www.debianhelp. co.uk/nagiosinstall.htm .

Mark Davidson
quelle
3

Und Sie können es mit so etwas senden:

EMAILMSG="/tmp/logreport.$$"
echo "Something to put in the email" >> $EMAILMSG

cat $EMAILMSG | mail -s "Whatever Subject You Like" [email protected]
rm -f $EMAILMGS
Schuh
quelle
3

Ich verwende Zabbix mit IPMI-Tools, um fehlerhafte Server bei Bedarf neu zu starten. Ich denke auch, dass OSSEC eine gute Wahl ist, aber Sie müssen wirklich experimentieren und debuggen, bevor Sie es in ...

Edomaur
quelle
3

Laden Sie Splunk herunter und installieren Sie es auf dem Server. Es ist ähnlich wie Logwatch, bietet Ihnen jedoch eine Suchmaschine für Ihre Logs.

Sie können es so konfigurieren, dass Ihre Protokolle indiziert werden. Anschließend können Sie die Protokolle durchsuchen und nach Mustern suchen, nach Fehlern suchen und nachsehen, was andere Protokolle an diesem bestimmten Fehlerpunkt tun.

Sie können auch festlegen, dass bei bestimmten Schwellenwerten Warnungen gesendet oder Skripts ausgeführt werden. Wenn also ein bestimmter Fehler in Ihr Protokoll gespammt wird, können Sie ein Skript erstellen, um den fehlerhaften Dienst automatisch neu zu starten.

Wir verwenden Splunk in unserem Servercluster und es war ein Lebensretter!

Amischer Aussenseiter
quelle
+1 für Splunk, es sieht ziemlich gut aus. Ich versuche es später heute Abend.
Mark Davidson
1

Bei einem früheren Arbeitgeber haben wir logsurfer + verwendet , um Protokolle in Echtzeit zu überwachen und E-Mail-Benachrichtigungen zu senden. Es ist sehr zeit- und konfigurationsaufwendig, die Suche nach falschen Positiven durchzuführen, aber wir hatten einen Regelsatz, der für eine Reihe von Befunden und Warnungen recht gut funktionierte und für ähnliche Zwecke weitaus wertvoller war als Nagios.

Leider habe ich keinen Zugriff mehr auf die Konfigurationsdatei, um Beispiele für das, was wir gefiltert haben, bereitzustellen, aber die Site sollte mehr Informationen und Beispiele enthalten.

jtimberman
quelle
0

Sie können sich auch mein Octopussy- Projekt ansehen .

sebthebert
quelle