심각한 시스템 오류가 발생할 경우 이메일 알림

심각한 시스템 오류가 발생할 경우 이메일 알림

나는 오류를 찾기 위해 서버의 syslog를 greping하고 있었고 내가 찾고 있던 것과는 아무런 관련이 없지만 충분히 경고하는 다음 줄을 발견했습니다.

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
&  

관련 정보