
Estaba buscando errores en syslog en un servidor y noté estas líneas que no tenían nada que ver con lo que estaba buscando pero que alertaban lo suficiente:
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)
¿Cómo puedo estar seguro de que mis servidores me avisan con un correo electrónico cuando se producen errores similares? Necesito al menos detectar todos los errores de la unidad (cuando se trata del servidor H/WI, tengo que lidiar con interrupciones en el suministro de energía y fallas de HDD más que cualquier otra cosa). Sin embargo, cualquier otra cosa que tenga una alta probabilidad de indicar una próxima falla es digna de un correo electrónico, siempre y cuando no reciba demasiados falsos negativos y deje de mirar detenidamente estos correos electrónicos.
Respuesta1
Lo uso logcheck
para escanear mis archivos de registro. Escanea nuevas entradas una vez por hora y me envía por correo electrónico las líneas desconocidas, así como las líneas conocidas que están clasificadas para su inclusión en el informe.
También hay herramientas que observarán sus archivos de registro y le enviarán un correo electrónico cuando encuentren cierto contenido.
Respuesta2
Yo uso el ommail
módulo en rsyslog
. La configuración es sencilla, puede utilizar varios servidores SMTP para enviar sus correos electrónicos de alerta (como conmutación por error):
$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
&