Monitorar porta 25 no host

9 views
Skip to first unread message

Danilo Arouca

unread,
Oct 24, 2017, 9:45:52 AM10/24/17
to nagio...@googlegroups.com
Bom dia.
Existe uma maneira de, um server monitorado, favor um teste de telnet na porta 25 de um dominio e mandar o resultado pelo Nagios?

Detalhe: Não quero monitorar a porta 25 deste servidor. Quero saber quando o firewall bloqueia o acesso desse servidor monitorado a outro servidor pela 25. Entende?

Atenciosamente,


CONFIDENCIAL. SUJEITO A PRIVILÉGIO LEGAL DE COMUNICAÇÃO, PROTEGIDO NOS TERMOS DA LEI. Esta mensagem e seus anexos são endereçados exclusivamente para seu destinatário e podem conter informações confidenciais ou privilegiadas e legalmente protegidas, sujeitas a sigilo profissional.  Se você não é o destinatário ou uma pessoa autorizada para recebê-la, você não deve usar, copiar, divulgar ou tomar qualquer ação com base nesta mensagem ou quaisquer informações nela contidas. Se você recebeu esta mensagem por engano, por favor, informe o remetente imediatamente, respondendo o e-mail e exclua esta mensagem do seu computador. O conteúdo desta mensagem e seus anexos não necessariamente exprimir o parecer ou a intenção da empresa e fazer não implica qualquer obrigação legal ou responsabilidades essa empresa.

Sidney Souza

unread,
Oct 24, 2017, 10:24:08 AM10/24/17
to nagio...@googlegroups.com

Para mim ficou um pouco confuso a sua explicação, acho que se você utilizar imagens ajudaria.

Apenas a titulo de ajuda, acredito que você pode fazer um nmap do servidor monitorado para o destino e verificar se a porta esta como fechada ou filtrada.

Ex:

# nmap -p 25 localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2017-10-24 12:19 BRST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000034s latency).
PORT   STATE  SERVICE
25/tcp closed smtp

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

OBS: Substituir localhost pelo IP ou NOME do host que você deseja verificar o bloqueio

PS: O porta indica que esta sendo bloqueada por firewall quando aparecer como "filtered".

Como você pode ver no exemplo, a porta 25 esta bloqueada(fechada) para acesso.

Espero que isso te ajude.


------------------------------------------------------

--
Você recebeu essa mensagem porque está inscrito no grupo "Nagios" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nagios-lab+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para nagio...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/nagios-lab.
Para mais opções, acesse https://groups.google.com/d/optout.

Danilo Arouca

unread,
Oct 24, 2017, 2:54:24 PM10/24/17
to nagio...@googlegroups.com
Olá.
Ai que está o problema.

Vamos lá… Se eu fizer um nmap do Host que monitoro, bato normalmente. Mas se tentar usar a porta o datacenter bloqueia.
Liga lá e eles liberam. Certo?

Então, se eu fizer um nmap, vou ter resposta positiva. Preciso que seja telnet.

Fazer um script que colete essa informação é fácil. Difícil é enviar essa informação para o Nagios no servidor de monitoramento. Entende?
Avisando que não está respondendo.

Atenciosamente,


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nagios-lab+...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para nagio...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/nagios-lab.
Para mais opções, acesse https://groups.google.com/d/optout.

Caroline Lage

unread,
Oct 26, 2017, 7:46:58 AM10/26/17
to nagio...@googlegroups.com
Olá Danilo!

Na verdade, se você quer utilizar um script próprio, enviar essa informação pro Nagios é super fácil. 

Resumidamente, independentemente da linguagem, basta que você jogue na tela a sua frase com a saída desejada (0 - OK; 1 - Warning; 2 - Critical) e o Nagios irá conseguir interpretar essa resposta.

Eu tenho alguns scripts em python e em bash. Segue um breve resumo do que vc deve fazer:

No cliente:

Script que checa o tamanho das tablespaces que estão no banco de dados e me alerta conforme desejado

#!/usr/bin/python
import pyodbc, sys, socket

arg=socket.gethostname()
db=sys.argv[1]
ts=sys.argv[2]
war=sys.argv[3]
war1=int(sys.argv[3])
cri=sys.argv[4]
cri1=int(sys.argv[4])

cnxn = pyodbc.connect('DRIVER={DBMAKER};SERVER=' + arg + ';DATABASE=' + db + ';UID=SYSADM;PWD=')
cursor = cnxn.cursor()
sql=("SELECT TS_NAME, NUM_PAGES, NUM_FREE_PAGES FROM SYSTABLESPACE WHERE TS_NAME = '" + ts + "';")
cursor.execute(sql)
while 1:
        row = cursor.fetchone()
        if not row:
                break
        else:
                nfp=row.NUM_FREE_PAGES
                np=row.NUM_PAGES
                percent_livre=(nfp*100)/(np)
        if percent_livre < cri1:
                print "CRITICAL: O Percentual livre na" , row.TS_NAME.rstrip() , "eh" , percent_livre , "%"
                sys.exit(2)
        elif percent_livre < war1:
                print "WARNING: O Percentual livre na" , row.TS_NAME.rstrip() , "eh" , percent_livre , "%"
                sys.exit(1)
        else:
                print "OK: O Percentual livre na" , row.TS_NAME.rstrip() , "eh" , percent_livre , "%"
                sys.exit(0)

cursor.close

No arquivo /etc/nagios/nrpe.cfg:
[...]
command[check-db5-fisco]=/usr/local/nagios/libexec/check-tamanho.py cotripaldb5 TS_FISCO 20 10
[..]

No servidor Nagios

No commands.cfg:
[...]
# 'check_tablespaces' command definition
define command{
        command_name    check-db5-fisco
        command_line       $USER1$/check_nrpe -H $HOSTADDRESS$ -c check-db5-fisco -t 60
        }
[...]

No services.cfg:
[...]
## DBMaker - Espaço Livre Na Tablespace TS_FISCO ##
define service{
       host_name                        adminpbip
       service_description            DB5 TS_FISCO
       check_command               check-db5-fisco
       max_check_attempts        3
       normal_check_interval       60
       retry_check_interval          30
       check_period                    24x7
       contact_groups                 tecnicos
       notification_interval           0
       notification_period             24x7
       notification_options           w,c,u,f,r
       }
[...]

Que eu me lembre é só isso.
( Se alguém viu algo e acha que deveria ser diferente por "melhores práticas", por favor me avise :p )

Danilo Arouca

unread,
Oct 26, 2017, 10:11:55 AM10/26/17
to nagio...@googlegroups.com
Bom dia Caroline.

Muitíssimo obrigado por seu exemplo. Ele me ajudará muito!
Assim que colocar em produção, comunico.

Novamente, obrigado.

Atenciosamente,


Atenciosamente,

<image001.png>
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nagios-lab+...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para nagio...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/nagios-lab.
Para mais opções, acesse https://groups.google.com/d/optout.

Sidney Souza

unread,
Oct 27, 2017, 9:29:55 AM10/27/17
to nagio...@googlegroups.com
Execução de comandos via telnet é algo de fato muito simples e tem varias linguagens que possuem modulos para isso, mas você pode usar o próprio bash (dada a simplicidade do monitoramento).

Como a Caroline disse, em checagens ativas, você precisa apenas printar na tela o resultado, mas se tiver alguma limitação de rede é possível fazer essa checagem de forma passiva, o que é um pouco mais complexo, porém não é nenhum monstro.

------------------------------------------------------

Caroline Lage

unread,
Oct 27, 2017, 9:58:34 AM10/27/17
to nagio...@googlegroups.com
Além do resultado você deve indicar uma saída ( no bash é o "exit") para que o Nagios consiga identificar o status do resultado... Não se esqueça disso heheh

Danilo Arouca

unread,
Oct 27, 2017, 10:13:41 AM10/27/17
to nagio...@googlegroups.com
Olá.

Pode deixar, estou em uma pequena férias. 
Assim que voltar ao trabalho, estudarei a solução.

Obrigado.

Atenciosamente,

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nagios-lab+...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para nagio...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/nagios-lab.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages