Nagios

Executando scripts remotos

Escrito por Douglas Baiocco. Publicado em Nagios.

Este pode ser um recurso muito util se bem aproveitado. Em diversas situações, os tipos de monitoramento comuns do sistema não atendem ao que precisamos. Uma solução alternativa pode ser utilizada nestes casos.  

Utilizando o plugin check_nrpe que vem com o FAN Nagios e instalando o NSCLIENT++ (na instalação, deve ser habilitada a instalação do NRPE) no servidor que queremos que o script seja executado, podemos checar qualquer coisa dentro de um servidor. 

 

 

Este artigo pressupoe que você esteja utilizando o FAN Nagios (aqui) mas a maior parte das configurações se aplica aos diversos tipos de instalações de Nagios. Você vai precisar do NSCLIENT++ (download aqui e guia de instalação aqui) instalado no servidor a ser monitorado. 

 

Primeiramente, é necessário configurar o NSCLIENT++ no servidor. Para esta configuração, precisamos editar o arquivo NSC.ini dentro da pasta de instalação do NSCLIENT++ (geralmente c:\Arquivos de programas\NSCLIENT++\). Abra este arquivo no servidor e edite conforme orientado a seguir.

 

Procure a linha:

check_ok=CheckOK Everything is fine!

 

e altere para:

check_ok=scripts\check_ok.bat

 

 

Procure a linha:

;CheckExternalScripts.dll

 

e altere para:

CheckExternalScripts.dll

 

Reinicie o NSCLIENT++ no servidor.

 

Deste ponto, a execução de scripts no servidor já está funcionando. Para testar, entre no terminal do seu FAN Nagios (geralmente usando o Putty) e execute o camando dentro da pasta /usr/lib/nagios/plugins/:

img40

img40

 

Neste nosso exemplo, o arquivo que foi executado é o check_ok.bat. Este arquivo é adicionado por padrão na instalção do NSCLIENT++ (a versão utilizada em nosso tutorial é a 0.3.9.328). Ele nada mais é que um arquivo em lotes (.bat) do MS-DOS. Podemos executar scripts de varios formatos, como por exemplo VBS ou PS. O script é executado e o resultado é recebido pelo NAGIOS para tratamento.

 

O conteúdo do arquivo é este:

 

@echo OK: Everything is going to be fine a
@exit 0

 

Note que é um arquivo bem simples. Poderiamos realizar alguma checagem, colocando condicionais e tratamento de valores e retornar os valores para o Nagios tratar e gerar os alertas e logs. É uma forma interessante de personalizar checagens mais complexas.

 

O arquivo é composto por duas linhas: a primeira é a mensagem que será exibida no Nagios e a segunda é o codigo de retorno para o Nagios.

O código de retorno pode ter os seguintes valores 

0

OK

1

Warning

2

Critical

3

Unknow

 

Para entendermos, o script pode ser montado para retornar alguns desses codigos com alguma mensagem personalizada. É claro que em nosso exemplo simplista, sempre teremos um OK. Mas você pode testar mudando o código de retorno e vendo o resultado.

 

Vamos adicionar o servico para o Nagios monitorar e interpretar os dados, para isso teremos que criar um novo comando no Nagios. O motivo é simples: o Centreon, do FAN Nagios, não veio pré-configurado para trabalhar com o NRPE. Mas não se preocupe, o processo é simples:

 

Clique no menu Configuration e em seguida em Commands dentro do Centreon. img41

img41

 

Logo que aparecer a lista com os comandos, clique em ADD. A tela a seguir será apresentada:

img43

img43

 

Preencha os campos conforme o exemplo:

Command Name: check_nrpe

Command Type: Check

Command Line: $USER1$/check_nrpe -H $HOSTADDRESS$ -t 500 -c $ARG1$

Argument Example: !check_ok

 

 

Clique em SAVE e vamos adicionar o Serviço que será monitorado.

 

Clique em Configuration, Services. Ao aparecer a tela com a listagem dos serviços, clique em ADD e preencha os dados conforme exemplo:

img44

img44

 

Não esqueça de atribuir o serviço a algum Host, já que ele não pode existir sem esta atribuição. Faça isso na guia Relations.

 

Clique em SAVE.

 

Por fim, é preciso apenas exportar as configurações do Centreon para o Nagios: dentro de Configuration, selecione a guia Monitoring Engines. Selecione os campos Move Export Files e Restart Nagios e clique no botão Export.

img33

img33

Agora voce pode entrar no Nagios e verificar o status deste serviço recem cadastrado.

Relacionados