web-dev-qa-db-ja.com

重大なシステムエラーが発生した場合の電子メールアラート

サーバー上のsyslogでエラーを調べていたところ、探していたものとは何の関係もないが、十分に警告しているこれらの行に気づきました。

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/Wに関しては、電源の中断とHDDの障害に何よりも対処する必要があります)。ただし、これらの電子メールを注意深く調べるのをやめるほどの誤検知が発生しない限り、今後の失敗を示す可能性が高い他のすべてのものは、電子メールに値します。

4
ndemou

logcheckを使用してログファイルをスキャンします。新しいエントリを1時間に1回スキャンし、不明な行と、レポートに含まれていると分類された既知の行をメールで送信します。

ログファイルを監視し、特定のコンテンツがあったときにメールで通知するツールもあります。

3
BillThor

ommailrsyslogモジュールを使用します。構成は簡単です。アラート電子メールを送信するために複数の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
&  
1
Martin Vegter