Munin Server 8.04
Introducción:
Munin es una aplicación de monitoreo de redes y sistemas que presenta como salida gráficos en una interface web. Se destaca por su simple puesta en marcha. Hay disponible una larga cantidad de plugins de monitoreo. Con la utilización de Munin se puede monitorerar fácilmente computadoras, redes, SANs, o cualquier otra aplicación. Permite identificar "que es distinto hoy" cuando un problema de desempeño es detectado.
Munin utiliza RRDtool (por Tobi Oetiker) escrito en Perl.
Munin trabaja con una arquitectura maestro/nodo. El maestro se conecta a intervalos regulares de tiempo a los nodos para tomar los muestreos y actualizar los gráficos.
Crear plugins para Munin no es difícil lo que permite una fácil adaptación a cualquier requerimiento.
Procedimiento:
Maestro:
El primer paso es actualizar la información de los repositorios de software.
< sudo apt-get update
A continuación se debe instalar los siguientes paquetes, en este caso se instala también el munin-node ya que sobre este equipo también se quiere tener información.
< sudo apt-get install munin munin-node apache2 > Reading package lists... Done > Building dependency tree > Reading state information... Done > The following extra packages will be installed: > libhtml-template-perl libio-multiplex-perl libnet-cidr-perl > libnet-server-perl librrd2 librrds-perl rrdtool > Suggested packages: > libipc-sharedcache-perl libio-socket-ssl-perl httpd libnet-irc-perl > mysql-client smartmontools > Recommended packages: > libdate-manip-perl > The following NEW packages will be installed: > libhtml-template-perl libio-multiplex-perl libnet-cidr-perl > libnet-server-perl librrd2 librrds-perl munin munin-node rrdtool > 0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. > Need to get 2308kB of archives. > After this operation, 5243kB of additional disk space will be used. > Do you want to continue [Y/n]?
Finalizada la instalación se debe revisar/configurar el archivo de configuración del munin.
Esto se hace con el siguiente comando:
< sudo nano /etc/munin/munin.conf
Los valores que se deben revisar son:
La ubicación donde se desea la salida del Munin, donde /var/www/munin.ejemplo.com es un directorio del servidor maestro y el dueño.grupo de este directorio es munin.munin.
... htmldir /var/www/munin.ejemplo.com ...
El servidor que se monitorea es el localhost (127.0.0.1):
...
[maestro.ejemplo.com]
address 127.0.0.1
use_node_name yes
...
Para crear el directorio y darle permismos se deben ejecutar los siguientes comandos:
< mkdir -p /var/www/munin.ejemplo.com < chown munin.munin -R /var/www/munin.ejemplo.com
Finalizada la configuración se debe reiniciar el servicio del nodo.
< sudo /etc/init.d/munin-node restart > * Stopping Munin-Node [ OK ] > * Starting Munin-Node [ OK ]
A continuación se configura el host virtual en el apache.
< sudo vi /etc/apache2/sites-available/munin.ejemplo.com
con el siguiente contenido:
<VirtualHost *:80>
ServerName munin.ejemplo.com
ServerAdmin webmaster@ejemplo.com
DocumentRoot /var/www/htdocs/munin.ejemplo.com
CustomLog /var/log/apache2/munin.ejemplo.com.access.log combined
ErrorLog /var/log/apache2/munin.ejemplo.com.error.log
LogLevel warn
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /var/www/htdocs/munin.ejemplo.com/>
Options Indexes FollowSymLinks MultiViews
Order deny,allow
Allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
</Directory>
</VirtualHost>
El siguiente paso es avilitar el sitio en el apache:
< sudo a2ensite munin.perfil.com
Y como opcional deshabilitar el sitio por defecto.
< sudo a2dissite default
Para que el apache tome los cambios se reinicia.
< sudo /etc/init.d/apache2 restart
Nodo:
En el nodo de deben realizar los siguientes pasos.
El primer paso es actualizar la información de los repositorios de software.
< sudo apt-get update
A continuación se debe instalar los siguientes paquetes.
< sudo apt-get install munin-node > Reading package lists... Done > Building dependency tree > Reading state information... Done > The following extra packages will be installed: > libio-multiplex-perl libnet-cidr-perl libnet-server-perl > Suggested packages: > libio-socket-ssl-perl acpi lm-sensors libnet-irc-perl libwww-perl munin mysql-client smartmontools > Recommended packages: > libnet-snmp-perl > The following NEW packages will be installed: > libio-multiplex-perl libnet-cidr-perl libnet-server-perl munin-node > 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. > Need to get 794kB of archives. > After this operation, 1995kB of additional disk space will be used. > Do you want to continue [Y/n]?
Finalizada la instalación se debe editar el archivo "/etc/munin/munin-node.conf" para permitir las conexiones del equipo maestro.
> sudo nano /etc/munin/munin-node.conf
Sobre el final del archivo se debe modificar la línea que contiene:
allow ^127\.0\.0\.1$
por una que contenga la ip del servidor maestro (en el ejemplo 10.0.0.1), para que quede así.
allow ^10\.0\.0\.1$
Finalizada la edición se debe reiniciar el nodo
< sudo /etc/init.d/munin-node restart > * Stopping Munin-Node [ OK ] > * Starting Munin-Node [ OK ]
Sobre el maestro se debe agregar el nodo a la configuración del munin (/etc/munin/munin.conf)
Esto se hace con el siguiente comando:
< sudo nano /etc/munin/munin.conf
Se debe buscar las líneas de definición del host local
...
[maestro.ejemplo.com]
address 127.0.0.1
use_node_name yes
... y agregar los datos del nodo nuevo, para que quede de la asiguiente forma.
...
[maestro.ejemplo.com]
address 127.0.0.1
use_node_name yes
[nodo1.ejemplo.com]
address 127.0.0.1
use_node_name yes
... Finalizada la edición se debe esperar a que vuelva a correr el proceso de munin para que tome los datos del equipo nuevo.
Este proceso puede llevar unos minutos (5 o 10).
Plugins:
El munin se puede personalizar agregando o sacando plugins de los reportes de los distintos nodos.
Los plugins en uso son los links simbólicos que se encuentran en el directorio /etc/munin/plugins/, para obtener una lista se debe ejecutar:
< ls -lh /etc/munin/plugins/ > lrwxrwxrwx 1 root root 28 2009-06-17 11:46 cpu -> /usr/share/munin/plugins/cpu > lrwxrwxrwx 1 root root 27 2009-06-17 11:46 df -> /usr/share/munin/plugins/df > lrwxrwxrwx 1 root root 33 2009-06-17 11:46 df_inode -> /usr/share/munin/plugins/df_inode > lrwxrwxrwx 1 root root 32 2009-06-17 11:46 entropy -> /usr/share/munin/plugins/entropy > lrwxrwxrwx 1 root root 30 2009-06-17 11:46 forks -> /usr/share/munin/plugins/forks > lrwxrwxrwx 1 root root 32 2009-06-17 11:46 if_err_eth1 -> /usr/share/munin/plugins/if_err_ > lrwxrwxrwx 1 root root 28 2009-06-17 11:46 if_eth1 -> /usr/share/munin/plugins/if_ > lrwxrwxrwx 1 root root 35 2009-06-17 11:46 interrupts -> /usr/share/munin/plugins/interrupts > lrwxrwxrwx 1 root root 31 2009-06-17 11:46 iostat -> /usr/share/munin/plugins/iostat > lrwxrwxrwx 1 root root 33 2009-06-17 11:46 irqstats -> /usr/share/munin/plugins/irqstats > lrwxrwxrwx 1 root root 29 2009-06-17 11:46 load -> /usr/share/munin/plugins/load > lrwxrwxrwx 1 root root 31 2009-06-17 11:46 memory -> /usr/share/munin/plugins/memory > lrwxrwxrwx 1 root root 32 2009-06-17 11:46 netstat -> /usr/share/munin/plugins/netstat > lrwxrwxrwx 1 root root 29 2009-06-17 11:46 ntp_ns1_sismonda_com_ar -> /usr/share/munin/plugins/ntp_ > lrwxrwxrwx 1 root root 35 2009-06-17 11:46 open_files -> /usr/share/munin/plugins/open_files > lrwxrwxrwx 1 root root 36 2009-06-17 11:46 open_inodes -> /usr/share/munin/plugins/open_inodes > lrwxrwxrwx 1 root root 42 2009-06-17 11:46 postfix_mailqueue -> /usr/share/munin/plugins/postfix_mailqueue > lrwxrwxrwx 1 root root 43 2009-06-17 11:46 postfix_mailvolume -> /usr/share/munin/plugins/postfix_mailvolume > lrwxrwxrwx 1 root root 34 2009-06-17 11:46 processes -> /usr/share/munin/plugins/processes > lrwxrwxrwx 1 root root 29 2009-06-17 11:46 swap -> /usr/share/munin/plugins/swap > lrwxrwxrwx 1 root root 31 2009-06-17 11:46 vmstat -> /usr/share/munin/plugins/vmstat
Si se quiere deshabilitar un plugin basta con remover el links simbólico de este directorio.
Por ejemplo si se quiere sacar el gráfico de consumo de cpu, se debe ejecutar:
sudo rm /etc/munin/plugins/cpu
si se quiere volver a a gregar
sudo ln -s /usr/share/munin/plugins/cpu /etc/munin/plugins/cpu
Finalizado los cambios se debe reiniciar el servicio del nodo-munin
< sudo /etc/init.d/munin-node restart > * Stopping Munin-Node [ OK ] > * Starting Munin-Node [ OK ]
