Watch Dog para Nagios
Publicado por Rodrigo Garcia (última atualização em 26/06/2013)
[ Hits: 3.560 ]
Homepage: www.unix4life.blogspot.com
Olá a todos!!!
Como todos já sabem, é possível fazer infinitas customizações no Nagios. Eu mesmo já criei meus próprios plugins usando shell script. Dessa vez, eu tentei algo um pouco mais ousado, que é a criação de um watch dog (sistema automático que detecta falhas e tenta corrigir sozinho) para serviços monitorados pelo Nagios. Na verdade é bem simples, um shell script básico que é executado pelo plugin NRPE. No tutorial que está nesse mesmo blog (link abaixo), vemos que quando utilizamos o NRPE nós configuramos comandos a serem executados no host monitorado através do arquivo nrpe.cfg:
command[check_http]=/usr/lib/nagios/plugins/check_http -I localhost
O que eu fiz foi criar um script que chama cada comando, ex.:
command[check_http]=/usr/lib/nagios/plugins/watch_dog.sh "check_http -I localhost" apache2
Caso o serviço não esteja rodando, ele executa o comando para iniciar o serviço no sistema operacional. Simples, não?
O script também está publicado em: http://www.unix4life.blogspot.com
#!/bin/bash # Watch Dog para Nagios 1.0 # Desenvolvido por Rodrigo Garcia em 25/06/2013 # Informe em PDIR="" o caminho para os plugins do Nagios PDIR="/usr/local/nagios/libexec" SERV=$(which service) # O script deve ser chamado colocando como primeiro argumento ($1) o nome do plugin do Nagios e seus argumentos entre aspas # O segundo argumento ($2) é o nome do serviço a ser executado caso o mesmo não esteja rodando. $PDIR/$1 $2 > /dev/null case $? in "0") $PDIR/$1 $2 ;; "1") $PDIR/$1 $2 ;; "2") $SERV $2 restart if [ $? != "0" ] then $PDIR/$1 $2 fi $PDIR/$1 $2 ;; esac
Backup mysqldump usando Shell Script
Script para captura de campos de formulário com conversão URL encode.
Verificando a versão mais recente do Wine via script
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta