CentOS 7 – Vamos monitorizar toda a rede com o Nagios 4

36 Comentários

Como administrador de sistemas, é importante ter as melhores ferramentas que permitam monitorizar todos os elementos que fazem parte da rede informática. Uma das plataformas gratuitas mais fantástica para monitorização é o Nagios, não só por ser open source mas também pela forma como é possível estender a monitorização aos elementos mais estranhos.

Hoje vamos ensinar a instalar e a configurar o Nagios no CentOS 7.

 


Pré-Requisitos

  • CentOS-7-minimal
  • LAMP stack instalado (Servidor Web e PHP pelo menos)
  • nagios-4.3.4.tar.gz
  • nagios-plugins-1.5.tar.gz

Instalação do Nagios 4

Para instalar a última versão desta plataforma de montiização devem então seguir os seguintes passos:

Passo 1) Instalação das dependências

Para instalar as dependências necessárias basta que executem o seguinte comando.

sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip

Passo 2) Criar um utilizador, um grupo e respectiva password.

É necessário criar um utilizador e um grupo para executar o processo do Nagios. Para a criação do utilizador e grupo devem usar os seguintes comandos:

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

Passo 3) Instalação do Nagios Core

Vamos agora obter a última versão do Nagios Core. Esta ferramenta pode ser obtida aqui, no site oficial do Nagios, ou via linha de comandos:

cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz

O próximo passo é descompactar o nagios usando o seguinte comando:

tar xvf nagios-*.tar.gz

Vamos agora mudar de diretório:

cd nagios-*

Antes de fazermos a compilação do nagios, devem executar o seguinte comando:

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

Se tudo correu bem até aqui,sem erros, procedam à compilação do nagios

make all

Para procederem à instalação do Nagios, init scripts e alguns samples, usem os seguintes comandos:

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo make install-webconf

Vamos agora adicionar o utilizador apache ao grupo nagcmd

sudo usermod -G nagcmd apache

Passo 4) Instalar Plugins do Nagios

Os plugins para o Nagios podem ser obtidos aqui. Podem também proceder à instalação da última versão usando o seguinte comando:

cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Procedemos agora à descompactação

tar xvf nagios-plugins-*.tar.gz

Mudamos de diretório:

cd nagios-plugins-*

Antes de compilarmos o nagios-plugins devem executar o seguinte comando:

cd nagios-plugins-*

Vamos agora compilar o nagios-plugins usando o comando make

make

Para procederem à instalação, devem usar o comando seguinte:

sudo make install

Passo 5) Instalação do NRPE

A última versão do NRPE (Nagios Remote Plugin Executor) pode ser obtida aquiA instalação pode ser feita usando simplesmente o seguinte comando:

cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Procedemos agora à descompactação

tar xvf nrpe-*.tar.gz

Mudamos de diretório

cd nrpe-*

Para procedermos à configuração do NRPE usamos o seguinte comando:

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Para compilar e instalar o Nagios usem os seguintes comandos:

make all
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

Vamos agora editar o ficheiro /etc/xinetd.d/nrpe e alterar o parâmetro only_from (devem colocar o endereço da máquina remota que vai aceder ao serviço ou de uma rede)

sudo nano -w /etc/xinetd.d/nrpe

Depois de realizadas as configurações, reiniciem o serviço

sudo service xinetd restart

Configurar o Apache

Vamos agora definir uma password para acesso ao serviço. Para tal usamos o comando htpasswd e criamos, por exemplo, o utilizador nagiosadmin usando os seguinte comando:

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

Depois de criadas as credenciais de acesso, vamos reiniciar o Apache

sudo systemctl daemon-reload
sudo systemctl start nagios.service
sudo systemctl restart httpd.service

Para que o Nagios arranque aquando do boot sistema devem ativá-lo da seguinte forma:

sudo chkconfig nagios on

Após as configurações anteriores, e caso não tenha existido nenhum erro, o sistema deverá estar pronto. Para acederem à plataforma de monitorização devem usar o seguinte endereço: http://ip_maquina/nagios

Devem, de seguida, proceder à autenticação e, se tudo estiver correcto, deverão aceder à interface do Nagios tal como mostra a figura seguinte.

No menu lateral, em Host Groups > Summary, podem de imediato aceder à monitorização da própria máquina. Como podem ver pela imagem seguinte, estamos desde logo a monitorizar serviços como o HTTP, SSH assim como características da própria máquina, como por exemplo a carga do CPU, nº de utilizadores, memória swap em uso, etc.

Esperamos que tenham gostado deste tutorial. Num próximo artigo iremos ensinar a monitorizar máquinas remotas . Estejam atentos e, em caso de dúvidas ou sugestões, deixem nos comentários. Boas monitorizações!

Comentários

36

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de TIAGO ARAUJO DE SOUZA
    TIAGO ARAUJO DE SOUZA

    Olá,
    Pedro

    Utilizo esta ferramenta a 7 anos é incrível o que ela pode fazer integrada ao powershell e SNMP.
    é possível também enviar alertas via emails, SMS e para os mais entusiasmados integrar com o Telegram.

    Parabéns pela iniciativa.

    1. Avatar de Pedro Pinto

      sem duvida. Eu também uso e é simplesmente fabulosa…e open source 🙂

    2. Avatar de Frederico Almeida
      Frederico Almeida

      Nao compreendo que aqui falam de muitos sistemas de monitorizacao e com grandes elogios mas nao falam do melhor – check_mk
      Proponho que deem uma olhadela, depois de testarem e compreenderem as capacidades nao vao querer outra coisa.

      1. Avatar de Frederico Almeida
        Frederico Almeida

        De facto, na versao paga, que nao e cara comparativamente, o micro core que eles criaram é muitas vezes superior ao do nagios ou do icinga2.
        Se querem uma opiniao de quem comecou com o netsaint, o pai destes todos, procurem:

        – para networking em tempo real – Observium, especialmente se teem tudo Cisco;
        – para tudo incluindo networking mas especialmente como um todo – check_mk;
        – para monitorizacao de trafego em tempo real – ntopng+grafana;

        O check_mk é de longe o sistema mais facil de instalar, gerir, actualizar, manter, implementar; coloca o nagios ou qq outro num canto. Se usarem a versao RAW, open source, já é brutal, mas na Enterprise…. uiui nao tem paralelo.
        Eu uso para monitorizar 13 datacenters, 3290 servidores virtuais e mais de 40000 servicos em modo distribuido; em termos de networking tenho mais de 12000 dispositivos Cisco nesses 13 paises.
        Monitorizo desde os backups do TSM, aos clusters Nutanix, as v7000 da IVM, Pure Flex IBM, AS400, power systems, todo o tipo de db’s, etc

        Os pontos mais fortes para mim:

        – rule based alerting
        – auto inventory do host/dispositivo com ou sem agente
        – agente sem qq memory leak ou erros de codigo
        – multisite
        – sistema de versioning inbutido que permite ter varias versoes a correr ao mesmo tempo
        – upgrades em 1 ou 2 minutos
        – agent bakery – auto agent upgrade
        – segregacao de accessos com ldap/opendap/etc
        – codigo limpo, eficiente e sem erros
        – mais de 1000 checks pre criados
        – BI – business intelligence
        – dashboards
        – syslog
        – etc etc etc

  2. Avatar de José Cachapa
    José Cachapa

    Boa tarde,
    Excelente post!
    Sabem indicar-me se consigo obter gráficos através do nagios?
    Obrigado.

    1. Avatar de arc
      arc

      Sim consegue, via nagiosgraph, pnp4nagios e nagvis.

      1. Avatar de Pedro Pinto

        Ya, isso mesmo. O arc domina a coisa 😉

        1. Avatar de arc
          arc

          Hein?Foi mesmo ao calhas!

      2. Avatar de Hugo
        Hugo

        Outra boa solução é usar influxDB e o Graphana fica muito NICE 😀
        façam um search por nagflux

    2. Avatar de masterpro
      masterpro

      Para gráficos eu prefiro o Cacti, tenho ambos a funcionar sem problemas e o Cacti em ecrãs de monitorização 🙂

  3. Avatar de arc
    arc

    PP, são desse tipos de artigos, que colocam o PPLw em destaque.
    Grato

    1. Avatar de Bob
      Bob

      Coloca para quem trabalha nesta área 🙂
      Que é o meu caso, também.

  4. Avatar de TP
    TP

    Boas.
    Tutorial incrível! Acabei de configurar tudo rápido e fácil!
    Tem alguns passos com “erros” mas nada que não se consiga perceber o que é para fazer.
    De qualquer das formas, fiquei com uma dúvida.
    A única forma de termos as máquinas todas registadas no Nagios é instalando o software/dependências necessários no SO de cada equipamento?

    1. Avatar de Pedro Pinto

      Fiz os passos todos que estão aí sem erros. Que erros te deu? Thanks pelo feedback.

      1. Avatar de TIAGO ARAUJO DE SOUZA
        TIAGO ARAUJO DE SOUZA

        TP

        Se você quiser monitorar só o ping da maquina não é necessário instalar o Client NRPE só configurar o host no Nagios.

        Caso você queira monitorar outras funções é necessário instalar o client para o S.O especifico.

        No meu caso tenho um script powershel que lista a quantidade de ips disponíveis no DHCP e gera um alerta para o nagios.

  5. Avatar de vailavai
    vailavai

    Que alternativas mais user friendly existem ?

    1. Avatar de João
      João

      PRTG, Spiceworks, Solarwinds, ManageEngine, Splunk, etc etc.

      1. Avatar de Daniel
        Daniel

        A empresa onde trabalhas deve andar cheia de dinheiro…

        1. Avatar de Edexote
          Edexote

          O Spiceworks é de borla.

      2. Avatar de Frederico Almeida
        Frederico Almeida

        Ele disse user friendly

    2. Avatar de Ivan Leonardo
      Ivan Leonardo

      Librenms, super facil deb instalar e gerir.

      1. Avatar de Cyberwest
        Cyberwest

        Existe também o Zabix… muito bom e relativamente simples de configurar.

        1. Avatar de Notliz
          Notliz

          Acho o Zabbix muito mais amigável que o Nagios.
          Minha opinião, claro! 😉

  6. Avatar de Joao
    Joao

    Antes de compilarmos o nagios-plugins devem executar o seguinte comando:
    cd nagios-plugins-*
    Aqui dá erro

    1. Avatar de TP
      TP

      o que deve fazer nesse passo, se não me engano é:
      ./configure

      Esse passo está a mais pois na pasta nagios-plugins-* não existe outra.

    2. Avatar de Carlos Pereira
      Carlos Pereira

      Use este comando:
      ./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl

  7. Avatar de Carlos
    Carlos

    Este tutorial está errado no passo numero 4 (instalação de plugins)

  8. Avatar de André Lopes
    André Lopes

    Bom dia,

    Podem corrigir os “erros” ou algo em falta do passo nº 4?

    Antes de executar o make, existem dois passo repetidos, que em seguida o “make” não funciona.

    > Mudamos de diretório: cd nagios-plugins-* (OK)

    > Antes de compilarmos o nagios-plugins devem executar o seguinte comando: (Passo não OK, algo está em falta aqui, comando igual ao anterior)
    cd nagios-plugins-*

    Obrigado.

    1. Avatar de André Lopes
      André Lopes

      Será que é para executar o mesmo comando do anterior pacote?

      “./configure –with-command-group=nagcmd”

      Abraço

      1. Avatar de TP
        TP

        Aí, o comando que usei foi:
        ./configure

        E depois basta seguir o resto do tutorial

    2. Avatar de Carlos Pereira
      Carlos Pereira

      Use este comando:
      ./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl

  9. Avatar de Norberto Vargas
    Norberto Vargas

    Bom dia.

    Temos que instalar algum cliente numa máquina windows?
    Qual o software?

    Obrigado

    1. Avatar de masterpro
      masterpro

      Depende do que pretenderes, eu uso nsclient++ para me dar dados como espaço em disco livre, alertas de utilização de CPU, memória ou falhas em serviços entre outros.

  10. Avatar de Joao Dias
    Joao Dias

    Librenms também é uma boa opção..

  11. Avatar de douglas
    douglas

    É possível instalar e configurar o Nagios em um servidor externo (Amazon, por exemplo) e monitorar minha rede interna (LAN)?

  12. Avatar de Alexandre Oliveira
    Alexandre Oliveira

    Bom dia.

    Alguém aqui me pode ajudar?

    É o seguinte, tb tenho nagios 4.3.4 e está integrado com nagiosQL, instalei o postfix e aparentemente está funcionar bem, pois consigo enviar email por linha de comandos.

    Só que o nagios nunca me enviou um email, nos logos não aprece nada de envio do mesmo.
    e tenho as notificaçoes ativas. segue um exemplo de um equimanento:

    Obrigado

    define host {
    host_name Sw_Asp_Central_5P
    alias Switch TP-Link 5portas
    address 192.168.60.56
    parents Mikrotik_Aveiro
    importance 0
    hostgroups switches
    check_command check-host-alive
    use generic-switch
    max_check_attempts 5
    check_interval 11
    retry_interval 10
    active_checks_enabled 1
    passive_checks_enabled 1
    check_period 24×7
    check_freshness 1
    contacts nagiosadmin
    contact_groups admins
    notification_interval 30
    notification_period 24×7
    first_notification_delay 5
    notification_options d,u,r
    notifications_enabled 1
    icon_image switch40.png
    statusmap_image switch40.gd2
    register 1
    }