Monitoramento · 5 min read · Oct 21, 2025

Como Instalar o Monitoramento do Servidor Nagios no Ubuntu 16.04

Nagios é um software de código aberto para monitoramento de sistemas e redes. O Nagios pode monitorar a atividade de um host e seus serviços, e fornece um aviso/alerta se algo ruim acontecer no servidor. O Nagios pode ser executado em sistemas operacionais Linux. Neste momento, estou usando o Ubuntu 16.04 para a instalação.

Pré-requisitos

  • 2 servidores Ubuntu 16.04 - 64 bits - 1 - Host Nagios com IP: 192.168.1.9
  • 2 - Cliente Ubuntu com IP: 192.168.1.10
  • Acesso Root/Sudo

O que faremos neste tutorial:

  1. Instalação das dependências de pacotes como - LAMP etc.
  2. Configuração de usuário e grupo.
  3. Instalando o Nagios.
  4. Configurando o Apache.
  5. Testando o Servidor Nagios.
  6. Adicionando um Host para Monitorar.

Instalando os pré-requisitos

O Nagios requer o compilador gcc e build-essentials para a compilação, LAMP (Apache, PHP, MySQL) para a interface web do Nagios e Sendmail para enviar alertas do servidor. Para instalar todos esses pacotes, execute este comando (é apenas 1 linha):

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

Configuração de usuário e grupo

Para que o Nagios funcione, você deve criar um novo usuário para o Nagios. Nomearemos o usuário “nagios” e, adicionalmente, criaremos um grupo chamado “nagcmd”. Adicionamos o novo usuário ao grupo conforme mostrado abaixo:

useradd nagios  
groupadd nagcmd  
usermod -a -G nagcmd nagios  
usermod -a -G nagios,nagcmd www-data

Instalando o Nagios

Passo 1 - Baixar e extrair o núcleo do Nagios

cd ~  
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz  
tar -xzf nagios*.tar.gz  
cd nagios-4.2.0

Passo 2 - Compilar o Nagios

Antes de construir o Nagios, você terá que configurá-lo com o usuário e o grupo que você criou anteriormente.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Para mais informações, use: ./configure –help.

Agora para instalar o Nagios:

make all  
sudo make install  
sudo make install-commandmode  
sudo make install-init  
sudo make install-config  
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

E copie o diretório evenhandler para o diretório nagios:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/  
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Passo 3 - Instalar os Plugins do Nagios

Baixe e extraia os plugins do Nagios:

cd ~  
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz  
tar -xzf nagios-plugins*.tar.gz  
cd nagios-plugin-2.1.2/

Instale os plugins do Nagios com os comandos abaixo:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl  
make  
make install

Passo 4 - Configurar o Nagios

Após a fase de instalação estar completa, você pode encontrar a configuração padrão do Nagios em /usr/local/nagios/.

Vamos configurar o Nagios e o contato do Nagios.

Edite a configuração padrão do nagios com vim:

vim /usr/local/nagios/etc/nagios.cfg

descomente a linha 51 para a configuração do monitoramento do host.

cfg_dir=/usr/local/nagios/etc/servers

Salve e saia.

Adicione uma nova pasta chamada servers:

mkdir -p /usr/local/nagios/etc/servers

O contato do Nagios pode ser configurado no arquivo contact.cfg. Para abri-lo, use:

vim /usr/local/nagios/etc/objects/contacts.cfg

Em seguida, substitua o e-mail padrão pelo seu próprio e-mail.

Configurando o Apache

Passo 1 - habilitar módulos do Apache

sudo a2enmod rewrite  
sudo a2enmod cgi

Você pode usar o comando htpasswd para configurar um usuário nagiosadmin para a interface web do nagios

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

e digite sua senha.

Passo 2 - habilitar o virtualhost do Nagios

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Passo 3 - Iniciar o Apache e o Nagios

service apache2 restart  
service nagios start

Quando o Nagios iniciar, você pode ver o seguinte erro :

Starting nagios (via systemctl): nagios.serviceFailed

E é assim que você corrige:

cd /etc/init.d/  
cp /etc/init.d/skeleton /etc/init.d/nagios

Agora edite o arquivo Nagios:

vim /etc/init.d/nagios

… e adicione o seguinte código:

DESC="Nagios"  
NAME=nagios  
DAEMON=/usr/local/nagios/bin/$NAME  
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"  
PIDFILE=/usr/local/nagios/var/$NAME.lock

Torne-o executável e inicie o Nagios:

chmod +x /etc/init.d/nagios  
service apache2 restart  
servuce nagios start

Testando o Servidor Nagios

Por favor, abra seu navegador e acesse o IP do servidor Nagios, no meu caso: http://192.168.1.9/nagios.

Login do Nagios com apache htpasswd.

Login do Nagios

Painel de Controle do Nagios

Painel do Nagios

Adicionando um Host para Monitorar

Neste tutorial, adicionarei um host Ubuntu para monitorar no servidor Nagios que criamos acima.

IP do Servidor Nagios : 192.168.1.9  
IP do Host Ubuntu : 192.168.1.10

Passo 1 - Conectar ao host ubuntu

ssh [email protected]

Passo 2 - Instalar o Serviço NRPE

sudo apt-get install nagios-nrpe-server nagios-plugins

Passo 3 - Configurar NRPE

Após a instalação estar completa, edite o arquivo nrpe /etc/nagios/nrpe.cfg:

vim /etc/nagios/nrpe.cfg

… e adicione o IP do Servidor Nagios 192.168.1.9 ao server_address.

server_address=192.168.1.9

Passo 4 - Reiniciar NRPE

service nagios-nrpe-server restart

Passo 5 - Adicionar Host Ubuntu ao Servidor Nagios

Por favor, conecte-se ao servidor Nagios:

ssh [email protected]

Em seguida, crie um novo arquivo para a configuração do host em /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Adicione as seguintes linhas:

# Arquivo de configuração do Host Ubuntu

define host {
        use                          linux-server
        host_name                    ubuntu_host
        alias                        Host Ubuntu
        address                      192.168.1.10
        register                     1
}

define service {
      host_name                       ubuntu_host
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Verificar Usuários
      check_command           check_local_users!20!50
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Disco Local
      check_command                   check_local_disk!20%!10%!/
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Verificar SSH
      check_command                   check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Total de Processos
      check_command                   check_local_procs!250!400!RSZDT
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Você pode encontrar muitos check_command no arquivo /usr/local/nagios/etc/objects/commands.cfg. Veja lá se você quiser adicionar mais serviços como DHCP, POP etc.

E agora verifique a configuração:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

… para ver se a configuração está correta.

Passo 6 - Reiniciar todos os serviços

No Host Ubuntu, inicie o Serviço NRPE:

service nagios-nrpe-server restart

… e no servidor Nagios, inicie o Apache e o Nagios:

service apache2 restart  
service nagios restart

Passo 7 - Testando o Host Ubuntu

Abra o servidor Nagios no navegador e veja o ubuntu_host sendo monitorado.

O host Ubuntu está disponível no host monitorado.

Servidor monitorado está listado

Todos os serviços monitorados sem erro.

Todos os serviços estão verdes

Conclusão

O Nagios é uma aplicação de código aberto para monitoramento de um sistema. O Nagios tem sido amplamente utilizado devido à facilidade de configuração. O Nagios é suportado por vários plugins, e você pode até criar seus próprios plugins. Veja aqui para mais informações.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.