Ferramentas de Usuário

Ferramentas de Site


Action disabled: source
pt:wheezy:monitoring:system:munin

Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

6.2.1 Munin

Objetivo

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 arquitetura 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.

Atenção

O pacote munin utiliza uma interface web. É necessário, portanto, instalar um 4.1 Servidor HTTP. Para mais informações, consultar instalação do 4.1.1 Apache2 e 4.1.2 Apache2 + Ssl, caso queiramos ligações seguras.

Sugestão

O pacote munin pode ser instalado num sistema (servidor) e monitorizar outros sistemas (clientes). Caso se pretenda monitorizar apenas um sistema, este funciona como cliente e servidor ao mesmo tempo.

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-core 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 é efetuada no ficheiro /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$

# [..]

O nome do sistema cliente também pode ser configurado neste ficheiro:

/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

# [..]

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:

/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 respetivos nomes e endereços em blocos semelhantes ao 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

Neste ficheiro 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:

/etc/apache2/conf.d/munin
# [...]
 
<Directory /var/cache/munin/www>
        Options None
        Order allow,deny
        Allow from localhost 127.0.0.0/8 ::1
        Allow from 192.168.1.0/24
        # Allow from All

# [...]
</Directory>
# [...]

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 diretoria, 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 respetivas 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 à diretoria /munin, o que é feito no ficheiro /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

# [...]

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:

Monitorização do sistema com o munin

Plug-ins

É possível expandir a funcionalidade do munin, recorrendo aos diversos plugins e templates disponíveis no sítio Internet do projeto, em https://github.com/munin-monitoring/contrib/. No entanto, a sua configuração sai fora do âmbito deste guia.

Referências

pt/wheezy/monitoring/system/munin.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1