
Я искал ошибки в системном журнале на сервере и заметил эти строки, которые не имели никакого отношения к тому, что я искал, но были достаточно настороженными:
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)
Как я могу быть уверен, что мои серверы оповещают меня по электронной почте, когда происходят подобные ошибки? Мне нужно, по крайней мере, перехватывать все ошибки дисков (когда дело касается серверного H/WI, то больше всего приходится иметь дело с перебоями в подаче питания и отказами HDD). Однако все остальное, что имеет высокую вероятность указания на предстоящий сбой, заслуживает отправки по электронной почте, пока я не получаю слишком много ложных отрицательных результатов, чтобы перестать внимательно изучать эти письма.
решение1
Я использую logcheck
для сканирования своих лог-файлов. Он сканирует новые записи раз в час и отправляет мне по электронной почте любые неизвестные строки, а также известные строки, которые классифицируются как включение в отчет.
Существуют также инструменты, которые будут отслеживать ваши файлы журналов и отправлять вам электронные письма при обнаружении в них определенного контента.
решение2
Я использую ommail
модуль в rsyslog
. Настройка проста, вы можете использовать несколько smtp-серверов для отправки ваших оповещений по электронной почте (в качестве отказоустойчивого решения):
$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
&