Ho verificato molte delle opzioni menzionate in questa pagina e ho finito per utilizzare qualcosa di molto più semplice:swatch.
Questi altri sistemi sono ottimi per gestire i registri di sistema esistenti o con software in cui non si ha il controllo sull'output. Non volevo ancora scrivere un mucchio di codice per fare notifiche via email. Quindi ho appena creato un file campione come questo:
watchfor /./
mail addresses=me\@example.com:other\@example.com,subject=log_alert
E poi l'ho avviato con
swatch -c send-me-everything.swatch -t /my/app/urgentevents
È rozzo, ma dato che controllo l'output del file di log, non ho ancora bisogno di niente di più complicato.
Prima di passare a una soluzione pesante (Zenoss) usavamo logcheck che fa parte di Debian ma può essere facilmente portato anche su altre distribuzioni. Lo stavo usando su Gentoo. Le distribuzioni come RHEL sono dotate di logwatch, che fa qualcosa di simile.
Il modo migliore è utilizzare un programma di analisi dei log.
OSSEC, ad esempio, è gratuito/open source e ti consente di controllare tutti i file di registro che desideri e di generare avvisi e-mail (o anche risposte attive) per determinati eventi.
Collegamento:http://www.ossec.net
Lo so, l'hacking di uno script di shell è divertente, ma molto meno stabile di un programma maturo sviluppato da anni. Inoltre, se in futuro avrai bisogno di estendere il tuo script o aggiungere più trigger, diventerà molto più complicato. OSSEC (e altri strumenti) hanno creato questo framework per te.