Monitoramento de Servidores · 4 min read · Oct 15, 2025

Monitoramento de Servidores Com munin E monit No Debian Squeeze

Monitoramento de Servidores Com munin E monit No Debian Squeeze

Versão 1.0
Autor: Falko Timme
Siga-me no Twitter

Neste artigo, descreverei como você pode monitorar seu servidor Debian Squeeze 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 de 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 Squeeze, mas a configuração deve se aplicar a outras distribuições com poucas mudanças 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 Squeeze, fazemos o seguinte:

apt-get install munin munin-node munin-plugins-extra

Em 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ão os locais dos RRD # bancos de dados, a saída HTML, logs e os arquivos de lock/pid. Todos eles # devem ser graváveis pelo usuário que executa o munin-cron. Todos eles # estão definidos para os valores 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 # (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 todas as 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

| Alias /munin /var/cache/munin/www Order allow,deny Allow from all #Allow from localhost 127.0.0.0/8 ::1 Options None # Este arquivo pode ser usado como um arquivo .htaccess, ou parte do seu arquivo de configuração do apache. # # Para a opção do arquivo .htaccess funcionar, o diretório www do munin # (/var/cache/munin/www) deve ter "AllowOverride all" ou algo # próximo a isso definido. # # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Esta próxima parte requer que o mod_expires esteja habilitado. # # Defina o tempo de expiração padrão para arquivos para 5 minutos e 10 segundos a partir # do seu tempo de criação (modificação). Provavelmente há novos arquivos até # esse tempo. # ExpiresActive On ExpiresDefault M310 |

Reinicie o Apache:

/etc/init.d/apache2 restart

Em seguida, reinicie o munin:

/etc/init.d/munin-node restart

Agora 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 o seguinte:

htpasswd -c /etc/munin/munin-htpasswd admin

Digite 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 restart
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.