Algunas publicaciones no son obras directas de FC5Scrim, se debe considerar las publicaciones de FC5Scrim como una recopilación de material que representa el pensamiento de FC5Scrim si no se menciona lo contrario, si alguna de nuestras publicaciones afecta directamente el buen nombre de algún autor solo con notificarnos retiraremos la publicación.

martes, 18 de febrero de 2014

¿Qué es Munin?

Mantener el orden en un servidor puede convertirse en una tarea tediosa y angustiosa a medida que las aplicaciones que este contiene se vuelven más utilizadas y pesadas, al punto de tener una alta cantidad de procesos ejecutándose. La situación se torna complicada cuando un servidor que es sometido bajo muchas tareas empieza a fallar en algún lado, encontrar el error puede tomar horas o incluso días de dedicación. Esta semana te traemos una solución para estas ocasiones donde el estrés y la incertidumbre no serán parte de la rutina de análisis, veamos más con Munin.

¿Qué es Munin?

Esta herramienta de código abierto permite monitorear los recursos de un servidor mediante un proceso residente en el mismo que va almacenando históricamente lo que sucede y construye múltiples gráficas indicando un gran número de estadísticas lo cual nos permite observar y analizar todo lo que ocurre dentro del servidor. Esto nos facilita la identificación (y prevención) de los problemas que pudiesen ocurrir como reinicios de algún proceso, desbordamientos de memoria de alguna aplicación, fallos en algún proceso de base de datos, entre otros.
Una de las ventajas de Munin, es su extensibilidad por medio de plugins, hay muchos creados por la comunidad para diferentes servicios o hardware específicos lo cual hará más eficiente el análisis debido a la recolección especializada de datos para cada caso.
Otra gran ventaja de Munin es su arquitectura basada en nodos, es decir, una instancia maestra puede recolectar información de varios servidores (que serán los nodos) para tener una recopilación de toda tu arquitectura de servidores de manera que no es necesario que tengas que revisar y analizar el estado de cada servidor por separado.
En esta entrada nos enfocaremos en la recolección de información de una única instancia, la que resida en el servidor que deseamos analizar.

Instalación

La información que nos proveerá Munin está diseñada para ser consultada mediante la exposición del servicio a la red. Por ello necesitaremos tener instalado un servidor web en nuestro equipo. En esta entrada haremos uso de nginx, pero si lo deseas puedes utilizar Apache, Lighttpd o el de tu preferencia.
La manera más sencilla de instalar Munin es utilizando los manejadores de paquetes del sistema operativo como YUM o apt-get. En esta entrada estaremos utilizando un ambiente de prueba Ubuntu 12.04.
La última versión de Munin al momento de este escrito es 2.1.5. Sin embargo en Ubuntu 12.04 solo es posible instalar nativamente hasta la versión 1.4.6.
Tan solo debemos instalarlo del repositorio oficial:
Ahora editaremos el siguiente archivo /etc/munin/munin.conf, y veremos muchas opciones que nos permitirán configurar Munin a nuestro antojo. Por el momento nos enfocaremos en lo básico y necesario para que todo funcione. Veremos estos 5 parámetros comentados:
Estos le indicarán a Munin lo siguiente:
  • El directorio donde se almacenarán los datos del proceso de monitoreo.
  • El directorio de acceso al servidor para visualizar la información recolectada.
  • El directorio para almacenar las bitácoras del proceso.
  • El directorio donde se encontrarán los archivos de ejecución.
  • El directorio que almacena las plantillas visuales.
Debemos descomentarlos (quitándole los #), y al parámetro htmldir indiquemos el directorio que usaremos en nuestro servidor web para acceder a Munin:
Por último veremos también en la parte inferior del archivo la configuración del host:
Cambiemoslo a algo más a nuestro estilo:
Debemos asegurarnos que el directorio de acceso web que especificamos exista, de lo contrario lo crearemos:
IMPORTANTE: Le damos permiso a Munin para que pueda escribir en el directorio.:
Y reiniciaremos el servicio de Munin:

Configuración servidor web

Bien, ahora solo nos falta configurar nuestro servidor web para que podamos acceder a Munin.
En esta entrada como estamos utilizando nginx abriremos el archivo de configuración (normalmente ubicado en/etc/nginx/sites-available/default) y lo dejaremos luciendo algo así:
El location que especificamos nos permitirá restringir el acceso a dicha dirección para evitar que cualquiera pueda entrar en él. No queremos que nadie ande ojeando data tan sensible como esta.
Para esto último debemos definir el usuario en el archivo que indicamos:

Prueba

Ahora solo debemos reiniciar nuestro servidor web y entrar a nuestra nueva dirección de Munin.
munin-login
Para entrar usaremos el usuario que definimos anteriormente.
munin-menu
Tendremos un pequeño menu mostrándonos los nodos que este “maestro” monitorea, ya que estamos usando una sola instancia sirviéndose a sí mismo solo tendremos una.
Si recibes un error de que no se puede encontrar nada es probable que no haya pasado suficiente tiempo para que Munin genere su primera salida, dale unos minutos.
Si accedemos al segundo enlace veremos varias gráficas indicándonos distintos métricas referente a variables como disco, tráfico, firewall, NFS (sistemas de archivos en red), procesos, memoria y más.
munin-graphs Haz click en la imagen para agrandarla.
Es posible tener estadísticas de este tipo de servicios particulares con el uso de los plugins.

0 comentarios :

Publicar un comentario