Munin es una herramienta que se utiliza para monitorear servicios y el consumo de recursos de un servidor. Es libre y de código abierto, permite realizar el monitoreo de una red y de la infraestructura.
Munin ofrece monitoreo y servicios de alerta para los servidores, switches, aplicaciones y servicios de red. Se alerta a los usuarios cuando las cosas van mal y les avisa por segunda vez cuando el problema se ha resuelto.
Munin está disponible en los repositorios de las siguientes distribuciones Linux:
- Debian
- Ubuntu
- Fedora
- Red Hat
- Gentoo y sus derivados
Munin ha sido programado en Perl y utiliza como soporte de datos RRDtool Round Robin Database Tool, que es una técnica donde se trata la base de datos como si fuese un círculo, sobrescribiendo los datos almacenados con anterioridad, se mantiene un historial que se va modificando cada cierto periodo.
La base de datos se utiliza para para crear gráficos y presenta una interfaz con acceso a través de un navegador web. Se puede extender mediante unos 500 plugins de monitoreo están disponibles actualmente.
Usando Munin puede supervisar el rendimiento de sus ordenadores, redes y aplicaciones. Su objetivo es hacer más fácil para determinar cual es el rendimiento de la red y cuando un problema de rendimiento surge y proporcionar visibilidad sobre la capacidad y la utilización de los recursos.
1. Cómo funciona Munin en Ubuntu
Munin tiene una arquitectura nodo principal en el que un servidor central se conecta a todos los nodos a intervalos regulares y les solicita datos. A continuación, almacena los datos en base de datos RRD y actualiza los gráficos. Uno de los objetivos principales ha sido la facilidad de crear nuevos plugins.
Existen dos partes del mismo programa uno es Munin Master es responsable de la recopilación de datos de los nodos Munin. Almacena estos datos en RRD, los archivos y los gráficos de cada nodo.
También comprueba si los valores o datos que van llegando tuvieron alguna variación brusca tanto en máximos o en mínimos según valores específicos y enviarán alertas si esto sucede al administrador que es quien ha configurado los limites críticos o de advertencia.
La otra parte es Munin Node, un nodo es un programa instalado en un host o equipo que se ejecuta en cada host y envía datos a Munin Master.
Ambos programas pueden estar instalados en el mismo servidor para supervisarse a si mismo bien en servidores distintos.
Munin se puede descargar desde su pagina oficial
Instalaremos una versión de ambos programas en un mismo servidor basado en Linux Mint, siempre antes de una instalación debemos Actualizar el repositorio y luego actualizamos el software instalado, para ello desde una ventana de terminal escribimos los siguientes comandos:
sudo apt-get updateInstalamos el Munin Nodo:
sudo apt-get install munin-nodeInstalamos Munin master:
sudo apt-get install muninY ahora podremos configurarlo.
2. Cómo configurar Munin en Ubuntu
Después de la instalación para saber donde esta instalado el software desde la ventana de la terminal utilizamos el siguiente comando::
whereis munin
Vamos a modificar el archivo de configuración que lo encontraremos en /etc/munin/
El archivo de configuración es munin.conf, todos los plugins y scripts de Munin Master, tomarán esta configuración.
Podemos editar directamente del servidor utilizando el siguiente comando desde el directorio /etc/munin/
nano munin.confAquí configuraremos las distintas opciones del servidor Munin Master:
En primer lugar configuraremos los directorios para la base de datos la interfaz web, los archivos de log y el directorio de ejecución. Ademas los directorios de los templates html para presentar la información y el directorio de estadísticas.
Debajo añadiremos los nodos:
# el nodo local para le servidor mismo [localhost.localdomain] address 127.0.0.1 use_node_name yes [www.midominio.com] address 192.168.10.12 use_node_name yes [localhost.midominio.com] address 192.168.10.12 port 21 use_node_name yes [localhost.midominio2.com] address 67.112.48.25 use_node_name yesEn el caso donde añadimos el puerto 21 es para controlar el puerto de FTP.
A continuación guardamos la configuración y procedemos a arrancar Munin Master y Munin Node mediante los siguientes comandos:
sudo service munin-node restartA continuación podemos acceder a Munin desde un navegador web mediante la ip del servidor donde esta Munin Master
Vemos que aparece nuestro servidor solo configuramos el local, hacemos un clic sobre el nombre del grupo localdomain que es el dominio por defecto, y veremos las diversas estadísticas y métricas que nos brinda Munin, entre ellas consumo de CPU, trafico de la red wifi y ethernet, errores producidos en la red, rendimiento por dispositivos, porcentaje de disco utilizado, rendimiento y utilización de emails, procesos cantidad y prioridades.
Si lo instalamos deberemos esperar a que recolecte datos, para probar Munin funcionado podemos encontrar muchos servidores demos en Internet, buscando la palabra demos Munin para ver distintos análisis con muchos datos relevados.
Por ejemplo podemos ver http://demo.munin.jp...s.html#critical
Aquí podemos ver por ejemplo las estadísticas de red donde podemos observar las conexiones TPC fallidas si en algún momento aumentan y se corresponde con un aumento de consumo de memoria o de ancho de banda podríamos estar frente a un ataque o a escaneos de puertos.
Haciendo un click sobre cualquier gráfico, accedemos a la vista ampliada por día,semana,mes y año y si hacemos clic sobre cualquiera de ellas llegamos a una vista ampliada de ese gráfico. Desde el panel de control podemos ver cada informe en forma analítica o gráficamente.
Una de la funcionalidad mas interesante es que podemos monitorizar el servidor de MySQL por ejemplo, si a cada base de datos le asignamos un nombre de host diferente podremos monitorizar cada base de datos.
Aquí vemos un aviso critico de un servidor Mysql en el que se ha configurado el dominio y el puerto 3306 de Mysql, donde vemos el uso de espacio y también podemos monitorizar la cantidad de consultas que recibe la base de datos.
Para monitorizar las consultas y transacciones que se vayan haciendo en el servidor Mysql con las base de datos, debemos instalar el plugin de mysql.
3. ]Instalar y habilitar plugins adicionales en Munin en Ubuntu
Munin monitorea un sistema que utiliza secuencias de comandos que han sido programadas en forma de plugins o script, algún están preinstalados en Munin y activos. Podemos ver una lista completa de los plugin y cuales estan activos mediante el siguiente comando:
sudo munin-node-configure --suggestPara instalar los plugins extras ejecutamos el siguiente código desde una venta de terminal
sudo apt-get install munin-plugins-extraTodos los plugin se instalaran en el directorio /usr/share/munin/plugins
Para habilitar un plugin solo deberemos copiarlo desde el directorio /usr/share/munin/plugins al directorio /etc/munin/plugins/ de la siguiente manera:
ln -s /usr/share/munin/plugins/mysql_* /etc/munin/pluginsLuego configuramos el plugin en el archivo /etc/munin/plugin-conf.d/munin-node y guardamos:
[mysql*] env.mysqladmin /usr/bin/mysqladmin env.mysqluser usuariomysql env.mysqlpassword clavedeadministradorReiniciamos Munin:
sudo service munin-node restartA continuación podemos ver que se añadió Mysql y miramos un gráfico de consultas lentas, el plugin debe poder acceder y monitorizar MySQL, por eso habilitamos los permisos.
Munin puede configurarse para supervisar el sistema en el que está instalado. Adición de servidores remotos con el sistema monitorizado es tan simple como instalar el paquete Munin nodo en el servidor remoto (o nodo) y luego modificar el archivo de configuración del nodo del servidor y apuntan a la otra dirección IP.
La instalación de Munin es bastante simple, ahora sólo debemos añadir que servicio queremos monitorizar, inclusive se puede monitorizar la temperatura del nodo cliente, como por ejemplo:
Empezar a controlar la infraestructura de una red con un sistema tan configurable y adapatable para todo los recursos de red que tengan un ip o esten conectadas a la red.