Monitoreo Servidor · 5 min read · Oct 15, 2025
Monitoreo de Servidores con Munin y Monit en Debian 8 (Jessie)
En este artículo, describiré cómo puedes monitorear tu servidor Debian 8 (Jessie) con Munin y Monit. munin produce gráficos interesantes sobre casi todos los aspectos de tu servidor (promedio de carga, uso de memoria, uso de CPU, rendimiento de MySQL, tráfico de eth0, etc.) sin mucha configuración, mientras que Monit verifica la disponibilidad de servicios como Apache, MySQL, Postfix y toma la acción apropiada, como un reinicio, si encuentra que un servicio no se comporta como se espera. La combinación de ambos te brinda un monitoreo completo: gráficos que te permiten reconocer problemas actuales o futuros (como “Necesitamos un servidor más grande pronto, nuestro promedio de carga está aumentando rápidamente.”), y un watchdog que asegura la disponibilidad de los servicios monitoreados.
Aunque Munin te permite monitorear más de un servidor, aquí solo discutiremos el monitoreo del sistema donde está instalado.
Este tutorial fue escrito para Debian 8 (Jessie), pero la configuración debería aplicarse a otras distribuciones como Ubuntu con pocos cambios también.
Quiero decir primero que esta no es la única forma de configurar un sistema así. Hay muchas maneras de lograr este objetivo, pero este es el camino que tomo. No emito ninguna garantía de que esto funcione para ti!
1 Nota Preliminar
El nombre de host de nuestro sistema es server1.example.com, y tenemos un sitio web www.example.com en él con la raíz del documento /var/www/www.example.com/web.
Asegúrate de que el sistema esté actualizado antes de comenzar a instalar Munin, ejecuta:
apt-get update
apt-get upgradeApache se utiliza para mostrar las páginas de Munin, el módulo fcgid de apache es necesario para la función de zoom de gráficos de Munin. Instala apache y el módulo fcgid con apt.
apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgidHabilita el módulo fcgid en apache.
a2enmod fcgid2 Instalar y Configurar Munin
Para instalar Munin en Debian Jessie, hacemos esto:
apt-get install munin munin-node munin-plugins-extra Cuando el servidor está ejecutando MySQL o MariaDB, entonces habilita algunos plugins adicionales de Munin para monitorear MySQL:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_innodb mysql_innodb
ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threadsA continuación, debemos editar el archivo de configuración de Munin /etc/munin/munin.conf. Descomenta las líneas dbdir, htmldir, logdir, rundir y tmpldir (los valores predeterminados están bien). Queremos que Munin use el nombre server1.example.com en lugar de localhost.localdomain en la salida HTML, por lo tanto, reemplazamos localhost.localdomain con server1.example.com en la sección del árbol de hosts simple. Sin los comentarios, el archivo cambiado se ve así:
nano /etc/munin/munin.conf# Archivo de configuración de ejemplo para Munin, generado por 'make build'
# Las siguientes tres variables especifican dónde se encuentra la ubicación de las RRD
# bases de datos, la salida HTML, los registros y los archivos de bloqueo/pid. Todos ellos
# deben ser escribibles por el usuario que ejecuta munin-cron. Todos ellos
# tienen valores predeterminados a los que ves aquí.
#
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
# Dónde buscar las plantillas HTML
#
tmpldir /etc/munin/templates
# Dónde buscar los archivos estáticos www
#
#staticdir /etc/munin/static
# Los archivos cgi temporales están aquí. ten en cuenta que debe ser escribible por
# el usuario cgi (generalmente nadie o httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp
# (Exactamente uno) directorio para incluir todos los archivos.
includedir /etc/munin/munin-conf.d
[...]
# un árbol de hosts simple
[server1.example.com]
address 127.0.0.1
use_node_name yes
[...] Debemos encontrar el archivo de configuración de Apache 2.4 para Munin /etc/munin/apache24.conf - define un alias llamado munin para el directorio de salida HTML de munin /var/cache/munin/www lo que significa que podemos acceder a munin desde todos los sitios web en este servidor usando la ruta relativa /munin (por ejemplo, http://www.example.com/munin).
La configuración de apache Munin no está habilitada por defecto, esto ha cambiado de DebianWheezy a Jessie. El nuevo directorio de configuración es /etc/apache2/conf-enabled en lugar de /etc/apache2/conf.d que se usaba en versiones anteriores como Wheezy y Squeeze.
Ejecuta estos comandos para habilitar y cargar la configuración en apache.
cd /etc/apache2/conf-enabled/
ln -s /etc/munin/apache24.conf munin.conf
service apache2 restartAsegúrate de comentar la línea Require local y agregar Require all granted y Options FollowSymLinks SymLinksIfOwnerMatch en su lugar (de lo contrario, solo podrás acceder a la salida de Munin desde localhost):
nano /etc/munin/apache24.confAlias /munin /var/cache/munin/www
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
SetHandler fcgid-script
SetHandler cgi-script
Reinicia Apache:
service apache2 restartLuego reinicia Munin:
service munin-node restartAhora espera unos minutos para que Munin pueda producir su primera salida, y luego ve a http://www.example.com/munin/ en tu navegador, y verás las primeras estadísticas:

(Esto es solo un pequeño extracto de los muchos gráficos que munin produce…)
3 Proteger con Contraseña el Directorio de Salida de Munin (Opcional pero muy recomendado)
Ahora es una buena idea proteger con contraseña el directorio de salida de munin a menos que quieras que todos puedan ver cada pequeña estadística sobre tu servidor.
Para hacer esto, debemos crear el archivo de contraseña /etc/munin/munin-htpasswd. Queremos iniciar sesión con el nombre de usuario admin, así que hacemos esto:
htpasswd -c /etc/munin/munin-htpasswd adminIngresa una contraseña para admin. Luego abre /etc/munin/apache24.conf nuevamente…
nano /etc/munin/apache24.conf… comenta “Require all granted” y agrega las líneas que marqué en rojo:
Alias /munin /var/cache/munin/www
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
SetHandler fcgid-script
SetHandler cgi-script
Luego reinicia Apache:
service apache2 restart4 Habilitar módulos adicionales en Munin
El comando de Munin “munin-node-configure –suggest” se puede usar para obtener recomendaciones para módulos adicionales de Munin que se pueden habilitar en el servidor. Ejecuta:
munin-node-configure --suggestLa salida debería ser similar a esto:

La columna “usado” muestra si un módulo está habilitado, la columna “Sugerencias” muestra si el servidor ejecuta un servicio que puede ser monitoreado por este módulo. Crea un enlace simbólico para el módulo en /etc/munin/plugins para habilitarlo.
Aquí habilitaré los módulos apache_* por ejemplo:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volumeReinicia Munin para cargar la nueva configuración.
service munin-node restartRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.