Monitorar o servidor DNS com o Nagios

2

Eu quero monitorar meu servidor DNS com o Nagios. Eu entendo que há um plugin check_dns, mas eu sou um noob Nagios total e não tenho idéia de como eu iria sobre o uso do plugin. Tudo o que quero fazer é o equivalente a garantir que um comando nslookup seja bem-sucedido. Alguém pode me apontar na direção certa?

    
por Jason Swett 04.10.2010 / 19:41

4 respostas

9

faça login no servidor nagios com putty (windows) ou slogin em um shell unix. Se você logar como root, torne-se o usuário nagios:

# su - nagios [enter]

Vá para o diretório / usr / local / nagios / libexec (supondo que você tenha instalado nagios do código-fonte, se você usou um pacote de sua distribuição, verifique os documentos do seu pacote):

$ cd /usr/local/nagios/libexec

execute o plugin check_dns com o parâmetro --help. Ele te dará todas as opções disponíveis:

$./check_dns --help
check_dns v1.4.15 (nagios-plugins 1.4.15)
Copyright (c) 1999 Ethan Galstad <[email protected]>
Copyright (c) 2000-2008 Nagios Plugin Development Team
    <[email protected]>

This plugin uses the nslookup program to obtain the IP address for the given host/domain query.
An optional DNS server to use may be specified.
If no DNS server is specified, the default server(s) specified in /etc/resolv.conf will be used.


Usage:
check_dns -H host [-s server] [-a expected-address] [-A] [-t timeout] [-w warn] [-c crit]

Options:
 -h, --help
    Print detailed help screen
 -V, --version
    Print version information
 -H, --hostname=HOST
    The name or address you want to query
 -s, --server=HOST
    Optional DNS server you want to use for the lookup
 -a, --expected-address=IP-ADDRESS|HOST
    Optional IP-ADDRESS you expect the DNS server to return. HOST must end with
    a dot (.). This option can be repeated multiple times (Returns OK if any
    value match). If multiple addresses are returned at once, you have to match
    the whole string of addresses separated with commas (sorted alphabetically).
 -A, --expect-authority
    Optionally expect the DNS server to be authoritative for the lookup
 -w, --warning=seconds
    Return warning if elapsed time exceeds value. Default off
 -c, --critical=seconds
    Return critical if elapsed time exceeds value. Default off
 -t, --timeout=INTEGER
    Seconds before connection times out (default: 10)

Send email to [email protected] if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to [email protected]

Então, se você quiser verificar se serverfault.com resolve 69.59.196.211, faça isso:

./check_dns -H serverfault.com -a 69.59.196.211
DNS OK: 0.013 seconds response time. serverfault.com returns 69.59.196.211|time=0.012614s;;;0.000000

Como você pode ver, você também pode especificar qual servidor DNS consultar com a opção -s, limites críticos e de aviso, etc. Quando estiver satisfeito com a verificação executada no cli, edite o arquivo de configuração nagios onde você define os serviços (provavelmente services.cfg) e aplica a verificação a um determinado host (grupo). Mas isso é muito melhor documentado no manual que você pode ler na interface web que foi instalada quando você instalou o nagios.

    
por 04.10.2010 / 20:16
2

Você provavelmente já tem o comando definido em sua configuração nagios, assim:

define command{
    command_name    check_dns
    command_line    /usr/lib/nagios/plugins/check_dns -H google.ca -s $HOSTADDRESS$
    }

A mina está em /etc/nagios/objects/commands.cfg

O caso mais simples é definir um serviço que verifica o servidor DNS no host:

define service{
    use                 generic-service
    host_name           ns1
    service_description DNS
    check_command       check_dns
}

Observe que isso pressupõe:

  • que você já tem ns1 configurado como host
  • que você tem um modelo generic service já configurado com padrões úteis
  • que quaisquer outros objetos dos quais o host ou o modelo dependem, como períodos de tempo e contatos, já estão definidos

O Nagios é uma ferramenta bastante complicada, não há um 'início rápido' realmente fácil.

    
por 04.10.2010 / 21:20
1

Para que o comando procure por check_dns binários no lugar certo, é melhor defini-lo usando variáveis nagios (instalação padrão):

define command{
  command_name    check_dns
  command_line    $USER1$/check_dns -H www.example.com -a 93.184.216.119 -s $HOSTADDRESS$
}

O comando acima verifica se o servidor sendo testado retorna o endereço 93.184.216.119 para hostname www.example.com

    
por 15.10.2013 / 12:51
0

Execute o plugin com -h e ele deve fornecer documentação sobre como usá-lo. Os parâmetros normais incluem o host a ser testado, limites para limites críticos e de aviso. O teste de DNS provavelmente incluirá o que você deseja procurar.

    
por 04.10.2010 / 19:51