Monitoreo Servidores · 4 min read · Oct 15, 2025

Monitoreo de Servidores Con munin Y monit En Debian Wheezy

Monitoreo de Servidores Con munin Y monit En Debian Wheezy

Versión 1.0
Autor: Falko Timme
Sígueme en Twitter

En este artículo describiré cómo puedes monitorear tu servidor Debian Wheezy 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 esperaba. 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 Wheezy, pero la configuración debería aplicarse a otras distribuciones 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 esta es la forma que elijo. No emito ninguna garantía de que esto funcionará 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.

2 Instalar Y Configurar munin

Para instalar munin en Debian Wheezy, hacemos esto:

apt-get install munin munin-node munin-plugins-extra

Habilita algunos plugins adicionales de munin:

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_threads

A 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í:

vi /etc/munin/munin.conf

| # Archivo de configuración de ejemplo para Munin, generado por 'make build' # Las siguientes tres variables especifican dónde se encuentran las bases de datos RRD, # la salida HTML, los registros y los archivos de bloqueo/pid. Todos # deben ser escribibles por el usuario que ejecuta munin-cron. Todos # están predeterminados a los valores 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í. nota que debe ser escribible por # el usuario cgi (generalmente nadie o httpd). # # cgitmpdir /var/lib/munin/cgi-tmp # (Exactamente un) 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 [...] |

Deberíamos encontrar el archivo de configuración de Apache para munin /etc/apache2/conf.d/munin (que en realidad es un enlace simbólico a /etc/munin/apache.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).

Asegúrate de comentar la línea Allow from localhost 127.0.0.0/8 ::1 y agregar Allow from all en su lugar (de lo contrario, solo podrás acceder a la salida de munin desde localhost):

vi /etc/apache2/conf.d/munin

| # Habilita esto para la generación de plantillas Alias /munin /var/cache/munin/www # Habilita esto para plantillas basadas en cgi #Alias /munin-cgi/static /var/cache/munin/www/static #ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html # # Order allow,deny # Allow from localhost 127.0.0.0/8 ::1 # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Order allow,deny #Allow from localhost 127.0.0.0/8 ::1 Allow from all Options None # Este archivo puede ser utilizado como un archivo .htaccess, o parte de tu archivo # de configuración de apache. # # Para que la opción de archivo .htaccess funcione, el directorio www de munin # (/var/cache/munin/www) debe tener "AllowOverride all" o algo # cercano a eso configurado. # # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Esta siguiente parte requiere que mod_expires esté habilitado. # # Establece el tiempo de expiración predeterminado para los archivos a 5 minutos 10 segundos desde # su tiempo de creación (modificación). Probablemente haya nuevos archivos para # ese tiempo. # ExpiresActive On ExpiresDefault M310 [...] |

Reinicia Apache:

/etc/init.d/apache2 restart

Luego reinicia munin:

/etc/init.d/munin-node restart

Ahora 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. Después de unos días, esto podría verse así:

(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)

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 admin

Ingresa una contraseña para admin. Luego abre /etc/apache2/conf.d/munin nuevamente…

vi /etc/apache2/conf.d/munin

… y descomenta la siguiente sección:

| [...] AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user [...] |

Luego reinicia Apache:

/etc/init.d/apache2 restart
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.