h1

Monitorizar máquinas virtuales VirtualBox con Monit

09/01/2009

Utilizando Monit se puede controlar el estado de procesos de una máquina, y actuar en consecuencia automaticamente en función del estado de los mismos. Es necesario distinguir los dos proyectos del mismo equipo de desarrollo: Monit (opensource) y M/Monit, comercial.

En el caso de que se estén ejecutando máquinas virtuales con VirtualBox, éstas se pueden levantar en caso de caída, cumpliendo siempre los siguientes requisitos:

Instalar VirtualBox como un demonio (servicio), tantas veces como máquinas virtuales se tengan.
– Cada máquina virtual debe tener activado el servicio “RemoteDisplay” (vdrp) con un puerto distinto logicamente.

Configurado esto, sería necesario añadir en /etc/monit/monitrc el siguiente código adaptándolo a la situación particular:

check host VirtualBox-Monowall with address 127.0.0.1
start program = "/etc/init.d/virtualbox-Monowall start"
stop program = "/etc/init.d/virtualbox-Monowall stop"
if failed port 3389 then restart

Donde habría que cambiar el nombre, la ruta del demonio y el puerto.
Hecho esto, reiniciar el servicio y hacer una prueba matando el proceso:

$ sudo /etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.

$ ps axu | grep VB
carlos 14786 5.9 10.2 191844 91860 ? Sl 22:05 2:12 /usr/lib/virtualbox/VBoxHeadless -comment Monowall -startvm 8ea024df-49f2-4d1f-bd5c-f3ba15aacb37

$ kill -9 14786

Tras esperar el tiempo definido en Monit para chequear el sistema, se puede ver en el log de Monit como arranca la máquina:

$ tail -10f /var/log/monit.log
[CET Jan 8 22:05:33] error : 'VirtualBox-Monowall' failed, cannot open a connection to INET[127.0.0.1:3389] via TCP
[CET Jan 8 22:05:36] info : 'VirtualBox-Monowall' trying to restart
[CET Jan 8 22:05:36] info : 'VirtualBox-Monowall' stop: /etc/init.d/virtualbox-Monowall
[CET Jan 8 22:05:36] info : 'VirtualBox-Monowall' start: /etc/init.d/virtualbox-Monowall

$ ps axu | grep VB
carlos@shirley:~/.VirtualBox/Machines/Monowall$ ps aux | grep VB
carlos 16204 27.6 10.2 191516 91800 ? Sl 22:48 0:27 /usr/lib/virtualbox/VBoxHeadless -comment Monowall -startvm 8ea024df-49f2-4d1f-bd5c-f3ba15aacb
37
carlos 16341 0.0 0.1 7468 896 pts/4 S+ 22:50 0:00 grep VB
carlos 30314 0.0 0.2 24356 2060 ? S 14:29 0:00 /usr/lib/virtualbox/VBoxXPCOMIPCD
carlos 30321 0.0 0.6 43752 5528 ? Sl 14:29 0:05 /usr/lib/virtualbox/VBoxSVC --automate

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: