Monitoramento Servidor · 5 min read · Oct 20, 2025

Monitoramento de Servidor com Munin e Monit no Ubuntu 16.04 LTS (Xenial Xerus)

Este tutorial mostrará como monitorar um servidor Ubuntu 16.04 com Munin e Monit. Munin produz gráficos bonitos sobre quase todos os aspectos do seu servidor, enquanto o Monit verifica a disponibilidade de serviços como Apache, MySQL, Postfix e toma as ações apropriadas, como reiniciar, se encontrar um serviço que não está se comportando como esperado. A combinação dos dois oferece monitoramento completo: gráficos que permitem reconhecer problemas atuais ou futuros e um watchdog que garante a disponibilidade dos serviços monitorados. Este tutorial contém dois capítulos (opcionais) sobre a integração do Munin e Monit no ISPConfig 3.1.

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.

Os seguintes passos devem ser realizados como usuário root. Para se tornar usuário root em seu servidor, execute este comando:

sudo -s

Certifique-se de que o sistema está atualizado antes de começar a instalar o Munin, execute:

apt-get update  
apt-get upgrade

O 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. Vou instalar o apache e o módulo libapache2-mod-fcgid com apt.

apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgid

Ative o módulo fcgid no apache.

a2enmod fcgid

2 Instalar e Configurar o Munin

Para instalar o Munin no Ubuntu 16.04, execute os comandos abaixo:

apt-get -y 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_queries mysql_queries  
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries  
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads

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:

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  
# 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/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).

Agora vamos editar o arquivo munin.conf para o Apache para permitir acesso de endereços IP externos. Crie um backup do arquivo original:

mv /etc/munin/apache24.conf /etc/munin/apache24.conf_bak

Abra o novo arquivo com um editor:

nano /etc/munin/apache24.conf

E cole o conteúdo abaixo:

Alias /munin /var/cache/munin/www  
  
 # Exigir local  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
 Options None  
  
  
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph  
  
 # Exigir local  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
   
 SetHandler fcgid-script  
   
   
 SetHandler cgi-script  
   

Reinicie o Apache:

service apache2 restart

Em seguida, reinicie o Munin:

service munin-node restart

Agora aguarde alguns minutos para que o Munin possa produzir sua primeira saída e, em seguida, vá para http://www.example.com/munin/ em seu navegador, e você verá as primeiras estatísticas:

Gráficos do Munin.

(Isto é 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 admin

Digite uma senha para admin. Em seguida, abra /etc/munin/apache.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  
  
 # Exigir 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  
  
 # Exigir 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 restart

4 Habilitar Módulos Adicionais no Munin

O comando do 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 --suggest

A saída deve ser semelhante a isto:

Sugestão do Munin

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, vou habilitar 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_volume

Reinicie o Munin para carregar a nova configuração.

service munin-node restart

5 Configurar o Munin no ISPConfig (opcional)

O Painel de Controle de Hospedagem ISPConfig tem uma opção para mostrar dados do Munin dentro do módulo Monitor do ISPConfig. Os dados do Munin são carregados em um iframe, como a maioria dos navegadores bloqueia conteúdo a ser carregado de http dentro de um site https, teremos que encontrar uma maneira de acessar as estatísticas do Munin via SSL. A maneira mais fácil é usar o vhost do ISPConfig habilitado para SSL para isso, criando um symlink dentro do diretório web do ISPConfig para o diretório de dados www do Munin.

ln -s /var/cache/munin/www /usr/local/ispconfig/interface/web/munin

Agora podemos acessar o Munin em um navegador com https://server1.example.com:8080/munin através do vhost apache do ISPConfig.

O próximo passo é adicionar a configuração no ISPConfig.

Faça login no ISPConfig como usuário Administrador (admin) e vá para Sistema > Configuração do servidor, preencha a URL, nome de usuário e senha para o Munin conforme mostrado abaixo.

Configurações do Munin no ISPConfig.

Certifique-se de usar https:// e a porta 8080 na URL do munin.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.