Objetivo
El paquete munin permite monitorizar diversos parámetros de uno o varios sistemas, por ejemplo, el estado y carga de los servicios, temperaturas, espacio en disco, etc. munin funciona según una arquitectura cliente-servidor, en que un sistema servidor recoge y organiza datos recibidos de varios sistemas clientes. Para monitorizar sólo un servidor, debe instalarse y configurarse los paquetes cliente y servidor en el mismo sistema.
Instalación
Cliente
Del lado del cliente, la instalación consiste en instalar el paquete cliente y algunos extras:
root@server:~# apt-get install munin-node munin-plugins-core munin-plugins-extra
Servidor
Del lado del servidor es necesaria la instalación del paquete munin:
root@server:~# apt-get install munin
Configuración
Cliente
La configuración del sistema cliente consiste en añadir la dirección del servidor, a la lista de direcciones que pueden establecer conexión con el cliente. La dirección debe añadirse en el formato de expressão regular. En nuestro caso, como el cliente y el servidor es lo mismo, es suficiente añadir la dirección 127.0.0.1. Esta configuración debe efectuarse en el archivo /etc/munin/munin-node.conf:
/etc/munin/munin-node.conf
# [..]
# A list of addresses that are allowed to connect. This must be a
# regular expression, since Net::Server does not understand CIDR-style
# network notation unless the perl module Net::CIDR is installed. You
# may repeat the allow line as many times as you'd like
allow ^127\.0\.0\.1$
# [..]
El nombre del sistema cliente también puede ser configurado en este fichero:
/etc/munin/munin-node.conf
# [..]
# Set this if the client doesn't report the correct hostname when
# telnetting to localhost, port 4949
#
#host_name localhost.localdomain
host_name server.home.lan
# [..]
El servicio cliente debe ser reiniciado:
root@server:~# service munin-node restart
Servidor
En el servidor deben añadirse a la configuración las direcciones de los clientes a contactar, lo que puede hacerse en el archivo /etc/munin/munin.conf:
/etc/munin/munin.conf
# [...]
# a simple host tree
[server.home.lan]
address 127.0.0.1
use_node_name yes
# [...]
En caso de que existan más clientes, sólo se requiere añadir los nombres respectivos y sus direcciones en bloques semejantes a los del listado.
Deverá também ser configurada a integração do munin no servidor apache2. O munin fornece um ficheiro de configuração do apache que pode ser utilizado com algumas alterações.
O ficheiro deverá ser colocado em /etc/apache2/conf.d/munin, o que pode ser feito recorrendo a um link simbólico::
root@server:~# ln -sf /etc/munin/apache.conf /etc/apache2/conf.d/munin
También debe definirse un rango de direcciones IP, a partir de las cuales se pueda acceder a la interfaz web munin: la opción Allow from 192.168.1.0/24 sólo permite el acceso a partir de la red interna. En caso de que se pretenda acceder desde cualquier dirección, se debe especificar Allow from All.
Esta configuración se almacena en el archivo /etc/apache2/conf.d/munin:
/etc/apache2/conf.d/munin
# [...]
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
Allow from 192.168.1.0/24
# Allow from all
Options None
# [...]
Seguridad
Debido a que munin ofrece mucha información acerca de las características del sistema, su nivel de acceso debe ser restringido. El servidor httpd apache2 puede proteger un directorio, dando acceso sólo a los usuarios devidamente autenticados y autorizados. Como se pretende el máximo de seguridad, la autenticación se realizará mediante el método de autenticación “Digest” del apache2, que transmite los datos de forma segura.
La configuración se realiza en dos etapas. En primer lugar, debe crearse el archivo de autorizaciones para el recurso Munin en el servidor apache2, con los usuarios y sus respectivas contraseñas:
root@server:~# htdigest -c /etc/munin/munin-htpasswd Munin dsantana
Adding password for fribeiro in realm munin.
New password:
Re-type new password:
La opción -c crea un archivo de nuevo. Para añadir otro usuario, esta opción debe ser omitida.
En segundo lugar, modificamos la configuración de apache2 para exigir un usuario y contraseña válidos, para acceder al directorio /munin. Esto puede hacerse en el archivo /etc/apache2/conf.d/munin:
/etc/apache2/conf.d/munin
# [...]
# This file can be used as a .htaccess file, or a part of your apache
# config file.
#
# For the .htaccess file option to work the munin www directory
# (/var/cache/munin/www) must have "AllowOverride all" or something
# close to that set.
#
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Digest
require valid-user
# [...]
El módulo de autenticación auth_digest debe estar activo:
root@server:~# a2enmod auth_digest
Reiniciar el servidor apache2:
root@server:~# service apache2 restart
Verificación
Verificar el funcionamiento de munin, Debe abrir un navegador de Internet e indicar http://192.168.1.100/munin en la barra de direcciones: