Monitoramento Servidor · 5 min read · Oct 15, 2025
Monitoramento de Servidor com Munin e Monit no Debian 8 (Jessie)
Neste artigo, descreverei como você pode monitorar seu servidor Debian 8 (Jessie) 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 8 (Jessie), mas a configuração deve se aplicar a outras distribuições como Ubuntu 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.
Certifique-se de que o sistema esteja atualizado antes de começar a instalar o Munin, execute:
apt-get update
apt-get upgradeO Apache é usado para mostrar as páginas do Munin, o módulo fcgid do apache é necessário para o recurso de zoom do gráfico do Munin. Instale o apache e o módulo fcgid com apt.
apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgidAtive o módulo fcgid no apache.
a2enmod fcgid2 Instalar e Configurar o Munin
Para instalar o Munin no Debian Jessie, fazemos isso:
apt-get install munin munin-node munin-plugins-extra Quando o servidor estiver executando MySQL ou MariaDB, ative alguns plugins extras do Munin para monitorar o MySQL:
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 de árvore de hosts simples. Sem os comentários, o arquivo alterado fica assim:
nano /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 lock/pid. Todos eles
# devem ser graváveis pelo usuário que executa o munin-cron. Todos eles
# são definidos com 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
# Onde procurar os arquivos www estáticos
#
#staticdir /etc/munin/static
# arquivos cgi temporários estão aqui. note que deve ser gravável por
# o 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 2.4 para o Munin /etc/munin/apache24.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).
A configuração do apache Munin não está habilitada por padrão, isso foi alterado do Debian Wheezy para Jessie. O novo diretório de configuração é /etc/apache2/conf-enabled em vez de /etc/apache2/conf.d, que era usado em versões mais antigas como Wheezy e Squeeze.
Execute esses comandos para habilitar e carregar a configuração no apache.
cd /etc/apache2/conf-enabled/
ln -s /etc/munin/apache24.conf munin.conf
service apache2 restartCertifique-se de comentar a linha Require local e adicionar Require all granted e Options FollowSymLinks SymLinksIfOwnerMatch em vez disso (caso contrário, você só poderá acessar a saída do Munin a partir do localhost):
nano /etc/munin/apache24.confAlias /munin /var/cache/munin/www
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
SetHandler fcgid-script
SetHandler cgi-script
Reinicie o Apache:
service apache2 restartEm seguida, reinicie o Munin:
service 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:

(Este é apenas um pequeno trecho dos muitos gráficos que o munin produz…)
3 Proteger por Senha o Diretório de Saída do Munin (Opcional, mas altamente recomendado)
Agora é uma boa ideia proteger por 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/munin/apache24.conf novamente…
nano /etc/munin/apache24.conf… comente “Require all granted” e adicione as linhas que marquei em vermelho:
Alias /munin /var/cache/munin/www
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
SetHandler fcgid-script
SetHandler cgi-script
Em seguida, reinicie o Apache:
service apache2 restart4 Habilitar módulos adicionais no Munin
O comando Munin “munin-node-configure –suggest” pode ser usado para obter recomendações para módulos adicionais do Munin que podem ser habilitados no servidor. Execute:
munin-node-configure --suggestA saída deve ser semelhante a isto:

A coluna “usado” mostra se um módulo está habilitado, a coluna “Sugestões” mostra se o servidor executa um serviço que pode ser monitorado por este módulo. Crie um symlink para o módulo em /etc/munin/plugins para habilitá-lo.
Aqui, habilitarei os módulos apache_* como exemplo:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volumeReinicie o Munin para carregar a nova configuração.
service munin-node restartReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.