Instalação e Configuração do Munin no Debian Squeeze
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:
- Servidor Munin
- IP: 192.168.1.30/24
- Nome: munin
- Cliente Munin
- IP: 192.168.1.31/24
- Nome: cliente
Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_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
aptitude update && aptitude dist-upgrade -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
apt-get install apache2 munin munin-node munin-plugins-extra -y
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 [munin] address 127.0.0.1 use_node_name yes #Agora vamos adicionar as linhas abaixo referente ao cliente [client] address 192.168.1.31 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 fazer um ajuste no arquivo de configuração do apache
sed -i 's/Allow from localhost */#Allow from localhost /g' /etc/apache2/conf.d/munin sed -i '/#Allow from/{h;s/.*/ Allow from all/;p;x;}' /etc/apache2/conf.d/munin
Agora vamos mandar reiniciar o apache e o munin
/etc/init.d/apache2 restart /etc/init.d/munin-node restart
Configuração do Cliente
Agora vamos instalar os pacotes no cliente.
apt-get install munin munin-node munin-plugins-extra -y
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\\.30$/;}' /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 reiniciar o munin
/etc/init.d/munin-node restart
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.30/munin os relatório demoram em média uns 5 minutos para serem gerados os primeiros.
Configuração do VirtualHost
Agora em nosso servidor vamos configurar um virtualhost para o Munin
vim /etc/apache2/sites-available/munin <VirtualHost *:80> ServerName munin.douglasqsantos.com.br ServerAlias monitor.douglasqsantos.com.br DocumentRoot "/var/cache/munin/www" #Controle de acesso ao munin <Directory "/var/cache/munin/www"> 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 ${APACHE_LOG_DIR}/munin.douglasqsantos.com.br-error.log CustomLog ${APACHE_LOG_DIR}/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 criar um usuário e uma senha para acesso ao munin, aqui eu vou criar o usuário chamado munin
htpasswd -s -c /etc/munin/munin-htpasswd munin New password: Re-type new password: Adding password for user munin
Agora vamos remover os sites default do apache
a2dissite default a2dissite default-ssl
Agora vamos ativar o virtualhost do munin
a2ensite munin
Agora vamos reiniciar o apache
/etc/init.d/apache2 restart
Agora é só acessar http://munin.douglasqsantos.com.br ou http://ip_servidor, aqui agora vamos precisar informar o usuário munin e a senha que foi definida com htpasswd -s -c
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.