Escolar Documentos
Profissional Documentos
Cultura Documentos
19 de dezembro de 2006
Sumrio
I Sobre essa apostila 2 4 9
10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 12 12 12 13 13 13 14 15 15 15 15 16 17 18 18 20 24 26 26 26 26 26 26 27
3 Instalando o Nagios 3.1 Lio 1 - Instalando o Nagios2 . . . . . . 3.1.1 Obtendo o Nagios . . . . . . . . . 3.1.2 Instalando o Nagios2 pelo apt-get 3.1.3 Iniciando a instalao pelo Tarball 3.1.4 Instalando os Plugins do Nagios . 3.2 Lio 2 - Congurao inicial do Nagios . 3.2.1 Congurando o Apache . . . . . . 3.2.2 Congurando o Nagios . . . . . . 3.2.3 Iniciando o Nagios . . . . . . . . .
4 Os princpios do Nagios 2 4.1 Lio 3 - Introduo ao Nagios . . . . . . . . 4.1.1 Motivao . . . . . . . . . . . . . . . . 4.1.2 O que o Nagios? . . . . . . . . . . . 4.1.3 Como Nagios Monitora as Mquinas? 4.1.4 O que o Nagios pode fazer? . . . . . 4.1.5 Porque utilizar o Nagios? . . . . . . . 1
CDTC
Brasil/DF
4.1.6 Consideraes nais sobre o Nagios . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 Lio 4 - Algumas novidades do Nagios 2 . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2.1 Novidades do Nagios 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 Acessando o Nagios 32 5.1 Lio 5 - Nagios no navegador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.1.1 Acessando o Nagios pelo seu navegador . . . . . . . . . . . . . . . . . . . . 32 5.1.2 Exemplo de telas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Parte I
CDTC
Brasil/DF
Contedo
O contedo dessa apostila fruto da compilao de diversos materiais livres publicados na internet, disponveis em diversos sites ou originalmente produzido no CDTC em http://www.cdtc.org.br. O formato original deste material bem como sua atualizao est disponvel dentro da licena GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seo de mesmo nome, tendo inclusive uma verso traduzida (no ocial). A reviso e alterao vem sendo realizada pelo CDTC (suporte@cdtc.org.br), desde outubro de 2006. Criticas e sugestes construtivas so bem-vindas a qualquer tempo.
Autores
A autoria deste contedo, atividades e avaliaes de responsabilidade de Shou Matsumoto (matsumoto@cdtc.org.br). O texto original faz parte do projeto Centro de Difuso de Tecnolgia e Conhecimento, que vem sendo realizado pelo ITI em conjunto com outros parceiros institucionais, atuando em conjunto com as universidades federais brasileiras que tem produzido e utilizado Software Livre, apoiando inclusive a comunidade Free Software junto a outras entidades no pas. Informaes adicionais podem ser obtidas atrves do email ouvidoria@cdtc.org.br, ou da home page da entidade, atrves da URL http://www.cdtc.org.br.
Garantias
O material contido nesta apostila isento de garantias e o seu uso de inteira responsabilidade do usurio/leitor. Os autores, bem como o ITI e seus parceiros, no se responsabilizam direta ou indiretamente por qualquer prejuzo oriundo da utilizao do material aqui contido.
Licena
Copyright 2006,Shou Matsumoto (matsumoto@cdtc.org.br). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOSTILA. A copy of the license is included in the section entitled GNU Free Documentation License.
Parte II
Informaes Bsicas
CDTC
Brasil/DF
Sobre o CDTC
Objetivo Geral O Projeto CDTC visa a promoo e o desenvolvimento de aes que incentivem a disseminao de solues que utilizem padres abertos e no proprietrios de tecnologia, em proveito do desenvolvimento social, cultural, poltico, tecnolgico e econmico da sociedade brasileira. Objetivo Especco Auxiliar o Governo Federal na implantao do plano nacional de software no-proprietrio e de cdigo fonte aberto, identicando e mobilizando grupos de formadores de opinio dentre os servidores pblicos e agentes polticos da Unio Federal, estimulando e incentivando o mercado nacional a adotar novos modelos de negcio da tecnologia da informao e de novos negcios de comunicao com base em software no-proprietrio e de cdigo fonte aberto, oferecendo treinamento especco para tcnicos, prossionais de suporte e funcionrios pblicos usurios, criando grupos de funcionrios pblicos que iro treinar outros funcionrios pblicos e atuar como incentivadores e defensores de produtos de software no proprietrios e cdigo fonte aberto, oferecendo contedo tcnico on-line para servios de suporte, ferramentas para desenvolvimento de produtos de software no proprietrios e de seu cdigo fonte livre, articulando redes de terceiros (dentro e fora do governo) fornecedoras de educao, pesquisa, desenvolvimento e teste de produtos de software livre.
Guia do aluno
Neste guia, voc ter reunidas uma srie de informaes importantes para que voc comece seu curso. So elas: Licenas para cpia de material disponvel Os 10 mandamentos do aluno de Educao a Distncia Como participar dos foruns e da wikipdia Primeiros passos muito importante que voc entre em contato com TODAS estas informaes, seguindo o roteiro acima.
Licena
Copyright 2006, Shou Matsumoto (matsumoto@cdtc.org.br). dada permisso para copiar, distribuir e/ou modicar este documento sob os termos da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior 6
CDTC
Brasil/DF
pblicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA APOSTILA. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU".
CDTC
Brasil/DF
efetivos para esta prtica. . O frum de dvidas gerais tem por objetivo disponibilizar um meio fcil, rpido e interativo para solucionar suas dvidas e trocar experincias. As mensagens postadas nele so enviadas a todos participantes do curso. Assim, ca muito mais fcil obter respostas, j que todos podem ajudar. Se voc receber uma mensagem com algum tpico que saiba responder, no se preocupe com a formalizao ou a gramtica. Responda! E no se esquea de que antes de abrir um novo tpico recomendvel ver se a sua pergunta j foi feita por outro participante. A segunda forma se d pelas Wikis: . Uma wiki uma pgina web que pode ser editada colaborativamente, ou seja, qualquer participante pode inserir, editar, apagar textos. As verses antigas vo sendo arquivadas e podem ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um timo suporte a processos de aprendizagem colaborativa. A maior wiki na web o site "Wikipdia", uma experincia grandiosa de construo de uma enciclopdia de forma colaborativa, por pessoas de todas as partes do mundo. Acesse-a em portugus pelos links: Pgina principal da Wiki - http://pt.wikipedia.org/wiki/ Agradecemos antecipadamente a sua colaborao com a aprendizagem do grupo!
Primeiros Passos
Para uma melhor aprendizagem recomendvel que voc siga os seguintes passos: Ler o Plano de Ensino e entender a que seu curso se dispe a ensinar; Ler a Ambientao do Moodle para aprender a navegar neste ambiente e se utilizar das ferramentas bsicas do mesmo; Entrar nas lies seguindo a seqncia descrita no Plano de Ensino; Qualquer dvida, reporte ao Frum de Dvidas Gerais.
Perl do Tutor
Segue-se uma descrio do tutor ideal, baseada no feedback de alunos e de tutores. O tutor ideal um modelo de excelncia: consistente, justo e prossional nos respectivos valores e atitudes, incentiva mas honesto, imparcial, amvel, positivo, respeitador, aceita as idias dos estudantes, paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar. A classicao por um tutor desta natureza proporciona o melhor feedback possvel, crucial, e, para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem. Este tutor ou instrutor: fornece explicaes claras acerca do que ele espera, e do estilo de classicao que ir utilizar;
CDTC
Brasil/DF
gosta que lhe faam perguntas adicionais; identica as nossas falhas, mas corrige-as amavelmente, diz um estudante, e explica porque motivo a classicao foi ou no foi atribuda; tece comentrios completos e construtivos, mas de forma agradvel (em contraste com um reparo de um estudante: os comentrios deixam-nos com uma sensao de crtica, de ameaa e de nervossismo) d uma ajuda complementar para encorajar um estudante em diculdade; esclarece pontos que no foram entendidos, ou corretamente aprendidos anteriormente; ajuda o estudante a alcanar os seus objetivos; exvel quando necessrio; mostra um interesse genuno em motivar os alunos (mesmo os principiantes e, por isso, talvez numa fase menos interessante para o tutor); escreve todas as correes de forma legvel e com um nvel de pormenorizao adequado; acima de tudo, devolve os trabalhos rapidamente;
Parte III
Nagios2
10
Captulo 1
O que o Nagios
Nagios um aplicativo de monitoramento de sistemas e redes. O programa checa periodicamente o status de um servio ou cliente alertando aos reponsveis em caso de falhas. O status de cada cliente e servio da rede pode ser consultado via interface web.
Monitorar servios da rede (SMTP, POP3, HTTP, NNTP, PING, etc.) Monitorar recursos do host (uso do processador, uso do disco, etc.) Desenvolvimento de plugins, permitindo que os usurios criem servios personalizados. Vericao paralela de servios Habilidade para denir hierarquias em nvel de host Noticaes via email, pager, ou mtodos personalizados quando problemas ocorrem ou so resolvidos Habilidade de denir controladoras de eventos, para que sejam executadas para resolues de problemas na ocorrncia de eventos Rotao automtica de arquivos log
11
CDTC
Brasil/DF
Suporte a hosts redundantes para monitoramento Existncia de uma interface Web para a visualizao do estado da rede, noticaes, histricos, logs, etc.
Este curso far uma introduo ao uso do Nagios verso 2.x, que possui diversas melhorias comparadas ao Nagios verso 1.x.
12
Captulo 2
Plano de ensino
2.1 Objetivo
Dar uma viso terica do Nagios e uma iniciativa para a instalao e congurao bsica.
2.3 Pr-requisitos
Os usurios devero ser, necessariamente, indicados por empresas pblicas e ter conhecimento bsico acerca de funcionamento de redes de computadores.
2.4 Descrio
O curso de Nagios ser realizado na modalidade EAD e utilizar a plataforma Moodle como ferramenta de aprendizagem. Ele composto de um mdulo de aprendizado que ser dado na primeira semana e um mdulo de avaliao que ser dado no nal da semana. O material didtico estar disponvel on-line de acordo com as datas pr-estabelecidas no calendrio. A verso utilizada para o Nagios ser a 2.5
2.5 Metodologia
O curso est dividido da seguinte maneira:
13
CDTC
Brasil/DF
2.5.1 Cronograma
Durao De Segunda-Feira a Domingo Descrio do Mdulo Instalando o Nagios Os princpios do Nagios Acessando o Nagios Avaliao do curso Avaliao de aprendizagem
Como mostrado na tabela acima, a cada semana ser disponibilizado um conjunto de mdulos. recomendvel que o participante siga as datas estabelecidas.
As lies, disponveis em cada mdulo, contm o contudo principal. Elas podero ser acessadas quantas vezes forem necessrias, desde que esteja dentro da semana programada. Ao nal de uma lio, voc receber uma nota de acordo com o seu desempenho. Caso sua nota numa determinada lio for menor do que 6.0, sugerimos que voc faa novamente esta lio.
Ao nal do curso sero disponibilizadas as avaliaes referentes aos mdulos estudados anteriormente. Somente as notas das avaliaes sero consideradas para a nota nal. Todos os mdulos caro visveis para que possam ser consultados durante a avaliao nal.
Para conhecer as demais atividades de cada mdulo leia o tpico seguinte: "Ambientao do Moodle".
Os instrutores estaro a sua disposio ao longo de todo curso. Qualquer dvida deve ser enviada ao frum correspondente. Diariamente os monitores daro respostas e esclarecimentos.
2.6 Programa
O curso oferecer o seguinte contedo: Semana 1 Instalando o Nagios; Os princpios do Nagios; Acessando o Nagios.
2.7 Avaliao
Toda a avaliao ser feita on-line. Aspectos a serem considerados na avaliao: Iniciativa e autonomia no processo de aprendizagem e de produo de conhecimento; 14
CDTC
Brasil/DF
Capacidade de pesquisa e abordagem criativa na soluo dos problemas apresentados. Instrumentos de avaliao: Participao ativa nas atividades programadas. Avaliao ao nal do curso. O participante far vrias avaliaes referente ao contedo do curso. Para a aprovao e obteno do certicado o participante dever obter nota nal maior ou igual a 6.0 de acordo com a frmula abaixo: Nota Final = ((ML x 7) + (AF x 3)) / 10 = Mdia aritmtica das lies AF = Avaliaes
2.8 Bibliograa
Site ofcial: http://www.nagios.org/ Curso CDTC Nagios (NAG): http://cursos.cdtc.org.br Documentao ocial do Nagios: http://nagios.sourceforge.net/docs/2_0/ Manual do Nagios2 (Debian): $ man nagios2
15
Captulo 3
Instalando o Nagios
Esta seo contm informaes bsicas sobre a instalao e a congurao do Nagios.
Faa o download da ltima verso no formato tarball ou RPM na seguinte pgina: http://www.nagios.org/download
Faa a cpia da ltima verso estvel. Esse documento foi escrito utilizando a verso 1.1 do Nagios e a verso 1.3.1 dos plugins do Nagios.
16
CDTC
Brasil/DF
O comando acima (o # indica que deve ser executado em um terminal como usurio root) ir instalar o Nagios2 e todas as suas dependncias (inclusive os plugins principais). O programa ser distribudo nas seguintes pastas: /usr/sbin/nagios2 O programa principal do Nagios2. /etc/nagios2/ Arquivos de congurao. /usr/lib/nagios2/ Bibliotecas, como arquivos em script perl. /usr/share/nagios2/ Plugins. /usr/share/man/man8/nagios<verso>.gz Documentao. /usr/lib/cgi-bin/nagios2/ CGI.
Para a instalao e congurao, sero necessrias aes como criar novos usurios, alterar conguraes no servidor Web e etc. Ser necessrio acessar como usurio "root". Digite "su"ou faa login como root para seguir a sua instalao.
CDTC
Brasil/DF
Descompacte o arquivo com o cdigo fonte, use o comando: tar xzvpf nagios-1.1.tar.gz
Entre na pasta gerada. Para uma compilao bsica, utilize os seguintes comandos: ./congure prex=/usr/local/nagios with-nagios-user=nagios with-nagios-grp=nagios with-cgiurl=/nagios2/cgi-bin with- htmurl=/nagios2 ( parmetros para compilao ) make all -s ( criao de binrios ) make install -s ( instalao de binrios ) make install-init -s ( instalao de script de inicializao ) make install-cong -s ( instalao de exemplos de congurao no diretrio /usr/local/nagios/etc )
Aps a instalao sero criados os diretrios abaixo: /usr/local/nagios bin/ ( Arquivos binrios do Nagios ) etc/ ( Diretrio de Congurao ) sbin/ ( CGIs ) share/ ( Arquivos HTML ) var/ ( Diretrio de logs e comandos externos )
Antes de iniciar a instalao ALTAMENTE recomendvel ler o arquivo REQUIREMENTS para vericar quais os requisitos dos plugins. Para compilar use o seguinte parmetro:
18
CDTC
Brasil/DF
Verique se no est faltando algum componente para os plugins. Caso esteja faltando algum ir aparecer uma mensagem com o link para download e instalao. make all -s ( criao de binrios ) make install -s ( instalao de binrios )
Aps a instalao ser criado o diretrio abaixo: /usr/local/nagios libexec/ ( Arquivos de Plugins do Nagios )
Se voc instalou o Nagios2 usando o apt-get (e voc usa o apache2 como servidor web), esse arquivo de congurao estar na pasta /etc/apache2/conf.d/ com o nome nagios2.conf.
Se voc instalou pelo Tarball: ScriptAlias /nagios2/cgi-bin /usr/local/nagios/sbin/ <Directory "/usr/local/nagios/sbin/ AllowOverride AuthCong Options ExecCGI Order allow,deny Allow from all </Directory> Alias /nagios2 /usr/local/nagios/share/ <Directory "/usr/local/nagios/share Options None AllowOverride AuthCong Order allow,deny 19
CDTC
Brasil/DF
Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users require valid-user </Directory>
Depois necessrio criar o arquivo com usurio e senha; para isso, use o comando abaixo: htpasswd -c /usr/local/nagios/etc/htpasswd.users usuario chown apache:apache /usr/local/nagios/etc/htpasswd.users
Para vericar qual o usurio e grupo do apache, use o seguinte comando: grep "User"/etc/httpd/conf/httpd.conf grep "Group"/etc/httpd/conf/httpd.conf
OBS. No apache2, o arquivo httpd.conf se encontra na pasta /etc/apache2. O usurio e grupo do apache2 www-data:www-data. Se voc instalou pelo apt-get: Nesse caso, o arquivo j estar congurado automaticamente. Para ns didticos, mostraremos abaixo uma congurao tpica de quem instalou pelo apt-get.
ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios2 ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios2 Alias /nagios2 /usr/share/nagios2/htdocs <DirectoryMatch (/usr/share/nagios2/htdocs|/usr/lib/cgi-bin/nagios2)> Options FollowSymLinks AllowOverride AuthCong Order Allow,Deny Allow From All AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios2/htpasswd.users 20
CDTC
Brasil/DF
Como o apt-get j fez automaticamente a congurao do controle de acesso, o passo seguinte desnecessrio. Entretanto, para quem precisar alterar as permisses do arquivo de gerenciamento de usurios do Nagios2 (para que o servidor web possa us-lo), o comando o seguinte:
Onde www-data:www-data o usurio e grupo usado geralmente pelo apache2. Voc precisar substituir este campo dependendo do servidor web que voc usa.
Note que quem instalou pelo apt-get j vir com uma congurao padro minimalista para o seu sistema. Conguraes adicionais sero necessrias para incluir funcionalidades.
Cpia dos arquivos originais Antes de iniciar a congurao iremos fazer uma cpia dos arquivos originais: cd /usr/local/nagios/etc mkdir original mv *.cfg-sample original cd original for i in *cfg-sample; do mv $i echo $i|sed -e s/cfg-sample/cfg/; done;
Depois iremos copiar somente os arquivos necessrios: cp cgi.cfg checkcommands.cfg misccommands.cfg nagios.cfg resource.cfg timeperiods.cfg ../ Arquivos de congurao 1. CGI.CFG Nele cam as conguraes de utilizao de arquivos cgi pelo Nagios. Devem ser congurados os parmetros de autorizao de utilizao da interface Web. Altere os campos para o nome do usurio cadastros no arquivo /usr/local/nagios/etc/htpasswd.users e assim tero acesso ao sistema, os parmetros so:
21
CDTC
Brasil/DF
authorized_for_system_information=usuario1, usuario2 authorized_for_conguration_information=usuario1, usuario2 authorized_for_system_commands= usuario1, usuario2 authorized_for_all_services=usuario1, usuario2 authorized_for_all_hosts=usuario1, usuario2 authorized_for_all_service_commands=usuario1, usuario2 authorized_for_all_host_commands=usuario1, usuario2
2. CHECKCOMMANDS.CFG Congurao dos plugins que esto no diretrio /usr/local/nagios/libexec. Basta adicionar o plugin e seus parmetros. Se voc instalou pelo apt-get no Debian, bem provvel que esse arquivo no tenha contedo (teria no mximo alguns comentrios). Nesse caso, os comandos estaro distribudos na pasta /etc/nagios-plugins/cong/ e haver um (1) arquivo de congurao para cada plugin instalado. 3. MISCCOMMANDS.CFG Denio de algums comandos, tais como envio de e-mail, envio de pager, etc ... Os blocos de congurao deste arquivo possuem a mesma sintaxe do checkcommands.cfg. 4. NAGIOS.CFG O nagios.cfg o arquivo de congurao principal do programa, nele se encontra todas as conguraes bsicas do mesmo. A princpio nenhuma modicao precisar ser feita. Basta apenas colocar o nagios.cfg em /usr/local/nagios/etc/. No caso da instalao por apt-get, o nagios.cfg dever estar na pasta /etc/nagios2. a partir desse arquivo que o Nagios carrega todos os outros arquivos de congurao. Portanto, esse arquivo deve conter uma referncia para todos os outros arquivos (ou pastas) explicadas nesta pgina do curso. Na verdade, todos os outros arquivos de congurao podem ter nomes diferentes do apresentado aqui, desde que estejam devidamente referenciados no arquivo principal de congurao (este nagios.cfg). 5. RESOURCE.CFG Congurao de parmetros de recursos. Por padro vem denido qual o caminho dos plugins. Pode ser setadas variveis para serem utilizadas nos arquivos CHECKCOMMANDS.CFG e MISCCOMMANDS.CFG. 6. TIMEPERIODS.CFG ou TIMEPERIODS_NAGIOS2.CFG Arquivo com os horrios pr-denidos para checagem de servios e/ou servidores. muito til para avisos para diferentes grupos. No Nagios (1), esse arquivo estava com o nome timeperiods.cfg e estava na mesma pasta do arquivo de congurao principal do nagios (nagios.cfg). A partir do Nagios2, esse arquivo passou a ser chamado de timeperiods_nagios2.cfg e se encontra na pasta conf.d, que est dentro da pasta onde se encontra o nagios.cfg.
22
CDTC
Brasil/DF
Se voc o instalou pelo Tarball, o arquivo estar na pasta /usr/local/nagios/etc/conf.d/. Se voc o instalou pelo apt-get, o arquivo estar na pasta /etc/nagios2/conf.d/. Exemplos de conguraes seriam: dene timeperiod { timeperiod_name 24x7 alias 24 horas por dia, 7 dias por semana sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 } dene timeperiod { timeperiod_name workhours alias Standard Work Hours monday 09:00-17:00 tuesday 09:00-17:00 wednesday 09:00-17:00 thursday 09:00-17:00 friday 09:00-17:00 } Os campos sublinhados so campos que podem ser alterados. Congurando usurios e grupos de usurios Existem dois arquivos que se referem a esse tpico. So eles: contactgroups.cfg e contacts.cfg. Abaixo iremos explicar cada um deles. Campos sublinhados so os campos que podem/devem ser alterados.
contacts.cfg ou contacts_nagios2.cfg dene contact { contact_name login alias Nome do Usuario service_notication_period 24x7 # 24x7 = exemplo de periodo denido em timeperiods.cfg ou timeperiods_nagios2.cfg host_notication_period workhours # workhours = exemplo de periodo denido em timeperiods.cfg ou timeperiods_nagios2.cfg service_notication_options w,u,c,r #( w=warning / u=unknown / c=critical / r=recoveries / n=none) 23
CDTC
Brasil/DF
host_notication_options d,u,r #( d=down / u=notify / r=recoveries / n=none ) service_notication_commands notify-by-email # notify-by-email = exemplo de comando denido nos arquivos de congurao host_notication_commands host-notify-by-email # host-notify-by-email = exemplo de comando denido nos arquivos de congurao email root@localhost }
contactgroups.cfg ou contacts_nagios2.cfg
dene contactgroup { contactgroup_name grupo alias Nome do Grupo members Logins denidos no arquivo contacts.cfg } Congurando hosts e grupos de hosts Existem dois comandos que se referem a esse tpico. So eles: dene host e dene hostgroup. Eles geralmente estaro denidos nos arquivos abaixo (os sublinhados so campos que podem/devem ser alterados, 1 signica "ativado"e 0 signica "desativado"): hosts.cfg ou em arquivos separados para cada tipo de host (ex. localhost_nagios2.cfg, etc.) dene host { event_handler_enabled 1 ap_detection_enabled 1 max_check_attempts 5 name generic-host notication_interval 20 notication_options d,u,r notication_period 24x7 notications_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 register 0 } # Denicao do servidor1 dene host { 24
CDTC
Brasil/DF
use generic-host address IP do Servidor alias Nome do Servidor check_command Comando a ser efetuado ( funcao do services.cfg) host_name Host_Name_do_servidor }
hostgroups.cfgou hostgroups_nagios2.cfg
dene hostgroup { hostgroup_name nome_do_grupo alias Descricao do Grupo contact_groups grupos_que_fazem_parte members membros_que_fazem_parte } Criando os arquivos dependencies.cfg e escalations.cfg Utilize o comando abaixo para criar os dois arquivos pelo primeira vez. necessrio para iniciar o Nagios: touch /usr/local/nagios/etc/dependencies.cfg touch /usr/local/nagios/etc/escalations.cfg Tambm necessrio criar o diretrio abaixo: mkdir -p /usr/local/nagios/var/rw chown nagios:nagios -R /usr/local/nagios/var/rw OBS. Conguraes avanadas (como declarao de comandos) necessitam de conhecimentos de perl ou shell. Como isso est fora de nosso escopo, no ser tratado aqui.
25
CDTC
Brasil/DF
Se tudo estiver certo, inicie o Nagios com o comando: No caso de uma instalao por apt-get, o comando seria provavelmente:
/usr/sbin/nagios2 -v /etc/nagios2/nagios.cfg
Assim ser iniciado como daemon. No esquea que foi criado o arquivo de inicializao no diretrio /etc/rc.d/init.d/nagios.
26
Captulo 4
Os princpios do Nagios 2
Nesta seo, mostraremos os conceitos iniciais sobre as funcionalidades do Nagios 2.
27
CDTC
Brasil/DF
Verica se um servio est rodando (email, pager, SMS) Verica se um processo est rodando (mail, http, pop, ssh) Coleta estatsticas de performance em um servidor Permite que alertas especcos sejam encaminhados para grupos ou indivduos em particular Reporta o tempo em que seus servidores caram parados
28
CDTC
Brasil/DF
CDTC
Brasil/DF
Checagem passiva de hosts - Essa opo pode ser interessante para monitoramento redundante ou distribudo. Ative a opo accept_passive_host_checks no arquivo de congurao principal e use a diretiva accept_passive_host_checks nos arquivos de denio de hosts. 5. Alteraes em reteno Reteno de informaes sobre agendamento - Informaes sobre agendamento de Hosts e servicos (como o horrio da prxima checagem) pode ser retida entre reinicializaes do programa usando a diretiva use_retained_scheduling_info. Reteno inteligente - Valores de diversas diretivas de host e servios somente sero retidos entre reinicializaes do programa se forem alterados em tempo de execuo por comandos externos. Isso deve diminuir a confuso das pessoas que alteram diretivas e reiniciam o Nagios, esperando por algum tipo de alterao. Mais objetos so agora retidos - Mais informaes so retidas entre reinicializaes do programa. 6. Alteraes de informaes extendidas Novos locais - Informaes extendidas sobre hosts e servios so agora armazenadas em arquivos de congurao de objetos que podem estar entre outros arquivos de denio de hosts, etc. Como conseqncia, informaes extendidas so traduzidas e validadas na hora de inicializao do Nagios. Novas diretivas - Denies extendidas sobre hosts e servios possuem agora 2 novas diretivas. O notes e action_url. 7. Alteraes no Perl embutido local do p1.pl - Agora possvel especicar o local do arquivo de ajuda do Perl embutido (p1.pl) usando a diretiva p1_le. 8. Alteraes nas noticaes Flapping - Quando hosts alteram de estado com muita freqncia, ocorre o Flappig. Agora, noticaes podem ser enviadas quando ocorrem appings em hosts e servios. Essa funo pode ser controlada usando a opo f em notication_options na denio de contatos, hosts e servios. Melhor lgica - A lgica de noticao obteve melhorias. Isto pode evitar que noticaes de recuperao sejam enviadas quando no houve noticao de problemas. Noticao de servios - Antes das noticaes serem enviadas, dependncias so analisadas para hosts. Se as noticaes para uma host no for vivel, ela no ser enviada. Opo de escalao - Opes de estado e perodos (Time period e state options) foram adicionados escalao de hosts e servios. Isso d mais controle em determinar quais escalaes devem ser usadas. 9. Adicionado grupos de servio - Permitem agrupamento de servios para CGIs de interface com o usurio.
30
CDTC
Brasil/DF
10. Adicionado a indisponibilizao em cascata por "gatilhos" - Permite que indisponibilizao de servios sejam acionados por outros "gatilhos"(eventos), como a indisponibilizao do mesmo servio em outras mquinas (til para desativar funes de hosts lhos quando o parente est agendado para sair de funo). 11. Novas utilidades para estatsticas - Uma nova utilidade, chamada de nagiostats agora vem junto com a distribuio. uma ferramenta em linha de comando que permite visualizar a estatstica atual dos processos ativos do Nagios. Adicionalmente, pode produzir dados compatveis com o MRTG, possibilitando a representao grca das estatsticas. 12. Monitorao adaptativa - possvel alterar atributos de algumas rotinas de checagem (check command, check interval, max check attempts etc.) em tempo de execuo atravs de comandos externos apropriados. Esse tipo de monitorao adaptativa pode no ser til para a maioria, mas permite detalhamento de recursos oferecidos. 13. Alteraes nos dados sobre performance - Mtodos de processamento de dados sobre performance tiveram pequenas modicaes. possvel agora processar as informaes atravs de comandos externos e/ou escrevendo diretamente nos arquivos sem necessariamente recompilar o Nagios. 14. Removido o suporte nativo a banco de dados - Como essa funcionalidade no era bem implementada nas verses anteriores, foi removida. Isso signica menos contedo para iniciantes aprenderem. 15. API para negociadores de eventos - Foi criado uma API para que desenvolvedores individuais possam criar addons que se integram com o ncleo do daemon do Nagios. 16. Misc Todos os comados podem conter argumentos - Todos os tipos de comandos (checagem de hosts, noticaes, processadores de dados sobre performance, eventos, etc.) podem agora conter argumentos (separados dos comandos com o caractere ! ). Argumentos so substitudos na linha de comado usando a macro $ARG. Recursividade nos diretrios de congurao - Nagios pode agora processar recursivamente os arquivos de congurao encontrados nos diretrios especicados com a diretiva cfg_dir. Removido o suporte para os arquivos antigos de congurao Busca rpida - Objetos so armazenados em uma cadeia de hash para agilizar a busca. Isso aumenta o desempenho das CGIs. Threads trabalhadoras - Foram adicionadas algumas threads novas para bufferizar articialmente os dados para os arquivos de comando externo e pipes internos para processar resultados de checagens. Isso deve aumentar o desempenho em instalaes maiores. Alteraes em Log - Estados iniciais de host e servios so registrados de forma diferente agora. Adicionalmente, esses estados iniciais so imediatamente registrados aps as rotinas de log. Isso pode ajudar com os problemas de "tipo indeterminado"em disponibilidades e tendncias com CGIs. Cache de arquivos de congurao - O Nagios cria uma cache dos arquivos de congurao dos objetos para agilizar o desempenho das CGIs e possibilita alterao dos arquivos sem alterar a sada das funes suportadas pela CGI. 31
CDTC
Brasil/DF
Limite para checagem inicial - Pode-se agora denir "quadros"para a checagem inicial de todas as hosts durante a inicializao do Nagios. As variveis max_host_check_spread e max_service_check_spread controlam esse quadro. "Clusters"de checagem - O monitoramento de "clusters"de servios e hosts agora esto mais estveis. Isso devido incorporao de macros por demanda e plugins novos (check_cluster2). Comparao por expresso regular - O uso de diretivas como use_regexp_matching e use_true_regexp_matching permite comparao de objetos por expresses regulares. Pseudo-estados de servios - O suporte de pseudo-estados redundantes foram removidos do CGI de estados. Isso pode afetar URLs que usam parmetros do tipo "servicestatustypes=X"para o CGI. Verique o arquivo include/statusdata.h para a lista de novos estados de servios. Alteraes de checagem de vida (freshness check) - A lgica de checagem de vida foi alterada ligeiramente. A checagem ocorre se o tempo atual no vlido para o host ou o servio check_timeperiod. Adicionalmente, checagem de vida no ocorrer mais se as variveis check_interval e freshness_threshold de ambos servios ou variveis estiverem em zero (0).
32
Captulo 5
Acessando o Nagios
Esta seo apresenta as interfaces do Nagios com o usurio. Adicionalmente, algumas funcionalidades adicionais sero apresentadas nesta seo.
Esse endereo depende do que voc especicou como alias no arquivo de congurao do servidor Web (arquivos httpd.conf ou apache2.conf). No nosso caso, especicamos como /nagios2, logo, podemos acessar como: http://<endereo do servidor>/nagios2 (Ex: http://localhost/nagios2).
Se os CGIs mostrarem nada, signica que eles no esto congurados corretamente para a sua rede.
No quadro (frame) da esquerda, est o menu das funes disponveis pela interface Web. A maioria delas usa assistentes para perguntar o que o usurio quer monitorar. Como as pginas da interface web so bastante auto-descritivas, apresentaremos aqui somente algumas para ns ilustrativos.
33
CDTC
Brasil/DF
A tela principal (o menu e a pgina inicial) pode ser vista sem congurar corretamente os objetos da CGI (pois para isso basta congurar corretamente o servidor Web), mas cada funo listada no menu s ser ativada com a devida congurao dos arquivos de denio dos objetos.
Se alguma opo do menu no estiver disponvel, signica que as conguraes de comandos, hosts ou grupos no esto congurados devidamente. Verique seus arquivos de congurao.
A tela acima mostra as informaes sobre uma determinada host. A rea "Host Commands"prov as funcionalidades disponveis para aquele host. Hostgroup overview
34
CDTC
Brasil/DF
Downtime
Esta tela pode ser usada para agendar interrompimento de servios em uma determinada host.
Scheduling queue
35
CDTC
Brasil/DF
Lista os servios agendados naquele momento. Neste exemplo, s esto presentes os servios peridicos padro
Service Details
Tactical Overview
36
CDTC
Brasil/DF
Mostra informaes gerais essenciais para o monitormento geral da sua rede. Servios de reportagem Alert History
Trends
37
CDTC
Brasil/DF
Depois de passar por um assistente, mostra um grco que indica a tendncia dos estados de um determinado host. Os parmetros so indicados durante o assistente.
Uso de disco
Esta pgina acessvel pela lista de servios do host. Monitora o uso do HD da mquina. Conguraes View Cong
38
CDTC
Brasil/DF
39