OpenVZ Monitoring · 6 min read · Oct 18, 2025
Cómo monitorear los límites de OpenVZ con vzwatchd en Debian y Ubuntu
Vzwatchd es un demonio de monitoreo de OpenVZ que informa al administrador del servidor por correo electrónico cuando se alcanza un límite del contenedor. OpenVZ es una tecnología de virtualización del núcleo de Linux que a menudo es utilizada por servicios de alojamiento web, es el núcleo gratuito de la aplicación comercial de virtualización virtuozzo. OpenVZ es una virtualización ligera que tiene menos sobrecarga que KVM o XEN, es más como una cárcel de Linux LXC pero con opciones avanzadas de límite para definir cuántos recursos puede usar una máquina virtual y tiene soporte para cuotas de sistema de archivos.
Este tutorial explica la instalación y configuración del demonio vzwatchd en Debian y Ubuntu.
1 ¿Mi servidor virtual usa OpenVZ?
¿Has alquilado un servidor virtual de una empresa de alojamiento sin saber qué tecnología de virtualización utiliza? Ejecuta el siguiente comando para probar si utiliza OpenVZ:
cat /proc/user_beancountersSi la salida es similar a la de abajo, entonces tu servidor utiliza OpenVZ o una tecnología compatible y puedes usar vzwatchd para monitorear el vserver.
root@www:/# cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
101: kmemsize 190939926 274194432 9223372036854775807 9223372036854775807 0
lockedpages 0 3211 1048576 1048576 0
privvmpages 749006 781311 9223372036854775807 9223372036854775807 0
shmpages 22506 30698 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 237 312 9223372036854775807 9223372036854775807 0
physpages 486543 804959 0 1048576 0
vmguarpages 0 0 3145728 9223372036854775807 0
oomguarpages 233498 242378 1048576 9223372036854775807 0
numtcpsock 111 298 9223372036854775807 9223372036854775807 0
numflock 253 294 9223372036854775807 9223372036854775807 0
numpty 1 12 9223372036854775807 9223372036854775807 0
numsiginfo 0 33 9223372036854775807 9223372036854775807 0
tcpsndbuf 7083944 11209000 9223372036854775807 9223372036854775807 0
tcprcvbuf 3300832 10792248 9223372036854775807 9223372036854775807 0
othersockbuf 261256 1008400 9223372036854775807 9223372036854775807 0
dgramrcvbuf 0 5152 9223372036854775807 9223372036854775807 0
numothersock 166 526 1024 1024 0
dcachesize 168291899 247843839 9223372036854775807 9223372036854775807 0
numfile 3098 5205 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numiptent 28 35 9223372036854775807 9223372036854775807 0La salida muestra los límites de la máquina virtual, cada línea describe un límite y la columna que es monitoreada por vzwatchd es la última columna que cuenta cuántas veces se ha alcanzado un límite.
2 Instalar vzwatchd
Vzwatchd está escrito en Perl, se descarga e instala desde el archivo CPAN de Perl con el comando CPAN.
Instalando los requisitos previos
Realizaré los siguientes pasos como usuario root, ejecuta sudo -s en Ubuntu para convertirte en root:
sudo -sPrimero instalaré la herramienta make y el editor nano, make es utilizado por CPAN para construir vzwatchd y usaré nano más tarde para editar el archivo de configuración:
apt-get install make nanoA continuación, instalaré vzwatchd desde CPAN con este comando:
cpan -i App::OpenVZ::BCWatchSi esta es la primera vez que usas CPAN en un servidor, el script te hará algunas preguntas sobre la configuración básica de CPAN:
¿Te gustaría configurar tanto como sea posible automáticamente? [yes]¿Te gustaría que eligiera automáticamente algunos sitios espejo de CPAN para ti? (Esto significa conectarse a Internet) [yes]Responde ambas preguntas con “yes”.
El instalador ahora descargará, compilará e instalará muchos módulos de Perl:
root@rz3:~# cpan -i App::OpenVZ::BCWatch
CPAN.pm requiere configuración, pero la mayor parte se puede hacer automáticamente.
Si respondes 'no' a continuación, entrarás en un diálogo interactivo para cada
opción de configuración en su lugar.
¿Te gustaría configurar tanto como sea posible automáticamente? [yes] yes
Autoconfigurado todo menos 'urllist'.
Ahora necesitas elegir tus sitios espejo de CPAN. Puedes dejarme
pick mirrors for you, puedes seleccionarlos de una lista o puedes
ingresarlos a mano.
¿Te gustaría que eligiera automáticamente algunos sitios espejo de CPAN
para ti? (Esto significa conectarse a Internet) [yes] yes
Intentando obtener una lista de espejos de Internet
Obteniendo con LWP:
http://www.perl.org/CPAN/MIRRORED.BY
Buscando espejos de CPAN cerca de ti (por favor ten paciencia)
.............................. ¡hecho!
Nueva urllist
http://www.planet-elektronik.de/CPAN/
http://cpan.noris.de/
http://cpan.lnx.sk/
Autoconfiguración completa.
commit: escribió '/root/.cpan/CPAN/MyConfig.pm'
Puedes volver a ejecutar la configuración en cualquier momento con 'o conf init' en el shell de CPAN
Obteniendo con LWP:
http://www.planet-elektronik.de/CPAN/authors/01mailrc.txt.gz
Leyendo '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................¡HECHO!
Obteniendo con LWP:
http://www.planet-elektronik.de/CPAN/modules/02packages.details.txt.gz
Leyendo '/root/.cpan/sources/modules/02packages.details.txt.gz'
La base de datos fue generada el Lun, 13 Abr 2015 23:29:02 GMT
..............
Nueva versión de CPAN.pm (v2.10) disponible.
[La versión actualmente en ejecución es v1.960001]
Puede que quieras intentar
install CPAN
reload cpan
para actualizar tanto CPAN.pm como ejecutar la nueva versión sin salir
de la sesión actual.
[... snip ...]
CPAN.pm: Va a construir G/GW/GWOLF/Config-File-1.50.tar.gz
Construyendo Config-File
GWOLF/Config-File-1.50.tar.gz
./Build -- OK
Ejecutando prueba de construcción
t/pod.t ........... Subroutine main::all_pod_files_ok redefinido en /usr/local/share/perl/5.14.2/Test/Pod.pm línea 90.
t/pod.t ........... ok
t/pod_coverage.t .. ok
t/test.t .......... 1/11 Caracteres inválidos en la clave 'be^ignored en la línea 10 - Ignorando en /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm línea 41, línea 10.
Formato de línea inválido en la línea 11: 'línea malformada que también debería ser eliminada (sin signo igual)' en /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm línea 35, línea 11.
t/test.t .......... ok
Todas las pruebas exitosas.
Archivos=3, Pruebas=13, 0 segundos de reloj ( 0.03 usr 0.00 sys + 0.13 cusr 0.02 csys = 0.18 CPU)
Resultado: PASS
GWOLF/Config-File-1.50.tar.gz
./Build test -- OK
Ejecutando instalación de Build
Construyendo Config-File
Instalando /usr/local/share/perl/5.14.2/Config/File.pm
Instalando /usr/local/man/man3/Config::File.3pm
GWOLF/Config-File-1.50.tar.gz
./Build install -- OK
Ejecutando Build para S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
Ya ha sido descomprimido en el directorio /root/.cpan/build/App-OpenVZ-BCWatch-0.04-4Al97O
CPAN.pm: Va a construir S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
Construyendo App-OpenVZ-BCWatch
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build -- OK
Ejecutando prueba de construcción
t/00-load.t ....... ok
t/basic.t ......... ok
t/pod-coverage.t .. ok
t/pod.t ........... ok
Todas las pruebas exitosas.
Archivos=4, Pruebas=6, 0 segundos de reloj ( 0.04 usr 0.01 sys + 0.27 cusr 0.04 csys = 0.36 CPU)
Resultado: PASS
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build test -- OK
Ejecutando instalación de Build
Construyendo App-OpenVZ-BCWatch
Instalando /usr/local/man/man1/vzwatchd.1p
Instalando /usr/local/share/perl/5.14.2/App/OpenVZ/BCWatch.pm
Instalando /usr/local/man/man3/App::OpenVZ::BCWatch.3pm
Instalando /usr/local/bin/vzwatchd
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build install -- OK Es importante que veas la línea
./Build install -- OKal final de la salida de compilación. Si obtienes un error en su lugar, vuelve a ejecutar el comando. Tuve que ejecutar el comando dos veces para compilar todos los módulos con éxito.
Para verificar si la instalación fue exitosa, ejecuta el comando:
vzwatchd checkEsto verificará la instalación y creará un archivo de configuración de ejemplo.
root@server:~# vzwatchd check
/etc/vzwatchd.conf no existe, creando uno con valores predeterminados.
Edita /etc/vzwatchd.conf para adaptarlo a tus necesidades y luego inicia /usr/local/bin/vzwatchd nuevamente.3 Configurar y activar vzwatchd
Ahora editaré el archivo vzwatchd.conf y estableceré la dirección de correo electrónico para los mensajes de notificación.
nano /etc/vzwatchd.confEl archivo de configuración debería verse así después de que lo edites, solo con tu propia dirección de correo electrónico, por supuesto.
mail[from] = [email protected]
mail[to] = [email protected]
mail[subject] = vzwatchd en server.example.com: AVISO
sleep = 60
verbose = 0
monitor_fields = failcnt
_active = 1Los cambios son:
- La línea “mail[from]” contiene la dirección de origen de los correos electrónicos de notificación.
- La línea “mail[to]” contiene la dirección de correo electrónico que recibirá las notificaciones.
- El valor en la línea “_active” debe cambiarse a 1 para activar vzwatchd.
- Cuando ejecutes múltiples servidores OpenVZ, puede ser útil cambiar “mail[subject]” para que contenga el nombre del servidor.
Configura vzwatchd para que se inicie automáticamente cuando el servidor arranque:
vzwatchd installroot@server:~# vzwatchd install
+ /usr/sbin/update-rc.d vzwatchd defaults
update-rc.d: advertencia: /etc/init.d/vzwatchd falta información LSB
update-rc.d: ver
Agregando inicio del sistema para /etc/init.d/vzwatchd ...
/etc/rc0.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc1.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc6.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc2.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc3.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc4.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc5.d/S20vzwatchd -> ../init.d/vzwatchd Y comienza el demonio de monitoreo vzwatchd:
vzwatchd startroot@server:~# vzwatchd start
Iniciando /usr/local/bin/vzwatchd servidorAhora recibirás notificaciones por correo electrónico cuando tu servidor virtual OpenVZ alcance uno de los límites del contenedor OpenVZ.
Enlaces
- OpenVZ
- Vzwatchd
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.