Linux

發生嚴重系統錯誤時的電子郵件警報

  • September 2, 2017

我在伺服器上搜尋系統日誌以查找錯誤,並註意到這些行與我正在尋找的內容無關,但足夠警覺:

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 故障比其他任何事情都重要)。然而,任何其他很有可能表明即將發生故障的事情都值得一封電子郵件,只要我沒有收到太多我不再仔細查看這些電子郵件的誤報。

logcheck用來掃描我的日誌文件。它每小時掃描一次新條目,並通過電子郵件將任何未知行以及分類包含在報告中的已知行通過電子郵件發送給我。

還有一些工具可以監視您的日誌文件並在它們確定內容時向您發送電子郵件。

ommailrsyslog. 配置很簡單,您可以使用多個 smtp 伺服器來發送警報電子郵件(作為故障轉移):

$template mailSubject,"EMERGENCY:"
$template mailBody," %$NOW% %timereported:8:15%  %programname%: %msg%\n"

$ActionMailSMTPServer                   mail1.example.com
$ActionMailFrom                         rsyslog@your-server.com
$ActionMailTo                           martin@yahoo.com
$ActionMailSubject                      mailSubject
$ActionExecOnlyOnceEveryInterval        60
*.emerg                                 :ommail:;mailBody

# begin backup action, carried out if primary fails
$ActionExecOnlyWhenPreviousIsSuspended  on
$ActionMailSMTPServer                   mail2.example.com
$ActionMailFrom                         rsyslog@your-server.com
$ActionMailTo                           martin@yahoo.com
$ActionExecOnlyOnceEveryInterval        60
&  

引用自:https://unix.stackexchange.com/questions/159700