Munin Alcala Herrera Christian Michel

7
18-11-2014 MUNIN Software de Monitoreo de Red ALCALA HERRERA CHRISTIAN MICHEL MUNIN Software de Monitoreo de Red INSTITUTO TECNOLOGICO DE TEHUACAN REDES AVANZADAS

Transcript of Munin Alcala Herrera Christian Michel

Page 1: Munin Alcala Herrera Christian Michel

18-11-2014

MUNIN Software de Monitoreo de Red

ALCALA HERRERA CHRISTIAN MICHEL

MUNIN Software de Monitoreo de Red

INSTITUTO

TECNOLOGICO DE

TEHUACAN

REDES AVANZADAS

Page 2: Munin Alcala Herrera Christian Michel

Introducción

Munin las encuestas de herramientas de monitoreo de todos los equipos y recuerda lo que vio. Se pre-

senta toda la información en los gráficos a través de una interfaz web.Su énfasis está en la capacidad de

Plug and Play. Después de completar una instalación de un gran número de plugins de monitoreo estará

jugando sin más esfuerzo.

Usando Munin puede controlar fácilmente el rendimiento de sus computadoras, redes, redes SAN, apli-

caciones, mediciones meteorológicas y todo lo que venga a la mente.Esto hace que sea fácil de determi-

nar "lo que es diferente hoy en día", cuando un problema de rendimiento surge.Esto hace que sea fácil

ver cómo lo está haciendo capacidad sabio en cualquier recurso.

Munin utiliza el excelente RRDtool (escrito por Tobi Oetiker) y el marco está escrito en Perl, mientras

que los plugins se pueden escribir en cualquier idioma. Munin tiene un / Arquitectura nodo principal en

la que el maestro se conecta a todos los nodos a intervalos regulares y les pide datos. A continuación,

almacena los datos en ficheros RRD, y (si es necesario) actualiza los gráficos. Uno de los objetivos

principales ha sido la facilidad de crear nuevos plugins (gráficos).

Este sitio es un wiki, así como una herramienta de gestión de proyectos. Apreciamos todas las contribu-

ciones a la documentación. Si bien esta es la página principal del proyecto Munin, todavía hará todos

los lanzamientos a través de Sourceforge

Munin. Es una herramienta multiplataforma basada en web, utilizada en el monitoreo de los recursos

en red. Está diseñada para ser plug and play. Su arquitectura es bastante sencilla: un servidor que

centraliza los datos enviados por los agentes instalados en cada cliente. Permite monitorizar muchos

parámetros y visualizarlos en cómodas gráficas. Toda la información generada puede verse a través de

la web desde cualquier parte. Está implementado en Perl y liberado bajo licencia GPL versión 2 de la

Free Software Foundation.

Page 3: Munin Alcala Herrera Christian Michel

Instalación de Munin

Munin es una potente herramienta de monitorización de máquinas que genera estadísticas sobre su

funcionamiento y al mismo tiempo muy sencilla y fácil de configurar en cualquier plataforma. Para

instalar Munin en un nodo con una distribución basada en Debian basta con instalarlo desde sus

repositorios y de la misma forma se puede instalar la máquina que servirá de servidor de Munin. En

este caso se instala en un sistema Debian Squeeze.

# apt-get install munin munin-common munin-plugins-extra

Una vez instalados los paquetes ya se tendrá a Munin casi funcionando. Munin puede actuar de dos

formas: como servidor, el cual mostrará los datos recopilados de uno o más nodos, y como nodo, el

cual se encarga de enviar datos al servidor. En este caso el propio Munin actuará como servidor y nodo

al mismo tiempo.

Antes de configurarlo vamos a dar un repaso a los ficheros y directorios más importantes:

???/etc/munin/munin.conf: es el fichero de configuración del servidor Munin.

*/etc/munin/munin-node.conf: fichero de configuración del nodo Munin.

*/etc/munin/plugin-conf.d/munin-node: hay ciertos plugins que necesitan parámetros

para funcionar, los plugins se configuran en este fichero.

*/etc/munin/plugins/: directorio con los plugins activos en Munin. No son más que

enlaces simbólicos hacia donde realmente se encuentran los plugins.

*/usr/share/munin/plugins: es el directorio donde se encuentran fisicamente todos los

plugins de Munin. La lista de plugins es extensa.

*/etc/init.d/munin-node: script utilizado para recargar la configuración del nodo Munin.

Configuración

La configuración de Munin es bastante rápida y sencilla. Primero se configura el servidor y para esto se

edita el fichero /etc/munin/munin.conf.

dbdir /var/lib/munin

htmldir /var/cache/munin/www

logdir /var/log/munin

rundir /var/run/munin

includedir /etc/munin/munin-conf.d

[host.mydomain.com]

address 192.168.1.116

use_node_name yes

Con esta sencilla configuración, le hemos especificado a Munin sus directorios de trabajo para la base

de datos, los resultados en html, el directorio de logs y donde se guardará el pid de Munin. También le

especificamos la dirección IP del nodo, que en este caso será él mismo. Para configurar nuestro nodo,

es decir, la parte de Munin que recoge los datos, editaremos el fichero /etc/munin/munin-node.conf.

log_level 4

log_file /var/log/munin/munin-node.log

pid_file /var/run/munin/munin-node.pid

Page 4: Munin Alcala Herrera Christian Michel

background 1

setsid 1

user root

group root

ignore_file ~$

ignore_file DEADJOE$

ignore_file \.bak$

ignore_file %$

ignore_file \.dpkg-(tmp|new|old|dist)$

ignore_file \.rpm(save|new)$

ignore_file \.pod$

host_name host.mydomain.com

allow ^127\.0\.0\.1$

allow ^192\.168\.1\.116$

host *

host 192.168.1.116

port 4949

La línea host_name ayuda al servidor a identificar a este nodo, mientras que las directivas allow

indican desde qué direcciones IP es posible conectarse, en este caso desde localhost y desde la IP de la

propio máquina. Por último, se indica el puerto de escucha con la directiva port, en este caso el 4949.

Ya se tiene configurado el Munin. Ahora queda que funcione. Para comprobar que todo esté correcto se

ejecuta el comando munin-check que comprobará si los permisos y propietarios de los ficheros son

correctos o no. Si hubiera algo mal, te sugiere cómo debería ser. En este caso se corrigieron algunos

permisos:

# chmod -R 755 /etc/munin/plugin-conf.d

# chown -R nobody:munin /var/lib/munin/plugin-state

Ya debería estar todo correcto, asi que se puede arrancar el nodo Munin:

# /etc/init.d/munin-node start

Todo esta listo, pero ¿Cómo recoge datos el nodo Munin? ¿Cada cuánto tiempo? ¿Dónde se

configura eso?

Munin ofrece otro script llamado munin-cron el cual va actualizando los resultados en html que va

generando. Se puede configurar una tarea cron en el usuario munin, así que se hace login como dicho

usuario y se configura la tarea cron con crontab -e:

# su - munin --shell=/bin/bash

# crontab -e

Se actualiza las estadísticas cada 5 minutos, asi que la tarea cron debe quedar de la siguiente forma:

# crontab -l

Page 5: Munin Alcala Herrera Christian Michel

# m h dom mon dow command

*/5 * * * * munin-cron

Ahora bien, ¿Dónde veo las gráficas? Para ello se necesita un servidor web. Nginx es muy rápido y

liviano, asi que en este caso se procede a instalarlo desde el repositorio:

# apt-get install nginx

La versión de Nginx de los repositorios es bastante antigua, pero solamente se utilizará para mostrar

contenido estático, asi que esta versión nos sirve. Lo único que queda es configurar un location para

mostrar los resultados generados por Munin en el directorio /var/cache/munin/www. Como no es una

configuración muy extensa, se hace en el virtualhost por defecto que viene con Nginx en el fichero

/etc/nginx/sites-enabled/default añadiendo lo siguiente dentro del bloque server:

[...]

server_name host.mydomain.com;

[...]

location /munin {

alias /var/cache/munin/www;

index index.html index.htm;

autoindex on;

allow all;

}

Recargamos la configuración del servidor Nginx:

# /etc/init.d/nginx reload

Hecho esto, se tendrá accesible el Munin en Dominio Munin

Page 6: Munin Alcala Herrera Christian Michel

Sistema de monitoreo Munin

Munin es un sistema de monitoreo de redes sencillo, configurable, extensible, capaz de

autodescubrimiento. Puede controlar fácilmente el rendimiento de sus computadoras, redes,

aplicaciones, etc. Su mejor escenario se encuentra en el mantenimiento de servidores o en la gestión de

varios puestos de trabajo. Puede usarse para comprobar el estado de salud y carga de las máquinas,

anticipar problemas de rendimiento o capacidad, y en caso de problemas ofrece a posteriori valiosa

información sobre los momentos anteriores al problema.

Munin usa la librería RRDtool para generar las gráficas de rendimiento de los parámetros del sistema

analizado y sysstats para obtener datos. El marco está escrito en Perl, mientras que los plugins se

pueden programar a la medida en cualquier otro lenguaje de scripting o compilador. El servidor corre

sobre Linux, el agente corre sobre Linux y Windows pero con algunas limitaciones cuando es utilizado

sobre el sistema operativo Windows.

Utiliza una arquitectura maestro/nodo, en el cual el maestro es el encargado de almacenar la

información que lee periódicamente de los nodos. La instalación y configuración son relativamente

fáciles si esta utilizando debian.

Características

Cuenta con una interfaz [web] que muestra la evolución histórica del uso de recursos.

Monitorea el uso de recurso de cada máquina, recursos como disco, red, uso de CPU, RAM,

Carga (load).

Es capaz de monitorear indicadores de algunas aplicaciones como tamaño de cola de postfix,

procesos de apache, consultas de mysql entre otras.

Genera gráficas por día, semana, mes y año de cada uno de los indicadores.

Muestra el mínimo, máximo, media y valor actual de los indicadores en cada período de tiempo.

Es posible configurar umbrales de alerta para estado de advertencia y crítico.

Estructura del Sistema

Munin se divide en tres componentes principales:

Servidor: Un demonio que corre en todas las máquinas monitoreadas, por default en el puerto 4949. Su

función es configurar y llamar a los plugins. Cuando se habla de munin-node, se refiere al servidor.

Plugins: Cada uno de los agentes de recolección de datos que son invocados por munin-node. Dan la

información que monitorean, y son también capaces de describir su función y configuración.

Cliente: Proceso que corre periódicamente (normalmente cada 5 minutos) desde un nodo central,

interrogando a cada uno de los servidores munin-node, y generando las páginas Web.

Ventajas

Permite determinar con anticipación cuando un recurso estará sobre utilizado o será

insuficiente.

Permite monitorear errores o generar mejoras. Por ejemplo, detectar errores de red que pueden

ser causados por la alta carga del servidor.

Permite medir cuantitativamente el crecimiento del uso de los recursos, de esta manera es

posible sustentar la compra de hardware o medir el crecimiento.

Page 7: Munin Alcala Herrera Christian Michel

Fuentes

Munin. (Sitio oficial). [citado 2012 noviembre, 6]. Disponible en: "munin-monitoring.org".

Artículo (inglés): Sistema de monitoreo Munin. Consultado: 6 de noviembre de 2012.

Sitio de descarga: Instalando Munin para Ubuntu. Consultado: 6 de noviembre de 2012.

Ensayo: Munin. Consultado: 6 de noviembre de 2012.

Artículo: Herramientas de monitoreo open source. Consultado: 6 de noviembre de 2012