iwatch, monitorizando filesystem local

Aunque existen herramientas para monitorización en red mucho mejores, como es el caso de zabbix, del que ya hemos hablado en este blog varias veces, y que también permite controlar en tiempo real los cambios en ficheros o carpetas alertando de ello, en este caso vamos a ver una pequeña utilidad para equipos aislados. Si trabajamos o controlamos una red muy amplia es buena idea centralizar la monitorización, sin embargo si lo único que nos interesa es tener controlado un equipo, iwatch, es el software que necesitamos.
iwatch es un monitor que está chequeando y avisa, en tiempo real, de cambios en ficheros o directorios. Permite controlar cambios en los atributos, cambios en el contenido, apertura, movimiento, creación de ficheros, etc. Con todo esto envía un correo a la cuenta configurada, que puede ser distinta por recurso y también puede restaurar el contenido original. A bajo nivel, iwatch es un pequeño script escrito en perl que monitoriza los ficheros indicados y actúa según lo establecido.
Para usarlo, primero lo instalamos.
shell> apt-get install iwatch
Una vez instalado, tenemos que indicarle que se ejecute. Hay dos formas de ejecución. En modo daemon o en modo comando, que no devuelve la shell. Nos interesa dejarlo como daemon, por lo tanto, permitimos que arranque como tal.
shell> vi /etc/default/iwatch
## iwatch configuration file

# START_DAEMON:
#   should iwatch start the iwatch daemon during boot?
START_DAEMON=true

# CONFIG_FILE:
#   configuration file for iwatch daemon
#
CONFIG_FILE=/etc/iwatch/iwatch.xml
Ahora sólo queda indicar lo que deseemos monitorizar y qué hacer cuando se detecte algún cambio. El fichero a editar es /etc/iwatch/iwatch.xml. Un pequeño fichero xml muy sencillo de entender y editar. Se especifica el recurso, el mail destino de las alertas y las carpetas o ficheros a controlar.
shell> vi /etc/iwatch/iwatch.xml 
<config>
  <guard email="root@localhost" name="IWatch"/>
  <watchlist>
    <title>Operating System</title>
    <contactpoint email="root@localhost" name="Administrator"/>
    <path type="single" syslog="on">/bin</path>
    <path type="single" syslog="on">/sbin</path>
    <path type="single">/etc</path>
    <path type="recursive">/lib</path>
    <path type="exception">/lib/modules</path>
  </watchlist>
</config>
Sólo queda arrancarlo y cuando se detecte algún cambio, enviará un mail con la advertencia, según la configuración.
shell> /etc/init.d/iwatch start
Un ejemplo de email de alerta recibido se muestra a continuación,
subject: [iWatch] desktop_1: /etc/resolv.conf is changed
[14/Mar/2012 15:12:39]
IN_CLOSE_WRITE /etc/resolv.conf
* /etc/resolv.conf is closed


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios