Académique Documents
Professionnel Documents
Culture Documents
Curso Nagios
Curso Nagios NOTE: After you install the necessary libraries on your system: 1. Make sure /etc/ld.so.conf has an entry for the directory in which the GD, PNG, and JPEG libraries are installed. 2. Run 'ldconfig' to update the run-time linker options. 3. Run 'make clean' in the Nagios distribution to clean out any old references to your previous compile. 4. Rerun the configure script. NOTE: If you can't get the configure script to recognize the GD libs on your system, get over it and move on to other things. The CGIs that use the GD libs are just a small part of the entire Nagios package. Get everything else working first and then revisit the problem. Make sure to check the nagios-users mailing list archives for possible solutions to GD library problems when you resume your troubleshooting. ******************************************************************** verifique se o cdigo fonte da bibioteca GD est instalado: apt-get install libgd2-xpm-dev e repita o processo de configurao.O comando acima instalar vrias bibliotecas de graficas no sistema A maior dificuldade nesta etapa fazer com que o Nagios encontre a biblioteca GD. Esta biblioteca responsvel pela gerao dos grficos e icones da visualizao via interface Web.
Curso Nagios
Curso Nagios
Curso Nagios
4. Adicione mais um usurio. Este ns configuraremos, mais tarde, para ter acesso parcial s funcionalidades do sistema:
htpasswd /opt/nagios-turma1/etc/htpasswd.users suporte
5. Libere a permisso de leitura dos arquivos de autenticao (.htaccess e .htpasswd) para o usurio do seu servidor Web.
cd /opt/nagios-turma1 chown root.www-data etc/htpasswd.users sbin/.htaccess chmod 640 etc/htpasswd.users sbin/.htaccess
Curso Nagios
Curso Nagios
Curso Nagios
Curso Nagios
Curso Nagios
Curso Nagios
Curso Nagios
# Definio do Computador Um define host{ use template-generico host_name alias address } # Definio do Computador Dois define host{ use template-generico host_name alias address check_command } 3. Adicione os computadores acima definidos ao grupo de servidoras # Grupo de computadores servidores computador-2 Computador #2 192.168.1.2 check-host-alive computador-1 Computador #1 192.168.1.1
Curso Nagios define hostgroup{ hostgroup_name servidoras alias Servidoras da Rede members servidor-nagios,computador-1,computador-2 } 4. Salve o arquivo Ateno: o uso de templates facilita muito a adio de vrios computadores ao monitoramento!
Curso Nagios
Curso Nagios # Definio do servio do computador-1 define service{ use template host_name service_description check_command } # Definio do servio do computador-2 define service{ use template host_name service_description check_command } 3. Adicione os servios acima definidos ao um grupo de servios #Definio de um grupo de servio define servicegroup{ servicegroup_name Pings alias Ping nos computadores members servidor-nagios,PING,computador-1,PING,computador2,PING } computador-2 PING check_ping!100.0,20%!500.0,60% computador-1 PING check_ping!100.0,20%!500.0,60%
Curso Nagios
Curso Nagios
$SERVICESTATE$ $SERVICESTATETYPE$
Veja que o nosso script receber trs argumentos: O estado atual do servio (OK, WARNING, UNKNOWN, CRITICAL) O tipo em que o servio est (SOFT, HARD)
Curso Nagios
O nmero de tentativas de checagens j feitas (1,2,3...) Parte 3 Crie o programa tratador de eventos
4. Crie um script que ser o nosso tratador de evento. A linguagem usada no importa. Usaremos aqui um bash script. O programa dever fazer o seguinte: -Se o problema acabou de ser detectado, no tente fazer nada -Se o problema persistir as 3 checagens, ento reinicie o servidor Apache Veja na definio do servio acima que o servio Apache ser verificado 4 vezes (max_check_attempts). Aps estas 4 checagens o problema deixar de ser SOFT e passar a ser HARD, ou seja, o problema realmente existe. Queremos que nosso script atue antes da quarta checagem. 5. Programa em bash 1. #!/bin/sh 2. case "$1" in 3. CRITICAL) 4. case "$2" in 5. SOFT) 6. case "$3" in 7. 3) 8. echo -n "Reiniciando Apache (terceira tentativa do nagios)..." 9. /etc/rc.d/init.d/apache restart 10. ;; 11. esac 12. ;; 13. esac 14. ;; 15.esac 16.exit 0 Os parmetros para um script bash so chamados, dentro do programa, atravs das variveis $1, $2, $3. Lembre-se que na definio de comandos, na parte 2 deste guia, passamos 3 argumentos para nosso script: O estado atual do servio (OK, WARNING, UNKNOWN, CRITICAL)
O tipo em que o servio est (SOFT, HARD) O nmero de tentativas de checagens j feitas (1,2,3...) Na linha 3, caso o estado CRITICAL seja detectado ento tomaremos alguma atitude baseando-se no segundo argumento. Se o tipo do servio do segundo argumento ($2) for SOFT, ento restanos saber qual o nmero de tentativas de checagens que foram feitas at o momento. Isso obtido no terceiro argumento ($3). Se este nmero de checagens for 3 ento hora de nosso script entrar em ao! O comando para reinicar o Apache visto na linha 15. 6. Salve o arquivo e saia do editor 7. Transforme o arquivo em executvel chmod og+x reinicie-apache 8. D as permisses de execuo do tratador de eventos ao nagios 9. Mova o tratador de eventos para o diretrio de plugins mv reinicie-apache /opt/nagios-turma1/plugins Nota: Veja que na definio de comandos definimos que o nosso tratador de
Curso Nagios
eventos ficaria no diretrio de plugins ($USER1$, macro definida no arquivo resources.cfg)
2. Certifique-se que as variveis abaixo estejam ajustadas para os seguintes valores: log_host_retries = 1 log_service_retries = 1 log_event_handlers = 1
3. Salve e saia do arquivo de configurao 4. Teste as configurao do Nagios /opt/nagios-turma1/bin/nagios -v /opt/nagios-turma1/etc/nagios.cfg 5. Se tudo estiver correto. recarregue as configuraes do Nagios e verifique se o servio de checagem do Apache est sendo executado normalmente atravs da interface web: /etc/init.d/nagios reload
Curso Nagios
Parte 7 Teste seu tratador de eventos
Vamos agora parar nosso servidor Apache e acompahar o que o Nagio ira fazer para resolver este problema usando nosso tratador de eventos: 1. Abra dois terminais. Em um deles digite o comando abaixo para acompanhar todos os registros do log assim que forem sendo gerados: tail -f /opt/nagios/var/nagios.log 2. Em outro terminal pare o servio Apache: /etc/init.d/apache stop 3. Acompanhe, no primeiro terminal, tudo que aparecer no log. 4. Acompanhe no segundo terminal se o Apache voltou a funcionar com o comando ps auxwf|grep apache [1111412915] SERVICE ALERT: servidor-nagios;Apache;CRITICAL;SOFT;1;Connection refused [1111412915] SERVICE EVENT HANDLER: servidornagios;Apache;CRITICAL;SOFT;1;reinicie-apache ----------------------------------------[1111412975] SERVICE ALERT: servidor-nagios;Apache;CRITICAL;SOFT;2;Connection refused [1111412975] SERVICE EVENT HANDLER: servidornagios;Apache;CRITICAL;SOFT;2;reinicie-apache [1111413035] SERVICE ALERT: servidor-nagios;Apache;CRITICAL;SOFT;3;Connection refused [1111413035] SERVICE EVENT HANDLER: servidornagios;Apache;CRITICAL;SOFT;3;reinicie-apache [1111413095] SERVICE ALERT: servidor-nagios;Apache;OK;SOFT;4;HTTP OK HTTP/1.1 200 OK - 5552 bytes in 0.002 seconds ------------------------------------------
Curso Nagios
Curso Nagios
Curso Nagios /etc/init.d/apache stop Acompanhe no /opt/nagios-turma1/var/nagios.log para ver o que est acontecendo. 3. Assim que o Apache for reiniciado v at a interface web e clieque em comments (comantrios) para ver se o comentrio foi adicionado. 4. Os comandos externos mais comuns aceitos pelo Nagios atualmente so listados na tabela abaixo. Uma descrio mais detalhada sobre a sintaxe e a funo de cada um dos comandos pode ser lida na documentao oficial do Nagios: http://nagios.sourceforge.net/docs/2_0/extcommands.html Sintaxe: [Date] Command_ID;Argumentos
ID do Command
Descrio do Comando
ADD_HOST_COMME Adicionar comentrios ao computador NT ADD_SVC_COMMEN Adicionar comentrios ao servio T DEL_HOST_COMME Apagar um comentrio de um do computador NT DEL_ALL_HOST_CO Apagar todos os comentrio do computador MMENTS DEL_SVC_COMMEN Apagar todos um comentrio de um servio T DEL_ALL_SVC_COM Apagar todos os comentrios de servios MENTS DELAY_HOST_NOTI Atrasar notificaes de problemas com um computador FICATION DELAY_SVC_NOTIFI Atrasar notificaes de problemas com um computador CATION SCHEDULE_SVC_CH Re-agendar checagem de servios ECK SCHEDULE_HOST_S Re-agendar checagem de computadores VC_CHECKS ENABLE_SVC_CHEC Habilitar checagem de servio K DISABLE_SVC_CHEC Desabilitar checagem de servio K ENABLE_SVC_NOTIF Habilitar notificao de problemas com servios ICATIONS DISABLE_SVC_NOTI Desabilitar notificao de problemas com servios FICATIONS
Curso Nagios ENABLE_HOST_SVC Habilitar notificao de problemas com clientes _NOTIFICATIONS DISABLE_HOST_SVC Desabilitar notificao de problemas com servios _NOTIFICATIONS ENABLE_HOST_SVC Desabilitar checagem de clientes _CHECKS DISABLE_HOST_SVC Isto desabilitar temporariamente todos os servios no cliente especificado. _CHECKS ENABLE_HOST_NOT Isto ir temporariamente desabilitar notificaes para este cliente. IFICATIONS DISABLE_HOST_NO TIFICATIONS Isto desabilitar temporariamente notificaes para este cliente.
ENABLE_ALL_NOTIF Isto habilitar notificaes para todos os clientes e servios que no seja o cliente ICATIONS_BEYOND_ especificado no argumento host_name (do ponto de vista do Nagios).. HOST
DISABLE_ALL_NOTI Isto desabilitar temporariamente notificaes para todos os clientes FICATIONS_BEYON e servios que no sejam o cliente especificado no argumento host_name (do ponto de D_HOST Nagios). ENABLE_NOTIFICAT Isto habilitar notificaes de cliente e servio em carter geral no programa IONS DISABLE_NOTIFICA Isto desabilitar notificaes de cliente e servio em carter geral no programa TIONS SHUTDOWN_PROGR Isto far com que Nagios pare de funcionar no momento especificado AM
Dica: Para voc ver qual a sintaxe de um comando externo, execute o comando pela interface web e veja como ele aparece no arquivo nagios.log. Copie e adapte-o s suas necessidades.
Curso Nagios
Curso Nagios 6. Crie um arquivo de configurao para o NRPE vim nrpe.cfg 7. Adicione a seguinte linha command[check_disk]=/opt/nagios/check_disk -w 20 -c 10 -p / 8. Salve e feche o arquivo (permissoes? Como j deve ter notado, precisamos ter o plugin de checagem disponvel no computador remoto. A forma mais rpida de ser fazer isso simplesmente envinado o plugins necessrio a partir do servidor nagios. Porm, pelo mesmo motivo de termos compilado o NRPE na computador remoto, o plugin s funcionar em outro lugar se as configurao e arquitetura do computador forem as mesmas. Caso contrrio ser preciso obter o pacote de plugins e recompil-lo no computador remoto. Por exemplo, se o Nagios estiver sendo executado em um computador PC rodando linux, e meu NRPE estiver sendo instalado em um mquina Ultra Sparc, ento o NRPE e o plugin dever ser compilado na maquina remota pois nenhum programa compilado em PC rodaria diretamente em uma Ultra.
Curso Nagios Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. Se aparecer a mensagem abaixo, telnet: Unable to connect to remote host: Connection refused Verifique:
Erros no nrpe.cfg Erros no inetd.conf (reiniciou o daemon?) Erros no service.cfg Mensagem de erros no /var/log/messages
Curso Nagios
Guia de Freshness
Usar o exemplo de backup da documentacao
Curso Nagios