Revisé varias de las opciones mencionadas en esta página y terminé usando algo mucho más simple:muestra.
Esos otros sistemas son excelentes para manejar los registros del sistema existentes o con el software en el que no tiene control sobre la salida. Simplemente no quería escribir un montón de código para enviar notificaciones por correo electrónico todavía. Así que acabo de crear un archivo de muestra como este:
watchfor /./
mail addresses=me\@example.com:other\@example.com,subject=log_alert
Y luego comenzó con
swatch -c send-me-everything.swatch -t /my/app/urgentevents
Es crudo, pero como controlo la salida del archivo de registro, no necesito nada más complicado todavía.
Antes de ir a una solución de peso pesado (Zenoss), solíamos usar logcheck, que es parte de Debian, pero también se puede trasladar fácilmente a otras distribuciones. Lo estaba usando en Gentoo. Las distribuciones como RHEL vienen con logwatch, que hace algo similar.
La mejor manera es utilizar un programa de análisis de registros.
OSSEC, por ejemplo, es gratuito/de código abierto y le permite ver tantos archivos de registro como desee y generar alertas por correo electrónico (o incluso respuestas activas) para ciertos eventos.
Enlace:http://www.ossec.net
Lo sé, piratear un script de shell es divertido, pero mucho menos estable que un programa maduro que se está desarrollando durante años. Además, si en el futuro necesita ampliar su secuencia de comandos o agregar más disparadores, se vuelve mucho más complicado. OSSEC (y otras herramientas) tienen este marco hecho para usted.