Anda di halaman 1dari 9

Pgina 1 de 9

Anterior

PERGUNTAS & RESPOSTAS Captulo 1. GERAL

Prxima

1.34. Como configuro o Nagios para monitorar meus servidores?


O Nagios um servio de monitoramento desenvolvido para informar sobre a o que est ac ontec endo em sua rede, se os servios da sua rede que esto sendo monitorados esto func ionando c orretamente ou se h algum problema. O deamon do Nagios exec alguns plugins para verfic se uta ar os hosts que ele est monitorando esto ativos. Quando so enc ontrados erros o deamon c apaz de notific o administrador de rede sobre o problema que est oc ar orrendo c um determinado servidor om que o Nagios est monitorando. O monitoramento pode ser visualizado atravs de uma pgina web. Para instalar e c onfigurar o nagios nec essrio ter instalado em seu equipamento os seguintes pac otes:
apache apache-htpasswd nagios nagios-cgi nagios-plugins Servidor HTTPD para prover servios WWW Ferramenta para manipulao de arquivos .htpasswd Programa para monitorao de mquinas e servios Interface CGI para o Nagios Plugins para o Nagios

Verifique se os pac otes esto instalados usando os c omandos abaixo em um terminal e logado c omo root:
[root@localhost]# rpm -qa | grep apache

[root@localhost]# rpm -qa | grep nagios

Caso um dos c omandos no retorne nada e apenas "pule" para a linha de baixo signific que os a pac otes no esto instalados. Para instalar os pac otes use os c omandos abaixo, em um terminal e logado c omo root:
[root@localhost]# apt-get install apache apache-htpasswd

[root@localhost]# apt-get install nagios nagios-cgi nagios-plugins

O Nagios deve ser c onfigurado seguindo dois passos, o primeiro c onfigurar o apac para exec he utar os c do Nagios e o segundo a c gis onfigurao do que realmente o Nagios vai monitorar. Pode-se c onfigurar o ac esso aos c do Nagios de duas maneiras gis 1 - Sem autentic ao de usurio 2 - Com autentic ao de usurio

http://www.c onec tiva.c om.br/c pub/pt/inc Conec tiva/suporte/pr/aplic ativos.geral.nagios... 02/03/2012

Pgina 2 de 9

Sem autenticao de usurio Edite o arquivo de configurao do apache referente ao nagios


[root@localhost]# mcedit /etc/apache/conf/conf.d/nagios.conf

Algumas linhas desse arquivo devero ser comentadas ( comentar = inserir o caractere # no incio da linha) e deve ser inserida a linha allow from 127.0.0.1 em um determinado ponto do arquivo, essa linha deve ser inserida para que seja liberado o acesso a pgina do Nagios apenas para a mquina que est rodando o servio. Caso deseje acessar de qualquer outra mquina troque essa linha por allow from all O arquivo deve ficar como no exemplo abaixo:
# WITHOUT SSL #<IfModule !mod_ssl.c> ScriptAlias /nagios/cgi-bin/ /usr/lib/nagios/cgi/ <Directory /usr/lib/nagios/cgi/> Options ExecCGI order deny,allow deny from all allow from 127.0.0.1 </Directory> Alias /nagios/ /usr/share/nagios/ <Directory /usr/share/nagios/> Options None order deny,allow deny from all allow from 127.0.0.1 </Directory> #</IfModule> # WITH SSL ENABLED #<IfModule mod_ssl.c> ScriptAlias /nagios/cgi-bin/ /usr/lib/nagios/cgi/ <Directory /usr/lib/nagios/cgi/> Options ExecCGI # SSLRequireSSL order deny,allow deny from all allow from 127.0.0.1 # AuthType Basic # AuthUserFile /etc/nagios/passwd # AuthGroupFile /etc/nagios/group # AuthName "nagios" # require group nagios Satisfy Any </Directory> Alias /nagios/ /usr/share/nagios/ <Directory /usr/share/nagios/> Options None # SSLRequireSSL order deny,allow deny from all allow from 127.0.0.1 # AuthType Basic

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 3 de 9

# # # #

AuthUserFile /etc/nagios/passwd AuthGroupFile /etc/nagios/group AuthName "nagios" require group nagios Satisfy Any </Directory> #</IfModule>

Pressione F2 para salvar o arquivo e F10 para sair Tambm ser necessrio alterar uma entrada no arquivo /etc/nagios/cgi.cfg Edite o arquivo
[root@localhost]# mcedit /etc/nagios/cgi.cfg

Procure pela entrada use_authentication=1 e altere o valor 1 para 0. A entrada dever ficar como segue abaixo:
use_authentication=0

Pressione F2 para salvar o arquivo e F10 para sair Agora inicie o apache
[root@localhost]# service apache start

Verifique se consegue visualizar a pgina do Nagios no browser de sua preferncia acessando o endereo: http://localhost/nagios/
z

Com autenticao de usurio

Vamos agora configurar o nagios para que monitore os servios que esto ativos na rede que desejamos monitorar. Primeiramente edite o arquivo /etc/nagios/dependencies.cfg, para isso use o comando abaixo:
[root@localhost]# mcedit /etc/nagios/dependencies.cfg

Comente todas as linhas desse arquivo, deve ser inserido o caractere # no incio de toda linha que no o possuir. Isso deve ser feito porque no iremos usar servidores que dependem de outros servidores. interessante usar esse arquivo caso tenha-se um servidor NFS na rede e esse servidor NFS guarda as pginas do servidor WWW, ou seja, o servidor WWW depende do funcionamento do servidor NFS. Pressione F2 para salvar o arquivo e F10 para sair

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 4 de 9

Faa a mesma coisa para o arquivo /etc/nagios/escalations.cfg, ou seja, edite o arquivo e comente todas as linhas do arquivo.
[root@localhost]# mcedit /etc/nagios/escalations.cfg

Aps comentar as linhas pressione F2 para salvar o arquivo e F10 para sair. preciso alterar alguns arquivos para que seja possvel configurar o Nagios especificamente para o seu caso. Ento guarde os arquivos originais com outro nome para criar os prprios arquivos.
[root@localhost]# cd /etc/nagios

[root@localhost]# mv contactgroups.cfg contactgroups.cfg.old

[root@localhost]# mv hostgroups.cfg hostgroups.cfg.old

[root@localhost]# mv hosts.cfg hosts.cfg.old

[root@localhost]# mv services.cfg services.cfg.old

Os arquivos acima so os seguintes:


contactgroups hostgroups hosts services Grupos de contato para o caso de monitorar muitos servios Grupos de servidores que sero monitorados Servidores que sero monitorados Servios que sero monitorados

Crie os grupos de contato


[root@localhost]# mcedit contactgroups.cfg

Siga a estrutura abaixo para criar o seu arquivo:


# 'cnc-admins' contact group definition define contactgroup{ contactgroup_name cnc-admins alias CNC Administrators members nagios }

Salver o arquivo usando o F2 e saia com F10. No exemplo acima criamos o grupo cnc-admins. Caso esteja monitorando uma rede muito grande pode-se separar por diversos grupos (novell-admins, linux-admins, nt-admins, routers-admins, etc).

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 5 de 9

Crie os grupos de servidores


[root@localhost]# mcedit hostgroups.cfg

Crie o arquivo como no exemplo abaixo:


# 'cnc-servers' host group definition define hostgroup{ hostgroup_name cnc-servers alias CNC Servers contact_groups cnc-admins members skywalker,bravo }

Pressione F2 para salvar o arquivo e F10 para sair. Criamos o grupo cnc-server, ao qual pertencem as mquinas skywalker e bravo, para adicionar mais mquinas ao grupo basta inserir as mquinas usando vrgula (,). Pode-se separar por vrios grupos de servidores tambm (novell-servers, linux-servers, nt-servers, etc), para isso basta inserir uma entrada com a entrada cnc-servers para cada grupo de servidores. Informe quais servidores sero monitorados Os servidores que sero informados j devem ter sido atrelados h um grupo, como no exemplo acima atrelamos as mquinas skywalker e bravo ao grupo cnc-servers.
[root@localhost]# mcedit hosts.cfg

Primeiramete preciso definir um host generico para que os demais hosts usem as definies desse host genrico. Faa sua configurao seguindo o exemplo abaixo:
# Generic host definition template define host{ name notifications_enabled event_handler_enabled flap_detection_enabled process_perf_data retain_status_information retain_nonstatus_information register } # 'skywalker' host definition define host{ use host_name alias address check_command max_check_attempts notification_interval

generic-host 1 1 1 1 1 1 0

generic-host skywalker CNC Server #1 10.0.2.21 check-host-alive 10 120

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 6 de 9

notification_period notification_options }

24x7 d,u,r

# 'bravo' host definition define host{ use host_name alias address check_command max_check_attempts notification_interval notification_period notification_options }

generic-host bravo CNC Server #2 10.0.2.73 check-host-alive 10 120 24x7 d,u,r

Pressione F2 para salvar o arquivo e F10 para sair. Para adicionar mais servidores basta seguir o modelo. Repare que em todos os exemplos os servidores esto sendo monitorados 24 horas por dias e todos os dias da semana. Informe quais servios sero monitorados
[root@localhost]# mcedit services.cfg

necessrio definir um servio genrico para que os demais sejam monitorados com base nele. Siga o exemplo abaixo para criar a sua configurao:
# Generic service definition template define service{ name active_checks_enabled passive_checks_enabled parallelize_check obsess_over_service check_freshness notifications_enabled event_handler_enabled flap_detection_enabled process_perf_data retain_status_information retain_nonstatus_information register } # Service definition define service{ use host_name service_description is_volatile check_period max_check_attempts normal_check_interval retry_check_interval

generic-service 1 1 1 1 0 1 1 1 1 1 1 0

generic-service skywalker PING 0 24x7 3 5 1

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 7 de 9

contact_groups notification_interval notification_period notification_options check_command } # Service definition define service{ use host_name service_description is_volatile check_period max_check_attempts normal_check_interval retry_check_interval contact_groups notification_interval notification_period notification_options check_command } # Service definition define service{ use host_name service_description is_volatile check_period max_check_attempts normal_check_interval retry_check_interval contact_groups notification_interval notification_period notification_options check_command } # Service definition define service{ use host_name service_description is_volatile check_period max_check_attempts normal_check_interval retry_check_interval contact_groups notification_interval notification_period notification_options check_command }

cnc-admins 120 24x7 c,r check_ping!100.0,20%!500.0,60%

generic-service skywalker SSH 0 24x7 3 5 1 cnc-admins 10 24x7 w,u,c,r check_ssh

generic-service bravo DNS 0 24x7 3 5 1 cnc-admins 120 24x7 w,u,c,r check_dns

generic-service bravo HTTP 0 24x7 3 5 1 cnc-admins 10 24x7 w,u,c,r check_http

Pressione F2 para salvar o arquivo e F10 para sair. Repare que pode-ser mudar o intervalo de checagem alterando o valor da entrada notification_interval, tambm deve-se tomar cuidado ao informar o check_command, pois esse comando que ir verificar se o servio do seu servidor est operando normalmente.

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 8 de 9

Siga o exemplo acima para adicionar mais servios a serem monitorados, porm ao inciar o nagios pode ser que ocorra falha. Se isso acontecer verifique se o existe um pluggin para servio que pretende monitorar e se o seu comando est descrito em /etc/nagios/checkcommands.cfg. Para verificar quais so os servios que possuem pluggins para serem monitorados use o comando abaixo:
[root@localhost]# rpm -ql nagios-plugins | grep check | cut -d_ -f2

Aps verificar se existe um pluggin para o servio que deseja monitorar, verifque tambm se o comando est descrito em /etc/nagios/checkcommands.cfg. No caso do SSH existe o pluggin mas o comando no est descrito no arquivo, ento se configurarmos esse servio para ser monitorado ao iniciarmos o nagios no teremos sucesso. Ento se deseja monitorar o SSH ou outro servio que possui um pluggin mas no est configurado o comando para checagem faa isso editando o arquivo de configurao.
[root@localhost]# mcedit checkcommands.cfg

Insira a seguinte entrada no arquivo (exemplo do ssh)


# 'check_ssh' command definition define command{ command_name check_ssh command_line $USER1$/check_ssh -H $HOSTADDRESS$ }

Pressione F2 para salvar o arquivo e F10 para sair Caso queira ser notificado por e-mail sobre o monitoramento, edite o arquivo contacts.cfg, se estiver verifcando pela web basta acessar o endereo pelo browser de sua preferncia. Alterando o seu e-mail nos contatos
[root@localhost]# mcedit contacts.cfg

Altere para o seu caso conforme o exemplo abaixo:


define contact{ contact_name alias service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands email } sysop Jos da Silva 24x7 24x7 w,u,c,r d,u,r notify-by-email host-notify-by-email sysop@minhaempresa.com.br

Pressione F2 para salvar o arquivo e F10 para sair

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Pgina 9 de 9

Altere as opes acima conforme os seus dados, pode-se apenas alterar as opoes do arquivo ou inserir uma entrada como a do exemplo no final do arquivo. Comandos para iniciar e reiniciar o nagios - Inicar o Nagios
[root@localhost]# service nagios start

- Parar o Nagios
[root@localhost]# service nagios stop

- Reiniciar o Nagios
[root@localhost]# service nagios stop && service nagios start

Caso esteja falhando a inicializao do Nagios sempre verifique o log


[root@localhost]#tm

Anterior Como fao meu framebuffer funcionar no CL9?

Principal Acima

Prxima APT-GET

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/aplicativos.geral.nagios... 02/03/2012

Anda mungkin juga menyukai