| Monitorare il sistema con Inotify e Incron |
| Linux |
| Lunedì 20 Febbraio 2012 21:27 |
|
Inotify è un ottimo sistema di notifica, presente dalla versione del Kernel 2.6.13 e sempre più usato nelle varie distro. Grazie a questo "nuovo" sistema è possibile accorgersi di eventuali modifiche e danni in tempo quasi reale, rispetto invece ai più vecchi sistemi tipo dnotify. Se poi lo controlliamo con inron il sistema diventa quasi perfetto. Incron è un programma che prende molto da cron, anche se in verità incron non ha nulla a che vedere con lo scheduling. Cron infatti svolge azioni periodiche, mentre incron rimane in ascolto e cattura gli eventi di inotify. Per prima cosa installiamo incron. Dovrebbe essere presente su tutte le distro; su Archlinux:
La tabelle di inrcond sono divise in tre colonne:
Per quanto riguarda l'evento da rilevare abbiamo a disposizione un'ampia scelta:
Insomma ce ne è per tutti i gusti. Per controllare gli eventi possiamo usare incrontab (simile a crontab). Per vedere gli eventi per l'utente corrente:
Io ho un solo evento impostato per root. Per aggiungere o modificare una tabella possiamo usare lo switch -e e poi modificare il tutto usando l'editor predefinito (che in genere è Vim). Nel mio caso controllo la directory di Apache, controllando qualsiasi evento. Con il comando logger scrivo dentro a /var/log/messages.log il messaggio ATTENZIONE ogni qualvolta succede qualcosa. Questo un altro esempio: /srv/http IN_ALL_EVENTS logger "ATTENZIONE IN $@ è avvenuto $%" Facciamo una prova:
I vari simboli che iniziano con $ sono delle variabili sotto forma di argomento e ce ne sono diversi:
Un problema di inotify, però, è che non riesce a controllare anche le subdirectory. Quindi a meno che non vogliamo inserire una tabella per ogni directory dobbiamo modificare qualcosa del genere:
Con questo comando creiamo il file /etc/incron.d/webroot.conf con dentro il risultato del comando find. Riavviamo il demone e facciamo qualche prova! |
| Ultimo aggiornamento Martedì 21 Febbraio 2012 13:43 |


