Artigo 7 – Organizando a Configuração do Nagios

Olá, continuando a nossa série de artigos do Nagios (Este é o número 7). Hoje vou mostrar como organizar a configuração do Nagios.

Até agora escrevi os artigos me preocupando apenas no proposto, de como fazer e não como manter. Mas tudo isso é uma maneira de dizer que a configuração do Nagios é flexível e pode ser feita da maneira que o administrador quiser, afinal, o que é organizado pra mim, pode não ser pra você!

Ok, até agora estamos monitorando alguns hosts de maneira desorganizada, tendo em vista que o ambiente de monitoração cresce da mesma forma que sua Rede.

OBS: Já alteramos alguns parâmetros no nagios.cfg em artigos anteriores, adicionando algumas linhas que fazem com o que o nagios leia os diretórios abaixo a procura de arquivos com o final .cfg:

/usr/local/nagios/etc/linux
/usr/local/nagios/etc/windows


A configuração padrão do Nagios já sugere esta tal organização, vamos entender?

## Dentro do diretório objects ficam alguns arquivos de configuração, vamos reutiliza-los!

ls -1 /usr/local/nagios/etc/objects/

commands.cfg
contacts.cfg
localhost.cfg
printer.cfg
switch.cfg
templates.cfg
timeperiods.cfg
windows.cfg

cd /usr/local/nagios/etc/objects/

## Agora vamos reaproveitar o que já criamos, insira as linhas abaixo no final do arquivo

vim contacts.cfg

define contact{
contact_name                       Admin
alias                              Admin
contactgroups                      Admin
host_notification_period           24x7
service_notification_period        24x7
host_notification_options          d,u
service_notification_options       u,c,r
host_notification_commands         notify-host-by-email
service_notification_commands      notify-service-by-email
email                              admin@dominio.com.br, gerente@dominio.com.br
}

define contactgroup{
contactgroup_name               Admin
alias                           Admin
members                         Admin
}

OBS: Poderiamos ter um arquivo para Grupo do Contato, mas particularmente acredito que seja mais facil dessa forma.

## Agora vamos editar o arquivo template.cfg e insira as linhas abaixo no final do arquivo

vim templates.cfg

define host{
name                            TemplateHost
alias                           TemplateHost
check_command                   check-host-alive
max_check_attempts              3
check_interval                  5
active_checks_enabled           1
passive_checks_enabled          0
check_period                    24x7
retain_status_information       1
notification_interval           0
notification_period             24x7
notification_options            d,u,r
register                        0
}

define service{
name                            TemplateService
is_volatile                     0
max_check_attempts              3
normal_check_interval           5
retry_check_interval            5
active_checks_enabled           1
passive_checks_enabled          0
check_period                    24x7
retain_status_information       1
notification_interval           0
notification_period             24x7
notification_options            u,c,r
register                        0
}

## Chegou a vez do commands.cfg, insira as linhas abaixo no final do arquivo

vim commands.cfg

define command{
command_name    check_nrpe
command_line    /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 25
}

define command{
command_name      check_nt_disk
command_line      $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 \
-v USEDDISKSPACE -l $ARG1$ -w 80 -c 90
}

## Blz, agora vou zerar os arquivos e fazer desta forma que julgo mais organizada

> /usr/local/nagios/etc/windows/srvWindows.cfg
vim /usr/local/nagios/etc/windows/srvWindows.cfg

define host{
host_name               SRV_Windows
use                     TemplateHost
contact_groups          Admin
alias                   Servidor Windows Local
address                 IP
}

define service{
host_name                       SRV_Windows
service_description             Ping
use                             TemplateService
check_command                   check_ping!300,20%!900,52%!
contact_groups                  Admin
}

define service{
host_name                       SRV_Windows
service_description             Particao
use                             TemplateService
check_command                   check_nt_disk!C
contact_groups                  Admin
}

## Os arquivos linux vamos apagar e começar do zero

rm -rf /usr/local/nagios/etc/linux/*

## Comente a linha abaixo no nagio.cfg

vim /usr/local/nagios/etc/nagios.cfg

#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

## Criando um novo arquivo de host

vim /usr/local/nagios/etc/linux/debian.cfg

define host{
host_name               SRV-Linux-Debian
use                     TemplateHost
contact_groups          Admin
alias                   Servidor Linux
address                 IP
}

define service{
host_name                       SRV-Linux-Debian
service_description             Ping
use                             TemplateService
check_command                   check_ping!300,20%!900,52%!
contact_groups                  Admin
}

define service{
host_name                        SRV-Linux-Debian
service_description              NRPE_DHClient
use                              TemplateService
check_command                    check_nrpe!check_dhclient3
contact_groups                   Admin
}

## Fácil né?, vamos adicionar um novo host linux para testar esta configuração

cd /usr/local/nagios/etc/linux/
cp -p debian.cfg web.cfg

## Edite Nome do Host, IP e neste caso estou adicionando o Serviço HTTP e retirei o NRPE

vim web.cfg

define host{
host_name               SRV-Linux-Web
use                     TemplateHost
contact_groups          Admin
alias                   Servidor Linux
address                 IP
}

define service{
host_name                       SRV-Linux-Web
service_description             Ping
use                             TemplateService
check_command                   check_ping!300,20%!900,52%!
contact_groups                  Admin
}

define service{
host_name                        SRV-Linux-Web
service_description              HTTP
use                              TemplateService
check_command                    check_http
contact_groups                   Admin
}

## Ok, Agora é só testar as configurações e reload no Nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload

Considerações: Agora adicionar um host fica muito mais facil porque podemos reaproveitar a configuração duplicando um arquivo ja existente.

Caso tenha um numero grande de hosts, pode nomea-los com as iniciais do seu cliente, (cliente_srv-linux-web.cfg) caso tenha que excluir este cliente da configuração do Nagios ou desativa-lo, basta mover os arquivo (mv cliente* /desativados/) para outro local e reload no Nagios.

Até o Próximo Artigo 🙂

.
.
.
🙂
Luciano Maia Cirilo
LPIC3
www.nagiosnapratica.com.br

Anúncios

,

  1. #1 por Paulo Santos em outubro 28, 2010 - 1:48 pm

    Show de bola!!!
    Ficou Excelente.
    Finalmente um página que atende as necessidades dos administradores do mundo GNU/LINUX sobre a poderosa ferramenta que é o nagios.
    Parabéns

  2. #2 por Leandro em novembro 11, 2010 - 6:23 pm

    Muito bom mesmo!!! Está sendo muito útil.

    Parabéns!

  3. #3 por Flávio em novembro 25, 2010 - 10:27 am

    Bom dia,

    Estou seguindo o seu artigo arrisca e na parte de monitoramento do servidor windows está acontecendo um erro onde aparece conexão recusada, o que poderia ser esse erro, ele não está monitorando as partições.
    Desde já agradeço e parabéns pelos artigos de ótima qualidade.

    att,

    Flávio

    • #4 por nagiosnapratica em novembro 25, 2010 - 12:32 pm

      Olá Flávio,

      Verifique se a porta 1248 esta escutando no seu servidor windows:

      ## No prompt do DOS digite:

      netstat -na | more

      ## Procure por esta linha

      TCP 0.0.0.0:1248 0.0.0.0 LISTENING

      Caso esteja escutando como exemplo acima, verifique se do servidor nagios você consegue executar telnet IP-servidor-windows 1248 com sucesso.

  4. #5 por Agnaldo Silva em novembro 30, 2010 - 3:42 pm

    Olá, Tens algum exemplo de como monitorar servidores SQL Server, com nágios.
    Ex. executar um script SQL que retorne o numero de locks no SQL e dispare um e-mail.
    Grato desde já,
    Abraço, Agnaldo

  5. #7 por Leandro Oliveira em janeiro 13, 2011 - 3:03 pm

    Impecável!

  6. #8 por marcos em abril 26, 2011 - 10:31 am

    Olá Luciano,
    cheguei ao final deste artigo e meu problema continua, pode me ajudar?
    todos servers linux eu consegui monitorar sem problemas.
    Mas se eu colocar o segundo servidor windows da erro na configuração e o nagios nao inicia.

    Ele me reporta este erro

    Warning: Duplicate definition found for hostgroup ‘windows_server’ (config file ‘/usr/local/nagios/etc/windows/srvarquivos.cfg’, starting on line 34)
    Error: Could not add object property in file ‘/usr/local/nagios/etc/windows/srvarquivos.cfg’ on line 35.
    Error processing object config files!

    ***> One or more problems was encountered while processing the config files…

    Desde já,
    obrigado

  7. #9 por marcos em abril 26, 2011 - 10:59 am

    Luciano,
    consegui resolver o problema acima.

    O segundo servidor em windows precisa ir em um só arquivo certo?

    define_host – serv 1
    define_host – serv 2

    assim aqui funcionou…

    Aguardamos seu artigo sobre servidores windows

    Abraços

  8. #10 por Edson Vieira em dezembro 22, 2011 - 8:56 am

    Simplesmente fantástico seus artigos. Havia feito um curso sobre Nagios a uns anos atrás, mas o meu instrutor nunca tirava minhas dúvidas sobre simplificação da configuração. Tá de parabéns….

  9. #11 por Alexandre Faustino em setembro 10, 2013 - 11:16 am

    Olá a todos!
    Preciso de um auxilio, estou montando um servidor nagios em um CentOS seguindo o tutorial de vocês e estava tudo tranquilo, porém assim que eu fiz a organização dos arquivos, para padronizar as configurações começou a constar a seguinte mensagem quando eu clico nos itens que fazem parte do Host Groups:

    It appears as though you do not have permission to view information for any of the hosts you requested…
    If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
    and check the authorization options in your CGI configuration file.

    Eu pesquisei em outros sites porém todas as soluções não conseguiram me auxilar.
    A versão do meu Nagios é a 3.5.1 e a dos plugins é a 1.4.15.

  10. #12 por Adriano em fevereiro 5, 2015 - 10:36 am

    😀 Muito bom parabéns pelo artigo. Está sendo fácil aprender nagios com seu material.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: