GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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 kernel de Linux que suelen utilizar los servicios de alojamiento web, es el núcleo gratuito de la aplicación de virtualización comercial virtuozzo. OpenVZ es una virtualización liviana que tiene menos sobrecarga que KVM o XEN, se parece más a una cárcel LXC de Linux pero con opciones de límite avanzadas para definir cuántos recursos puede usar una máquina virtual y es compatible con la cuota del 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 hosting sin saber qué tecnología de virtualización utiliza? Ejecute el siguiente comando para probar si usa OpenVZ:

cat /proc/user_beancounters

Si el resultado es similar al de abajo, entonces su servidor usa OpenVZ o una tecnología compatible y puede usar vzwatchd para monitorear el vserver.

[email protected]:/# 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 0

El resultado muestra los límites de la máquina virtual, cada línea describe un límite y la columna que supervisa vzwatchd es la última columna que cuenta con qué frecuencia se ha alcanzado un límite.

2 Instalar vzwatchd

Vzwatchd está escrito en Perl, se descarga e instala desde el archivo Perl CPAN con el comando CPAN.

Instalando los requisitos previos

Haré los siguientes pasos como usuario root, ejecutaré sudo -s en Ubuntu para convertirme en root:

sudo -s

Primero instalaré la herramienta make y el editor nano, CPAN usa make para compilar vzwatchd y luego usaré nano para editar el archivo de configuración:

apt-get install make nano

A continuación, instalaré vzwatchd desde CPAN con este comando:

cpan -i App::OpenVZ::BCWatch

Si es la primera vez que usa CPAN en un servidor, la secuencia de comandos le hará algunas preguntas sobre la configuración básica de CPAN:

Would you like to configure as much as possible automatically? [yes]
Would you like me to automatically choose some CPAN mirror sites for you? (This means connecting to the Internet) [yes]

Responda ambas preguntas con "sí".

El instalador ahora descargará, compilará e instalará muchos módulos de Perl:

[email protected]:~# cpan -i App::OpenVZ::BCWatch

CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] yes

Autoconfigured everything but 'urllist'.

Now you need to choose your CPAN mirror sites. You can let me
pick mirrors for you, you can select them from a list or you
can enter them by hand.

Would you like me to automatically choose some CPAN mirror
sites for you? (This means connecting to the Internet) [yes] yes
Trying to fetch a mirror list from the Internet
Fetching with LWP:
http://www.perl.org/CPAN/MIRRORED.BY

Looking for CPAN mirrors near you (please be patient)
.............................. done!

New urllist
http://www.planet-elektronik.de/CPAN/
http://cpan.noris.de/
http://cpan.lnx.sk/

Autoconfiguration complete.

commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

You can re-run configuration any time with 'o conf init' in the CPAN shell
Fetching with LWP:
http://www.planet-elektronik.de/CPAN/authors/01mailrc.txt.gz
Going to read '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.planet-elektronik.de/CPAN/modules/02packages.details.txt.gz
Going to read '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Mon, 13 Apr 2015 23:29:02 GMT
..............
New CPAN.pm version (v2.10) available.
[Currently running version is v1.960001]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

[... snip ...]

CPAN.pm: Going to build G/GW/GWOLF/Config-File-1.50.tar.gz

Building Config-File
GWOLF/Config-File-1.50.tar.gz
./Build -- OK
Running Build test
t/pod.t ........... Subroutine main::all_pod_files_ok redefined at /usr/local/share/perl/5.14.2/Test/Pod.pm line 90.
t/pod.t ........... ok
t/pod_coverage.t .. ok
t/test.t .......... 1/11 Invalid characters in key to'be^ignored at line 10 - Ignoring at /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm line 41, <GEN0> line 10.
Line format invalid at line 11: 'malformed line that should be also dropped (no equal sign)' at /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm line 35, <GEN0> line 11.
t/test.t .......... ok
All tests successful.
Files=3, Tests=13, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.13 cusr 0.02 csys = 0.18 CPU)
Result: PASS
GWOLF/Config-File-1.50.tar.gz
./Build test -- OK
Running Build install
Building Config-File
Installing /usr/local/share/perl/5.14.2/Config/File.pm
Installing /usr/local/man/man3/Config::File.3pm
GWOLF/Config-File-1.50.tar.gz
./Build install -- OK
Running Build for S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
Has already been unwrapped into directory /root/.cpan/build/App-OpenVZ-BCWatch-0.04-4Al97O

CPAN.pm: Going to build S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz

Building App-OpenVZ-BCWatch
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build -- OK
Running Build test
t/00-load.t ....... ok
t/basic.t ......... ok
t/pod-coverage.t .. ok
t/pod.t ........... ok
All tests successful.
Files=4, Tests=6, 0 wallclock secs ( 0.04 usr 0.01 sys + 0.27 cusr 0.04 csys = 0.36 CPU)
Result: PASS
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build test -- OK
Running Build install
Building App-OpenVZ-BCWatch
Installing /usr/local/man/man1/vzwatchd.1p
Installing /usr/local/share/perl/5.14.2/App/OpenVZ/BCWatch.pm
Installing /usr/local/man/man3/App::OpenVZ::BCWatch.3pm
Installing /usr/local/bin/vzwatchd
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build install -- OK

Es importante que veas la línea

./Build install -- OK

al final de la salida de la compilación. Si obtiene un error en su lugar, vuelva 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, ejecute el comando:

vzwatchd check

Esto verificará la instalación y creará un archivo de configuración de ejemplo.

[email protected]:~# vzwatchd check
/etc/vzwatchd.conf does not exist, creating one with defaults.
Edit /etc/vzwatchd.conf to suit your needs and then start /usr/local/bin/vzwatchd again.

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.conf

El archivo de configuración se verá así después de editarlo, solo que con su propia dirección de correo electrónico, por supuesto.

mail[from] = [email protected]
mail[to] = [email protected]
mail[subject] = vzwatchd on server.example.com: NOTICE
sleep = 60
verbose = 0
monitor_fields = failcnt
_active = 1

Los cambios son:

  • La línea "mail[from]" contiene la dirección del remitente 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 ejecuta varios servidores OpenVZ, puede ser útil cambiar "correo[asunto]" para que contenga el nombre del servidor.

Configure vzwatchd para que se inicie automáticamente cuando se inicie el servidor:

vzwatchd install
[email protected]:~# vzwatchd install
+ /usr/sbin/update-rc.d vzwatchd defaults
update-rc.d: warning: /etc/init.d/vzwatchd missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /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

E inicie el demonio del monitor vzwatchd:

vzwatchd start
[email protected]:~# vzwatchd start
Starting /usr/local/bin/vzwatchd server

Ahora recibirá una notificación por correo electrónico cuando su servidor virtual OpenVZ alcance uno de los límites del contenedor OpenVZ.

Enlaces

  • OpenVZ
  • Vzwatchd

Ubuntu
  1. Cómo instalar Netflix en Kodi en Ubuntu y Debian

  2. Cómo usar APT con proxy en Ubuntu y Debian

  3. Cómo instalar Python 3.7 en Ubuntu, Debian y LinuxMint

  4. Cómo instalar Mattermost con MySQL en Ubuntu 14.04 y Debian 8

  5. Cómo configurar la conmutación por error de IP con KeepAlived en Ubuntu y Debian

Cómo instalar LEMP WordPress Ubuntu y Debian con Virtualhost

Cómo instalar los derivados de Zoom Ubuntu y Debian

Cómo configurar una VPN basada en IPsec con Strongswan en Debian y Ubuntu

Cómo instalar Jitsi Meet en Debian y Ubuntu

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar ONLYOFFICE Docs en Debian y Ubuntu