CentOS 7 – Vamos monitorizar toda a rede com o Nagios 4
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 aqui. A 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!
Este artigo tem mais de um ano
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.
sem duvida. Eu também uso e é simplesmente fabulosa…e open source 🙂
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.
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
Boa tarde,
Excelente post!
Sabem indicar-me se consigo obter gráficos através do nagios?
Obrigado.
Sim consegue, via nagiosgraph, pnp4nagios e nagvis.
Ya, isso mesmo. O arc domina a coisa 😉
Hein?Foi mesmo ao calhas!
Outra boa solução é usar influxDB e o Graphana fica muito NICE 😀
façam um search por nagflux
Para gráficos eu prefiro o Cacti, tenho ambos a funcionar sem problemas e o Cacti em ecrãs de monitorização 🙂
PP, são desse tipos de artigos, que colocam o PPLw em destaque.
Grato
Coloca para quem trabalha nesta área 🙂
Que é o meu caso, também.
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?
Fiz os passos todos que estão aí sem erros. Que erros te deu? Thanks pelo feedback.
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.
Que alternativas mais user friendly existem ?
PRTG, Spiceworks, Solarwinds, ManageEngine, Splunk, etc etc.
A empresa onde trabalhas deve andar cheia de dinheiro…
O Spiceworks é de borla.
Ele disse user friendly
Librenms, super facil deb instalar e gerir.
Existe também o Zabix… muito bom e relativamente simples de configurar.
Acho o Zabbix muito mais amigável que o Nagios.
Minha opinião, claro! 😉
Antes de compilarmos o nagios-plugins devem executar o seguinte comando:
cd nagios-plugins-*
Aqui dá erro
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.
Use este comando:
./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl
Este tutorial está errado no passo numero 4 (instalação de plugins)
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.
Será que é para executar o mesmo comando do anterior pacote?
“./configure –with-command-group=nagcmd”
Abraço
Aí, o comando que usei foi:
./configure
E depois basta seguir o resto do tutorial
Use este comando:
./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl
Bom dia.
Temos que instalar algum cliente numa máquina windows?
Qual o software?
Obrigado
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.
Librenms também é uma boa opção..
É possível instalar e configurar o Nagios em um servidor externo (Amazon, por exemplo) e monitorar minha rede interna (LAN)?
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
}