Your SlideShare is downloading. ×
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Criando plugin para o Nagios em Shell Script _ Nagios

538

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
538
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 1/7 Artigo 12 – Criando plugin para o Nagios em Shell Script (http://nagiosnapratica.files.wordpress.com/2010/12/images-ideia.gif)Olá a todos, hoje vou mostrar como escrever um plugin para o Nagios em shell Script. Na verdade um simples plugin apenas para mostrar né O Nagios compreende 4 tipos de saída referente a status: OK = 0 WARNING = 1 CRITICAL = 2 UNKNOWN = 3 Logo precisamos escrever as saídas com estes números (0,1,2,3) ou para casos mais simples com (0 e 2). Para fazer isso em shell script é necessário escrever a saída com exit 0, exit 1, exit 2 e exit 3 Ok, Maioria de nós conhecemos o check_mailq que analisa a fila de e-mail e funciona muito bem, mas vamos imaginar que ele não exista pelo menos até o fim deste artigo ok? Pessoal, este é apenas um exemplo de shell script, não sou expert em shell script mas me viro, então sem criticas ok? ## Vamos criar o arquivo com o conteúdo abaixo: vim /usr/local/nagios/libexec/check_fila_mail.sh
  • 2. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 2/7 #!/bin/sh ############################################### ## LucianoMaiaCirilo ## ## lucianosuperathotmail.com ## ## http://www.nagiosnapratica.com.br ## ############################################### ##Criandoosarquivostemporarios mailq>/tmp/fila.log mailq>/tmp/fila-vazia.log ##Realizandoasconsultas tail-n1/tmp/fila.log|cut-d""-f5>/tmp/nfila.txt cat/tmp/fila-vazia.log|grep"Mailqueueisempty">/dev/null ##Testandoaultimaconsultaparaverificarseafilaestavazia if[$?=0] then echo"OK-AfiladeE-mailestavazia" exit0 ##Filamenorouiguala50 elif[`cat/tmp/nfila.txt`-lt50] then echo"OK-Afilatem`cat/tmp/nfila.txt`e-mails" exit0 ##Filamenorouiguala80 elif[`cat/tmp/nfila.txt`-lt80] then echo"WARNING-Afilatem`cat/tmp/nfila.txt`e-mails" exit1 ##Filamaiorque80 elif[`cat/tmp/nfila.txt`-gt80] then echo"CRITICAL-Afilatem`cat/tmp/nfila.txt`e-mails" exit2 else echo"UNKNOWN-Erroaotentarlerafiladee-mail" exit3 fi ## Necessário alterar a permissão chmod 755 check_fila_mail.sh ## Ok, agora vamos testar o plugin
  • 3. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 3/7 ./check_fila_mail.sh OK – A fila tem 35 e-mails ## Vocês podem alterar os valores para teste, ja fiz aqui e esta funcionando Este é um plugin que funciona apenas local, logo para utiliza-lo em servidores remotos é necessário que utilize o NRPE já explicado aqui no artigo 6 (http://nagiosnapratica.wordpress.com/2010/10/20/artigo6-monitorando-so-linux-com- nrpe-no-nagios/) Pessoal vou aproveitar e disponibilizar um plugin que verifica se um determinado IP esta listado em algumas blacklist publicas, como vocês perceberam como qualquer outro sysadmin não vivo só de Nagios. Espero que gostem e utilizem: vim /usr/local/nagios/libexec/check_rbl.sh #!/bin/sh ######################################################################### ## # ## check_rbl.sh-VerificaseoIPestalistadonasprincipaisRBLs # ## LucianoMaiaCirilo-lucianosuper2atgmail.com # ## http://www.nagiosnapratica.com.br # ## # ######################################################################### iprbl(){ cat/tmp/$iplog|cut-d.-f1>/tmp/1$iplog cat/tmp/$iplog|cut-d.-f2>/tmp/2$iplog cat/tmp/$iplog|cut-d.-f3>/tmp/3$iplog cat/tmp/$iplog|cut-d.-f4>/tmp/4$iplog paste-d"."/tmp/4$iplog/tmp/3$iplog/tmp/2$iplog/tmp/1$iplog>/tmp/reverso } nomeip(){ >/tmp/nslookup$iplog.log nslookup"$iplog">/tmp/nslookup$iplog.log cat/tmp/nslookup$iplog.log|grep-v"#53"|grep"Address"|cut-c10-900> } if[$#=0] then echo"Usage:$0{IP}" echo"Or" echo"Usage:$0200.0.0.10" exit1
  • 4. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 4/7 fi iplog="$1" echo"$iplog">/tmp/$iplog >/tmp/reverso2$iplog.log >/tmp/nslookup$iplog.log >/tmp/verifica2$iplog.log >/tmp/saida$iplog.log >/tmp/ips-listados2$iplog.log grep"[0-9].[0-9]"/tmp/$iplog>/dev/null if[$?=0] then iprbl else nomeip iprbl fi #####verificandoasrbls foriin`cat/tmp/reverso2$iplog.log`; do host-tA$i.relays.mail-abuse.org >>/tmp/verifica2$iplog.log host-tA$i.b.barracudacentral.org >>/tmp/verifica2$iplog.log host-tA$i.rbl.smtpcheck.net >>/tmp/verifica2$iplog.log host-tA$i.zen.spamhaus.org >>/tmp/verifica2$iplog.log host-tA$i.bl.spamcop.net >>/tmp/verifica2$iplog.log done ####TratandoaSaidadoArquivo output(){ cat/tmp/ips-listados2$iplog.log|grep"relays.mail-abuse">/dev/null if[$?=0] then echo"$i.relays.mail-abuse.org">>/tmp/saida$iplog.log else echo"IPnotfound">>/dev/null fi cat/tmp/ips-listados2$iplog.log|grep"barracudacentral">/dev/null if[$?=0] then echo"$i.b.barracudacentral.org">>/tmp/saida$iplog.log else echo"IPnotfound">>/dev/null fi
  • 5. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 5/7 cat/tmp/ips-listados2$iplog.log|grep"rbl.smtpcheck">/dev/null if[$?=0] then echo"$i.rbl.smtpcheck.net">>/tmp/saida$iplog.log else echo"IPnotfound">>/dev/null fi cat/tmp/ips-listados2$iplog.log|grep"zen.spamhaus">/dev/null if[$?=0] then echo"$i.zen.spamhaus.org">>/tmp/saida$iplog.log else echo"IPnotfound">>/dev/null fi cat/tmp/ips-listados2$iplog.log|grep"spamcop.net">/dev/null if[$?=0] then echo"$i.bl.spamcop.net">>/tmp/saida$iplog.log else echo"IPnotfound">>/dev/null fi echo"CRITICAL-`cat/tmp/saida$iplog.log`" exit2 } cat/tmp/verifica2$iplog.log|grep-v"notfound"|grep-v"hasnoA">/tmp if[$?=0] then output else echo"OK-`cat/tmp/$iplog`IPNotListRBLsPublic" exit0 fi ### Alterando a permissão chmod 755 check_rbl.sh . Espero que tenha sido esclarecedor para todos. Até a próxima! . . .
  • 6. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 6/7 Luciano Maia Cirilo www.nagiosnapratica.com.br (http://www.nagiosnapratica.com.br/) check_fila_mail.sh , plugin , shell script Esta entrada foi publicada em dezembro 8, 2010, 1:32 pm e está arquivada em Artigos, Nagios, Plugins. Você pode seguir quaisquer respostas para esta entrada através de RSS 2.0. Você pode deixar uma resposta, ou trackback do seu próprio site. COMENTÁRIOS (7) #1 por Marcelo Terres em dezembro 8, 2010 - 3:31 pm Ótimo plugin, parabéns pelo excelente trabalho. Adicionei a sorbs.net nele pois precisava monitorar tal lista também. []s #2 por Jamila em março 25, 2011 - 10:32 am Estou tentando criar um plugin para o nagios, mas parece que ele nao entende as saidas… Depois de criar o plugin como faço para usar, de fato, dentro do nagios? #3 por Nagios na Prática! em março 25, 2011 - 10:39 am Olá Jamila, Você precisa verificar quais são os erros, como disse no artigo não sou expert em Shell Script, então sugiro que pesquise mesmo Para usar o plugin sugiro que leia o artigo sobre o nrpe para monitorar os clientes linux, segue o link do artigo: http://nagiosnapratica.wordpress.com/2010/10/20/artigo6-monitorando-so-linux- com-nrpe-no-nagios/ Espero ter ajudado. Att. Luciano Maia Cirilo LPIC-3 http://www.nagiosnapratica.com.br #4 por Jamila em março 25, 2011 - 11:05 am O script funciona, tanto que o utilizamos em outra ferramenta para monitorar. Não chega a ser um caso de usar nrpe, pois é um ping. Oq o script faz é logar no router, realizar o ping e devolver o resultado. Mas como faço pra rodar dentro do nagios? Em que diretorio coloco? About these ads (http://en.wordpress.com/about-these-ads/)
  • 7. 19/5/2014 Artigo 12 – Criando plugin para o Nagios em Shell Script | Nagios http://nagiosnapratica.wordpress.com/2010/12/08/artigo12-criando-plugin-para-o-nagios-em-shell-script/ 7/7 Obrigada pela atenção! #5 por Nagios na Prática! em março 28, 2011 - 9:39 am Olá Jamila, Você deve colocar o script no diretorio /usr/local/nagios/libexec/ criar o template dentro do arquivo: commands.cfg E utilizar este template nos arquivos hosts.cfg e services.cfg Caso queira envie depois o script para as listas do Nagios para o pessoal dar as opiniões. Att. Luciano Maia Cirilo LPIC-3 http://www.nagiosnapratica.com.br #6 por Gabriel em dezembro 5, 2011 - 7:39 pm Boa Noite, pode me dizer como eu faço um scrip para o Nagios ver se um serviço esta rodando ou não?? tipo, gostaria de criar um scrip para mostrar se alguns serviços meus estao rodando ou parado, como por exemplo, asterisk, openfire, mysql, etc… sei q existe alguns plugins prontos tanto q uso mtos, mas keria saber fazer algo bem basico q só mostre na tela se esta rodando ou não… tem como me ajudar?? Obrigado #7 por Diego em julho 24, 2013 - 11:07 am Olá, tem alguma dica para fazer um plugin para monitorar Toner de impressora laser Brother todos os modelos ? Crie um website ou blog gratuito no WordPress.com. O tema Fusion. Seguir Seguir “Nagios” Tecnologia WordPress.com

×