
Ich habe das Syslog eines Servers nach Fehlern durchsucht und bin auf diese Zeilen gestoßen, die zwar nichts mit dem zu tun hatten, was ich suchte, aber alarmierend genug waren:
kernel: [8456851.218586] ata2.00: irq_stat 0x08000000, interface fatal error
kernel: [8456851.220076] res 50/00:00:80:45:c1/00:00:08:00:00/e0 Emask 0x10 (ATA bus error)
Wie kann ich sicher sein, dass meine Server mich per E-Mail benachrichtigen, wenn ähnliche Fehler auftreten? Ich muss zumindest alle Laufwerksfehler abfangen (bei Servern muss ich vor allem mit Unterbrechungen der Stromversorgung und Festplattenfehlern zurechtkommen). Alles andere, was mit hoher Wahrscheinlichkeit auf einen bevorstehenden Fehler hinweist, ist jedoch eine E-Mail wert, solange ich nicht zu viele falsche Negative erhalte, sodass ich diese E-Mails nicht mehr sorgfältig prüfe.
Antwort1
Ich logcheck
scanne meine Protokolldateien. Einmal pro Stunde werden neue Einträge gescannt und ich bekomme per E-Mail alle unbekannten sowie bekannten Zeilen, die als Aufnahme in den Bericht klassifiziert sind.
Es gibt auch Tools, die Ihre Protokolldateien überwachen und Ihnen eine E-Mail senden, wenn bestimmte Inhalte angezeigt werden.
Antwort2
Ich verwende das ommail
Modul in rsyslog
. Die Konfiguration ist unkompliziert, Sie können mehrere SMTP-Server zum Senden Ihrer Warn-E-Mails verwenden (als Failover):
$template mailSubject,"EMERGENCY:"
$template mailBody," %$NOW% %timereported:8:15% %programname%: %msg%\n"
$ActionMailSMTPServer mail1.example.com
$ActionMailFrom [email protected]
$ActionMailTo [email protected]
$ActionMailSubject mailSubject
$ActionExecOnlyOnceEveryInterval 60
*.emerg :ommail:;mailBody
# begin backup action, carried out if primary fails
$ActionExecOnlyWhenPreviousIsSuspended on
$ActionMailSMTPServer mail2.example.com
$ActionMailFrom [email protected]
$ActionMailTo [email protected]
$ActionExecOnlyOnceEveryInterval 60
&