Monitoreo Servidores · 4 min read · Oct 17, 2025
Monitoreo de Servidores Con munin Y monit En Mandriva 2008.0 - Página 2
4 Instalar Y Configurar monit
monit parece estar disponible solo en ciertos repositorios contrib_backports de Mandriva; lo encontré en el repositorio carroll.cac.psu.edu, así que debemos habilitarlo ahora:
urpmi.addmedia contrib_backports ftp://carroll.cac.psu.edu/pub/linux/distributions/mandrivalinux/official/2008.0/i586/media/contrib/backports with media_info/hdlist.czPuedes probar otros repositorios contrib_backports con la ayuda de http://easyurpmi.zarb.org, pero si no contienen monit, debes eliminar el repositorio contrib_backports que has elegido así…
urpmi.removemedia contrib_backports… y probar otro repositorio contrib_backports.
Después instalamos monit:
urpmi monitEl archivo de configuración predeterminado de monit es /etc/monitrc donde puedes encontrar algunos ejemplos de configuración (puedes encontrar más ejemplos de configuración en http://www.tildeslash.com/monit/doc/examples.php) que están todos comentados. Abrimos ese archivo ahora y descomentamos la línea include /etc/monit.d/* al final:
vi /etc/monitrc| [...] include /etc/monit.d/* [...] |
Esto le dice a monit que también busque en el directorio /etc/monit.d para archivos de configuración, por lo tanto, en lugar de modificar /etc/monitrc, creamos un nuevo archivo de configuración /etc/monit.d/monitrc. En mi caso quiero monitorear proftpd, sshd, mysql, apache y postfix, quiero habilitar la interfaz web de monit en el puerto 2812, quiero una interfaz web https, quiero iniciar sesión en la interfaz web con el nombre de usuario admin y la contraseña test, y quiero que monit envíe alertas por correo electrónico a root@localhost, así que mi archivo se ve así:
vi /etc/monit.d/monitrc| set daemon 60 set logfile syslog facility log_daemon set mailserver localhost set mail-format { from: [email protected] } set alert root@localhost set httpd port 2812 and SSL ENABLE PEMFILE /var/certs/monit.pem allow admin:test check process proftpd with pidfile /var/run/proftpd.pid start program = "/etc/init.d/proftpd start" stop program = "/etc/init.d/proftpd stop" if failed port 21 protocol ftp then restart if 5 restarts within 5 cycles then timeout check process sshd with pidfile /var/run/sshd.pid start program "/etc/init.d/sshd start" stop program "/etc/init.d/sshd stop" if failed port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout check process mysql with pidfile /var/run/mysqld/mysqld.pid group database start program = "/etc/init.d/mysqld start" stop program = "/etc/init.d/mysqld stop" if failed host 127.0.0.1 port 3306 then restart if 5 restarts within 5 cycles then timeout check process apache with pidfile /var/run/httpd.pid group www start program = "/etc/init.d/httpd start" stop program = "/etc/init.d/httpd stop" if failed host www.example.com port 80 protocol http and request "/monit/token" then restart if cpu is greater than 60% for 2 cycles then alert if cpu > 80% for 5 cycles then restart if totalmem > 500 MB for 5 cycles then restart if children > 250 then restart if loadavg(5min) greater than 10 for 8 cycles then stop if 3 restarts within 5 cycles then timeout check process postfix with pidfile /var/spool/postfix/pid/master.pid group mail start program = "/etc/init.d/postfix start" stop program = "/etc/init.d/postfix stop" if failed port 25 protocol smtp then restart if 5 restarts within 5 cycles then timeout |
(Por favor asegúrate de que solo revisas procesos que realmente existen en tu servidor - de lo contrario, monit no se iniciará. Es decir, si le dices a monit que revise Postfix, pero Postfix no está instalado en el sistema, monit no se iniciará.)
El archivo de configuración es bastante autoexplicativo; si no estás seguro sobre una opción, echa un vistazo a la documentación de monit: http://www.tildeslash.com/monit/doc/manual.php
En la parte de apache de la configuración de monit encuentras esto:
| if failed host www.example.com port 80 protocol http and request "/monit/token" then restart |
lo que significa que monit intenta conectarse a www.example.com en el puerto 80 e intenta acceder al archivo /monit/token que es /var/www/www.example.com/web/monit/token porque la raíz del documento de nuestro sitio web es /var/www/www.example.com/web. Si monit no tiene éxito, significa que Apache no está en funcionamiento, y monit va a reiniciarlo. Ahora debemos crear el archivo /var/www/www.example.com/web/monit/token y escribir alguna cadena aleatoria en él:
mkdir /var/www/www.example.com/web/monit
echo "hello" > /var/www/www.example.com/web/monit/tokenA continuación, creamos el certificado pem ( /var/certs/monit.pem) que necesitamos para la interfaz web de monit cifrada con SSL:
mkdir /var/certs
cd /var/certsNecesitamos un archivo de configuración de OpenSSL para crear nuestro certificado. Puede verse así:
vi /var/certs/monit.cnf| # crear certificados RSA - Servidor RANDFILE = ./openssl.rnd [ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type [ req_dn ] countryName = Nombre del País (código de 2 letras) countryName_default = MO stateOrProvinceName = Nombre del Estado o Provincia (nombre completo) stateOrProvinceName_default = Monitoria localityName = Nombre de la Localidad (por ejemplo, ciudad) localityName_default = Monittown organizationName = Nombre de la Organización (por ejemplo, empresa) organizationName_default = Monit Inc. organizationalUnitName = Nombre de la Unidad Organizativa (por ejemplo, sección) organizationalUnitName_default = Dept. de Tecnologías de Monitoreo commonName = Nombre Común (FQDN de tu servidor) commonName_default = server.monit.mo emailAddress = Dirección de Correo Electrónico emailAddress_default = [email protected] [ cert_type ] nsCertType = server |
Ahora creamos el certificado así:
openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pemopenssl gendh 512 >> /var/certs/monit.pemopenssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pemchmod 700 /var/certs/monit.pemFinalmente, podemos iniciar monit:
/etc/init.d/monit startAhora apunta tu navegador a https://www.example.com:2812/ (asegúrate de que el puerto 2812 no esté bloqueado por tu firewall), inicia sesión con admin y test, y deberías ver la interfaz web de monit. Debería verse así:

(Pantalla Principal)

(Página de Estado de Apache)
Dependiendo de tu configuración en /etc/monit.d/monitrc, monit reiniciará tus servicios si fallan y enviará correos electrónicos de notificación si los IDs de proceso de los servicios cambian, etc.
¡Diviértete!
5 Enlaces
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.