Instalando Munin en CentOS 6

Munin es una herramienta para el monitorado de recursos que puede ayudar a analizar las tendencias de los mismos e identificar y solucionar problemas asociados a una bajada de rendimientos en nuestros servidores. Según está diseñado Munin llega a ser una herramienta prácticamente de plug and play aunque dependiendo de la distribución dónde la instalemos puede dar algunos problemas o no.

munin_logo_325x100Si bien es cierto que una instalación predeterminada proporciona una gran cantidad de gráficos con casi ningún trabajo para el caso de monitorado de MySQL y Apache son necesarias varias configuraciones extras las cuales veremos en otros post.

Sin más os dejo el paso a paso de la instalación para la última versión de Munin a la fecha (2.0.8) en un CentOS 6.3.

Lo primero que debemos hacer es instalar algunos paquetes extras:

yum install perl-XML-SAX

Es muy importante instalar este paquete antes de la instalación de Munin porque si tienes habilitado el repositorio de RPMForge te puede dar colisiones con algunos paquetes de perl y producirse un error del tipo:
file /usr/share/man/man3/XML::SAX::Base.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch

yum install perl-IPC-ShareLite
yum install perl-Cache-Cache
Estos 2 paquetes son muy importantes para el posterior monitorado de MySQL y tampoco se instalan por defecto

Ahora si podemos proceder a instalar los paquetes de Munin
yum install munin munin-node

En muchos manuales viene cambiar la configuración del Munin pero si vamos a trabajar en local y monitorar la misma máquina dónde hemos instalado el Munin no es necesario hacer ningún cambio salvo los siguientes:

En el archivo /etc/munin/munin.conf

# a simple host tree
[aqui debemos poner el nombre de la maquina que vamos a monitorar Ej. prueba.dominio.com]
address 127.0.0.1
use_node_name yes

Nota: según el nombre que le pongamos si es un subdominio, Munin automáticamente generará un grupo con el dominio y de él colgarán todos los nodos con subdominios que pongamos; aunque repito, para el caso de este post solo configuraremos el nodo local.

Munin se compone de 2 partes, la parte servidor que es una sola y los nodos que pueden ser varios, con esto quiero decir que un mismo servidor puede monitorar varias máquinas aunque este manual será solo para monitorar la máquina local.

Iniciamos el nodo
/etc/init.d/munin-node start
y comprobamos que funcione
ps aux | grep munin
debería salirnos algo como esto
root     … grep munin
root     … /usr/bin/perl -wT /usr/sbin/munin-node

Activamos el servicio para que se inicie al inicio del sistema
chkconfig munin-node on
Lo comprobamos
chkconfig --list | grep munin
Y deberíamos tener lo siguiente
munin-node      0:off   1:off   2:on    3:on    4:on    5:on    6:off

Con esto ya tenemos configurado Munin para monitorar con los plugins por defecto el mismo servidor dónde se ha instalado y además iniciado siempre junto con el inicio del servidor.

Ahora tenemos que configurar apache para poder ver las estadísticas desde cualquier navegador web. En mi caso tengo instalado apache 2.2.23.

Realmente este punto no lo voy a explicar porque no es más que crear un subdominio en nuestro servidor que apunte al directorio /var/www/html/munin automáticamente creado por la instalación de Munin.

Importante: al carecer de login es muy recomendable proteger esta carpeta con htaccess.

Por ejemplo mi subdominio es el siguiente (debes tener los módulos auth_basic y expires de apache activados):

<VirtualHost ip:80>
    ServerName subdominio.dominio
    DocumentRoot /var/www/html/munin
    <directory /var/www/html/munin>
        AuthUserFile /etc/munin/munin-htpasswd
        AuthName "Munin"
        AuthType Basic
        require valid-user
        # This next part requires mod_expires to be enabled.
        #
        # We could use <IfModule mod_expires> around here, but I want it to be
        # as evident as possible that you either have to load mod_expires _or_
        # you coment out/remove these lines.
        # Set the default expiery time for files 5 minutes 10 seconds from
        # their creation (modification) time.  There are probably new files by
        # that time.
        ExpiresActive On
        ExpiresDefault M310
    </directory>
</VirtualHost>

Para establecer la contraseña solo debemos ejecutar el siguiente comando:

htpasswd -c /etc/munin/munin-htpasswd tuusuario

Con esto queda finalmente instalado y configurado Munin para ejecutarse con apache en CentOS y monitorar el servidor local con los valores por defecto.

En futuros post iré incluyendo otros plugins extras.

Este post reduce muchas configuraciones extras que aparecen en otros manuales y que son totalmente innecesarias en instalaciones actuales de este sistema de monitorado.

Comentarios