Aprenda a instalar a plataforma de monitorização Nagios
Por Hugo Matos para o Pplware
Como administrador de sistemas, é importante ter as melhores ferramentas que nos permitam monitorizar todos os elementos que fazem parte da nossa rede informática. Uma das plataformas gratuitas mais fantástica para monitorização é o Nagios, não só por ser opensource mas também pela forma como é possível estender a monitorização aos elementos mais estranhos.
Depois de termos apresentado aqui a plataforma, hoje ensinamos como podem proceder a instalação da mesma.
Para este tutorial foram usadas as seguintes versões:
- CentOS-6.5-x86_64-minimal
- nagios-4.0.2.tar.gz
- nagios-plugins-1.5.tar.gz
Para instalar o Nagios 4.0.2 devem então seguir os seguintes passos:
Passo1) Como a versão usada do CentOS é uma versão minimal vamos ter de instalar a plataforma base (Apache + PHP) e as respectivas dependências necessárias para proceder à instalação do Nagios.
yum install -y httpd php gcc glibc glibc-common gd gd-devel make net-snmp wget |
Passo2) Criar um utilizador, um grupo e respectiva password.
useradd nagios groupadd nagcmd |
Passo3) Vamos adicionar o utilizador nagios e o Apache ou grupo nagcmd.
usermod -G nagcmd nagios usermod -G nagcmd apache |
Passo 4) Criar um diretoria para download e instalação:
mkdir /root/nagios cd /root/Nagios |
Em seguida devem fazer download do Nagios e do Nagios-plugins
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.2.tar.gz wget http://assets.nagios.com/downloads/nagiosplugins/nagios-plugins-1.5.tar.gz |
Passo 5) Em seguida descompactamos os ficheiros descarregados anteriormente:
tar –xvf nagios-4.0.2.tar.gz tar –xvf nagios-plugins-1.5.tar.gz |
Passo 6) Instalação do Nagios
cd nagios-4.0.2 ./configure --with-command-group=nagcmd |
Compilar o código fonte
make all make install |
A instalação vai ser realizada para o directório /usr/local/nagios/etc
make install-init make install-commanmode make install-config |
Passo 7) Alterar o email de contacto no ficheiro contacts.cfg
vi /usr/local/nagios/etc/objects/contacts.cfg |
Passo 8) Instalar e configurar a interface web para podermos aceder ao Nagios através do browser
make install-webconf |
Vamos agora criamos uma password para o user “nagiosadmin”. Estas serão as credenciais para acesso via web
htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin |
Nota: Se optar por outro nome que não seja “nagiosadmin” terá de alterar o ficheiro /usr/local/nagios/etc/cgi.cfg
Passo 9) Compilar e instalar o Nagios-plugins
cd /root/nagios cd nagios-plugins-1.5 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install |
Passo 10) Agora que instalamos o nagio e o nagio-plugins vamos verificar se não existe nenhum erro com a instalação. Para isso podemos usar o seguinte comando para validar a configuração do Nagios:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg |
Passo 11) adicionar o Nagios e o Apache ao arranque da máquina para quando esta reiniciar os serviços arrancarem de início
chkconfig --add nagios chkconfig --level 35 nagios on chkconfig --add httpd chkconfig --level 35 httpd on |
Passo 12) Iniciar o Nagios e o Apache e aceder à interface web
service nagios start service httpd start |
Nota: Esta distribuição do centOS vem com firewall ativa que vai bloquear o acesso web ou vosso servidor, para isso podem apenas desligar o serviço
service iptables stop |
Ou podemos permitir o trafego na firewall, para isso basta editar o ficheiro iptables e acrescentar duas linhas
vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT |
Por último temos de dar permissões no SELinux para deixar correr os processos do Nagios
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ |
Por fim, para acederem ao Nagios basta que abram um browser e escrevem o seguinte endereço:
/nagios">http://<o-ip-do-vosso-servidor>/nagios
Uma vez quem o Nagios ter uma configuração de exemplo, é possível de imediato começar a monitorizar a nossa máquina sem ter de realizar qualquer configuração.
Esperamos que tenham gostado deste tutorial. Num próximo artigo iremos ensinar a monitorizar máquinas remotas com Windows. Estejam atentos e partilhas as vossas duvidas e sugestões. Boas monitorizações!
Este artigo tem mais de um ano
Boas!
Nagios, mt boa ferramenta de monitorização tanto de servidores como de activos de rede, uso na empresa e recomendo.
Já agora, recomendo o nagiosql para fazer a gestão de objectos do Nagios.
Cumprimentos,
Rui
Boas Rui.
Quantas máquinas monitorizas e o que é que monitorizas?
Cumps,
Vítor Moreira
Boas Vitor,
De momento 32 hosts.
Tenho vários serviços, mas aqui vai.
O tipicos, CPU, MEM, HD
Depois tenho alguns scripts, para AD, DNS, ORACLE-DB, Links(websites), Exchange, SMTP, Certificados, Servidores HP, etc…
Se precisarem de ajuda a continuar a escrever sobre nagio, sintam-se a vontade.
Cumprimentos,
Rui
Obrigado pela resposta.
O Nagios, na altura, foi uma das hipóteses consideradas e ainda consegui fazer umas coisas engraçadas.
No entanto, houve a necessidade de integrar com outros sistemas (tickets, alterar interfaces gráficas) e, no meu caso, a quantidade de máquinas é significativa (cerca de 3 mil máquinas).
Para ambientes mais pequenos, o Nagios é praticamente imbatível!
Foi uma boa escolha, Rui!
Deixa-me adivinhar…. Open-NMS =)
Os “Event Handler” dão alguma “proactividade” ao sistema, tinha um problema com um serviço do TrendMicro que quando parava so com restart a maquina é que realmente corrigia o problema, enquando nao instalei o patch era o nagios que lhe dava a ordem de restart.
Boas,
Neste momento tenho o Nagios a monitorizar 372 máquinas (hosts) e mais de 1800 serviços.
Tenho o Nagios virtualizado num Hyper-v com 16Gb de disco e 1024 MB de ram e funciona na perfeição…
Voce disponibiliza script seu de ad?
Só se torna complicado em termos de recursos de nagios quando são muitos objectos. Aí os requesitos de memória e cpu são algo a considerar.
“Nota: Se optar por outro nome que não seja “nagiosadmin” terá de alterar o ficheiro /usr/local/nagios/etc/cgi.cfg”
Esta valeu umas boas horas a compreender porque na webpage não apareciam os hosts… quando a verificação do ficheiro config pelo terminal dava tudo OK…
zabbix 🙂
Também é bom, sem duvida.
https://pplware.sapo.pt/linux/aprenda-a-instalar-o-zabbix-network-monitoring-no-centos/
Excelente artigo.
Centreon como interface do Nagios e fica um must. Podemos monitorizar “tudo e um par de botas” com uma interface muito intuitiva.
Volto a destacar o Spiceworks.
Na minha opinião o SW do ponto de vista da monitorização pura e dura ainda fica muito atrás.
Já se consegue monitorizar serviços de forma mais livre? Nem que seja via telnet ao porto…?
excelente artigo adorei tal software vou experimentar 🙂
Muito bom.
Experimentem meter o check_MK em cima do Nagios e tem uma ferramenta de luxo.
tem boa pinta cesar_panter, obrigado pela dica 🙂
De nada Hugo 🙂
Bom dia, qual o sistema operativo que aconselham para instalar o nagios?
Boas,
segui o tuturial direitinho mas da-me um erro….
ao entrar na web aparece o seguinte:
Error: Could not read object configuration data!
Here are some things you should check in order to resolve this error:
Verify configuration options using the -v command-line option to check for errors.
Check the Nagios log file for messages relating to startup or status data errors.
– Caso tente parar o serviço recebo a seguinte mensagem: “nagios está morto mas o subsys está bloqueado”.
caso aceda ao ficheiro /var/log/messages obtenho o seguinte:
nagios: qh:Failed to init socket ‘usr/local/nagios/var/rw/nagios.qh’ . blind() failed: No such file or directory.
nagios: error: failed to initialize query handler.Aborting.
desativei a firewall e o SeLinux.
caso algume me possa ajudar agradecia.
Cumprimentos,
Ricardo Silva
Desculpem falta indicar o SO.
Centos 6.5.
Também tive esse problema. Resolvi-o criando manualmente esse ficheiro. Com o grupo e utilizador nagios/nagios criados anteriormente.
Bom dia,
pode ser mais preciso na resolução?
OBRIGADO PELA AJUDA.
No meu caso,e depois de analisar os logs reparei não foi criado o diretorio: /usr/local/nagios/var/rw
que é necessário para criar os ficheiros nagios.cmd, o nagios.qh, etc.
Criei manualmente esse diretório e passou tudo a funcionar perfeitamente.
Não sei se é a melhor solução, mas comigo resultou.
Também estou com esse problema mas não estou a conseguir dar a volta… quando dizes que crias-te os ficheiros onde foste buscar o conteúdo ??
Apos pesquisa deixo link de como ultrapassar o problema
http://nagios.manubulon.com/traduction/docs14en/commandfile.html
Muito boa ferramenta de monitorização.
Obrigado
Estou a começar a usar o NAGIOS agora !!! e… tenho logo um “pequeno” desafio entre mãos que é a monitorização distribuida !!!
Ou seja.. Tenho um Servidor (Master) (que tem um IP Público) onde quero receber as notificações de todos os restantes servidores (slaves) que estão em redes privadas (com acesso à net obviamente :] )
Tenho o WATO (Instalação de OMD), alguem me pode dar um exemplo de como fazer esta configuração (à 3 dias que ando de volta disto :S )
Muito bom mesmo! Meus parabéns, fazia um bom tempo que eu estava tentando instalar esta ferramenta para monitorar os servers na empresa, mas não havia encontrado nenhum tutorial que tivesse as informações simples e diretas, sempre faltava algo, ou algum comando estava digitado errado.
Obrigado por compartilhar seu conhecimento, ficou excelente esse tutorial!
Abraço!
Boa Tarde
Instalei o Nagios 4.2.0 + pluguins 2.1.2 em Ubuntu 64 bit 16.04.01 LTS,
mas tenho o seguinte erro quando tento usar o check_snmp.
(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_snmp, …) failed. errno is 2: No such file or directory
na directoria /usr/local/nagios/libexec/ o check_snmp não está lá.
Já instalei o pacote net-snmp 5.7.3 (LTS) http://net-snmp.sourceforge.net/
Consigo obter informações snmp pelo net-snmp Ex: snmpget -v 2c -c public 192.168.1.254 SNMPv2-MIB::sysUpTime.0
Podem dar-me uma ajuda sff?