Monitoramento Servidor · 4 min read · Oct 15, 2025
Monitoramento de Servidor Com munin E monit No Debian Wheezy
Monitoramento de Servidor Com munin E monit No Debian Wheezy
Versão 1.0
Autor: Falko Timme
Siga-me no Twitter
Neste artigo, descreverei como você pode monitorar seu servidor Debian Wheezy com munin e monit. O munin produz gráficos interessantes sobre quase todos os aspectos do seu servidor (média de carga, uso de memória, uso da CPU, throughput do MySQL, tráfego do eth0, etc.) sem muita configuração, enquanto o monit verifica a disponibilidade de serviços como Apache, MySQL, Postfix e toma a ação apropriada, como um reinício, se encontrar um serviço que não está se comportando como esperado. A combinação dos dois oferece um monitoramento completo: gráficos que permitem reconhecer problemas atuais ou futuros (como “Precisamos de um servidor maior em breve, nossa média de carga está aumentando rapidamente.”), e um watchdog que garante a disponibilidade dos serviços monitorados.
Embora o munin permita monitorar mais de um servidor, discutiremos apenas o monitoramento do sistema onde ele está instalado aqui.
Este tutorial foi escrito para Debian Wheezy, mas a configuração deve se aplicar a outras distribuições com poucas alterações também.
Quero dizer primeiro que esta não é a única maneira de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
O nome do host do nosso sistema é server1.example.com, e temos um site www.example.com nele com o diretório raiz do documento /var/www/www.example.com/web.
2 Instalar E Configurar munin
Para instalar o munin no Debian Wheezy, fazemos isso:
apt-get install munin munin-node munin-plugins-extraAtive alguns plugins extras do munin:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_innodb mysql_innodb
ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threadsEm seguida, devemos editar o arquivo de configuração do munin /etc/munin/munin.conf. Descomente as linhas dbdir, htmldir, logdir, rundir e tmpldir (os valores padrão estão bons). Queremos que o munin use o nome server1.example.com em vez de localhost.localdomain na saída HTML, portanto, substituímos localhost.localdomain por server1.example.com na seção da árvore de hosts simples. Sem os comentários, o arquivo alterado fica assim:
vi /etc/munin/munin.conf| # Exemplo de arquivo de configuração para Munin, gerado por 'make build' # As próximas três variáveis especificam onde está a localização dos RRD # bancos de dados, a saída HTML, logs e os arquivos de bloqueio/pid. Todos eles # devem ser graváveis pelo usuário que executa o munin-cron. Todos eles # têm valores padrão que você vê aqui. # dbdir /var/lib/munin htmldir /var/cache/munin/www logdir /var/log/munin rundir /var/run/munin # Onde procurar os templates HTML # tmpldir /etc/munin/templates # Onde procurar os arquivos www estáticos # #staticdir /etc/munin/static # arquivos cgi temporários estão aqui. note que deve ser gravável pelo # usuário cgi (geralmente ninguém ou httpd). # # cgitmpdir /var/lib/munin/cgi-tmp # (Exatamente um) diretório para incluir todos os arquivos. includedir /etc/munin/munin-conf.d [...] # uma árvore de hosts simples [server1.example.com] address 127.0.0.1 use_node_name yes [...] |
Devemos encontrar o arquivo de configuração do Apache para o munin /etc/apache2/conf.d/munin (que na verdade é um symlink para /etc/munin/apache.conf) - ele define um alias chamado munin para o diretório de saída HTML do munin /var/cache/munin/www, o que significa que podemos acessar o munin de todos os sites neste servidor usando o caminho relativo /munin (por exemplo, http://www.example.com/munin).
Certifique-se de comentar a linha Allow from localhost 127.0.0.0/8 ::1 e adicionar Allow from all em vez disso (caso contrário, você só poderá acessar a saída do munin a partir do localhost):
vi /etc/apache2/conf.d/munin| # Habilite isso para geração de templates Alias /munin /var/cache/munin/www # Habilite isso para templates baseados em cgi #Alias /munin-cgi/static /var/cache/munin/www/static #ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html # |
Reinicie o Apache:
/etc/init.d/apache2 restartEm seguida, reinicie o munin:
/etc/init.d/munin-node restartAgora aguarde alguns minutos para que o munin possa produzir sua primeira saída, e então vá para http://www.example.com/munin/ em seu navegador, e você verá as primeiras estatísticas. Após alguns dias, isso pode parecer assim:

(Isto é apenas um pequeno trecho dos muitos gráficos que o munin produz…)
3 Proteger Com Senha O Diretório De Saída Do munin (Opcional)
Agora é uma boa ideia proteger com senha o diretório de saída do munin, a menos que você queira que todos possam ver cada pequena estatística sobre seu servidor.
Para fazer isso, devemos criar o arquivo de senha /etc/munin/munin-htpasswd. Queremos fazer login com o nome de usuário admin, então fazemos isso:
htpasswd -c /etc/munin/munin-htpasswd adminDigite uma senha para admin. Em seguida, abra /etc/apache2/conf.d/munin novamente…
vi /etc/apache2/conf.d/munin… e descomente a seguinte seção:
| [...] AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user [...] |
Em seguida, reinicie o Apache:
/etc/init.d/apache2 restartReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.