Instalação e Configuração do Munin no CentOS 6.3

Munin é uma ferramenta de monitoramento de rede recurso que pode ajudar a analisar as tendências de recursos e “O que aconteceu para matar nosso desempenho?” problemas. Ele é projetado para ser plug and play. Uma instalação padrão fornece uma série de gráficos com quase nenhum trabalho.

Origem do nome Munin:

Na mitologia nórdica, Huginn (do nórdico antigo “pensamento”) e Muninn (do nórdico antigo “memória” ou “mente”) são um par de corvos que voam por todo o mundo conhecido como Midgard, trazendo informações ao deus Odin. As informações sobre Huginn e Muninn são encontradas no Edda poética, compilação do século XIII de fontes mais antigas; no Edda em prosa e no Heimskringla, escritos no século XIII por Snorri Sturluson; no Terceiro Tratado Gramatical, compilado no século XIII por Óláfr Þórðarson; e na poesia dos escaldos. Por vezes seus nomes são modernamente anglicizados como Hugin e Munin.

O que vou utilizar:

  1. Servidor Munin
  2. IP: 192.168.1.40/24
  3. Nome: centos0
  1. Cliente Munin
  2. IP: 192.168.1.41/24
  3. Nome: centos1

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialcentos6_en para que não falte nenhum pacote ou configuração.

Agora vamos mandar atualizar os repositórios e mandar fazer um upgrade do sistema nos servidores

yum check-update && yum update -y

Agora no servidor Munin vamos instalar o Apache que é por onde vamos visualizar os nossos relatórios e vamos instalar também o próprio munin

yum install munin munin-cgi munin-common munin-node httpd -y --exclude=perl-XML-SAX-Base

Agora vamos adicionar o munin na inicialização do sistema

chkconfig --add munin-node
chkconfig munin-node on

Agora vamos adicionar o apache na inicialização do sistema

chkconfig --add httpd
chkconfig httpd on

Agora vamos ajustar a configuração do munin server vamos mudar o nome dele de localhost.localdomain para debian e vamos adicionar o cliente.

vim /etc/munin/munin.conf
[...]
#Agora vamos trocar o localhost.localdomain por debian igual abaixo
[centos0]
     address 127.0.0.1
     use_node_name yes
     
#Agora vamos adicionar as linhas abaixo referente ao cliente
[centos1]
     address 192.168.1.41
     use_node_name yes

Agora vamos fazer o munin reconhecer todos os plugins que ele pode utilizar

Vamos acessar o diretório dos plugins do munin

cd /usr/share/munin/plugins

Agora vamos mandar rodar o script que reconhece os serviços que ele vai poder monitorar

munin-node-configure --suggest

Agora vamos fazer um ajuste no arquivo de configuração das interfaces de rede

sed -i '/$MUNIN_LIBDIR/{h;s/.*/MUNIN_LIBDIR=\/usr\/share\/munin/;p;x;}' /usr/share/munin/plugins/if_

Agora vamos mandar rodar o script que vai encontrar as interfaces de redes que vão ser monitoradas

./if_ suggest

Agora vamos gerar a senha para o usuário munin para podemos utilizar os gráficos web do munin

htpasswd -s -c /etc/munin/munin-htpasswd munin

Agora vamos mandar iniciar o apache e o munin

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

Configuração do Cliente

Agora vamos mandar atualizar os repositórios e fazer um upgrade do sistema

yum check-update && yum update -y

Agora vamos instalar os pacotes no cliente.

yum install munin munin-cgi munin-common munin-node -y --exclude=perl-XML-SAX-Base

Agora vamos adicionar o endereço ip do servidor para poder obter os dados do servidor

sed -i '/allow ^127\\./{p;s/.*/allow ^192\\.168\\.1\\.40$/;}' /etc/munin/munin-node.conf

Agora vamos fazer o munin reconhecer todos os plugins que ele pode utilizar

Vamos acessar o diretório dos plugins do munin

cd /usr/share/munin/plugins

Agora vamos mandar rodar o script que reconhece os serviços que ele vai poder monitorar

munin-node-configure --suggest

Agora vamos fazer um ajuste no arquivo de configuração das interfaces de rede

sed -i '/$MUNIN_LIBDIR/{h;s/.*/MUNIN_LIBDIR=\/usr\/share\/munin/;p;x;}' /usr/share/munin/plugins/if_

Agora vamos mandar rodar o script que vai encontrar as interfaces de redes que vão ser monitoradas

./if_ suggest

Agora vamos mandar iniciar o munin

/etc/init.d/munin-node start

Agora vamos mandar reiniciar o munin do servidor

/etc/init.d/munin-node restart

Agora já podemos acessar o munin em http://192.168.1.40/munin, aqui vamos precisar informar o usuário munin e a senha que foi definida para ele com htpasswd -s -c os relatório demoram em média uns 5 minutos para serem gerados os primeiros.

Configuração do VirtualHost

Vamos fazer um backup do arquivo de configuração do munin

cp /etc/httpd/conf.d/munin.conf /etc/httpd/conf.d/munin.conf.bkp

Agora em nosso servidor vamos configurar um virtualhost para o Munin

vim /etc/httpd/conf.d/munin.conf
<VirtualHost *:80>
 ServerName munin.douglasqsantos.com.br
 ServerAlias monitor.douglasqsantos.com.br
 DocumentRoot "/var/www/html/munin"

 #Controle de acesso ao munin
 <Directory "/var/www/html/munin">
 Options -Indexes +FollowSymLinks +MultiViews
 AllowOverride All
 Order allow,deny
 allow from all

 #Autenticação do munin
 AuthUserFile /etc/munin/munin-htpasswd
 AuthName "Munin"
 AuthType Basic
 require valid-user
 </Directory>
 
 <IfModule mod_expires.c>
     ExpiresActive On
     ExpiresDefault M310
 </IfModule>


 #Configuração dos logs do apache
 ErrorLog /var/log/httpd/munin.douglasqsantos.com.br-error.log
 CustomLog /var/log/httpd/munin.douglasqsantos.com.br-access.log common
 
 #Retirando a assinatura do Apache
 ServerSignature Off
 
 IndexIgnore .??* *~ *# README RCS CVS *,v *,t *
 
 # Possible values include: debug, info, notice, info, error, crit,
 # alert, emerg.
 LogLevel info
</VirtualHost>

Agora vamos reiniciar o apache

/etc/init.d/httpd restart

Agora é só acessar http://munin.douglasqsantos.com.br ou http://ip_servidor

Agora para adicionar mais clientes precisamos somente adicionar no servidor uma nova entrada para o cliente e no cliente adicionar o ip do servidor como já fizemos acima e mandar reiniciar o munin do servidor e do cliente.

Referências