Objectivo
O pacote munin permite monitorizar diversos parâmetros de um ou vários sistemas, como por exemplo, estado e carga dos serviços, temperaturas, espaço em disco, etc.
O munin funciona segundo uma arquitectura cliente-servidor, em que um sistema servidor recolhe e organiza dados recebidos de vários sistemas clientes. Para monitorizar apenas um servidor, deverão ser instalados e configurados os pacotes cliente e servidor no mesmo sistema.
- NOTA:
- O pacote munin utiliza uma interface web. É necessário, portanto, instalar um servidor http. Para mais informações, consultar instalação do Apache2 e Apache2 SSL, caso queiramos ligações seguras.
Instalação
Cliente
Do lado do cliente, a instalação consiste apenas em instalar o pacote cliente e alguns extras:
root@server:~# aptitude install munin-node munin-plugins-extra
Servidor
Do lado do servidor é necessário a instalação do pacote munin:
root@server:~# aptitude install munin
Configuração
Cliente
A configuração dos sistemas cliente consiste em adicionar o endereço do servidor à lista de endereços que podem estabelecer ligação ao cliente. o endereço deve ser acrescentado no formato expressão regular. No nosso caso, como o cliente e o servidor é o mesmo, basta adicionar o endereço 127.0.0.1.
Essa configuração é efectuada no ficheiro /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$
# [..]
O serviço cliente deverá então ser reiniciado:
root@server:~# /etc/init.d/munin-node restart
Servidor
No servidor deverão ser acrescentados à configuração os endereços dos clientes a contactar, o que é feito no ficheiro /etc/munin/munin.conf:
# [...]
# a simple host tree
[server.home.lan]
address 127.0.0.1
use_node_name yes
# [...]
Caso existam mais clientes, basta adicionar os respectivos nomes e endereços em blocos semelhantes ao listado.
Deverá também ser definida para uma gama de endereços IP a partir dos quais se pode aceder à interface web do munin: A opção Allow from 192.168.1.0/24 permite o acesso apenas a partir da rede interna. Caso se pretenda aceder a partir de qualquer endereço, basta especificar Allow from All.
Esta configuração está guardada no ficheiro /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
# [...]
Segurança
Como o munin fornece muita informação acerca das características do sistema, o seu acesso deve ser bastante restrito. O servidor httpd apache2 pode proteger uma directoria, dando acesso apenas a utilizadores devidamente autenticados e autorizados. Como se pretende o máximo de segurança, a autenticação será feita através do método de autenticação "Digest" do apache2, que transmite os dados de forma segura.
A configuração é feita em 2 fases. Em primeiro lugar, deverá ser criado o ficheiro de autorizações para o recurso Munin no servidor apache2, com os utilizadores e respectivas senhas:
root@server:~# htdigest -c /etc/munin/munin-htpasswd Munin fribeiro
Adding password for fribeiro in realm munin.
New password:
Re-type new password:
A opção -c cria o ficheiro de novo. Para acrescentar outro utilizador, esta opção deve ser omitida.
Em segundo lugar, alteramos a configuração do apache2 para exigir um utilizador e palavra-passe válidos para aceder à directoria /munin, o que é feito no ficheiro /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
# [...]
O módulo de autenticação auth_digest deve estar activo:
root@server:~# a2enmod auth_digest
E reiniciar o servidor apache2:
root@server:~# /etc/init.d/apache2 restart
Verificação
Para verificar o funcionamento do munin, basta abrir um browser e indicar http://192.168.1.100/munin na barra de endereços:
Plug-ins
É possível expandir a funcionalidade do munin, recorrendo aos diversos plugins disponíveis no sítio Internet do projecto, em http://muninexchange.projects.linpro.no. No entanto, a sua configuração sai fora do âmbito deste guia.
Referências
- Projecto Munin: (http://munin.projects.linpro.no/)
- MuninExchange: (http://muninexchange.projects.linpro.no/)


