Ir para conteúdo
Fórum Script Brasil
  • 0

Não consigo fazer verificação remota em python


ericalago

Pergunta

Não consigo fazer verificação remota

Hoje, 13:47 PM

Boa tarde, pessoal!

Precisando de uma ajudinha. É o seguinte:

1º) Implementar uma solução onde seja possível verificar remotamente o status de uma aplicação. Caso a aplicação não esteja operacional, algum tipo de aviso deverá ser enviado para o computador que a está monitorando.

2º) Tentar reiniciar o programa monitorado, caso o mesmo não esteja respondendo. Se tentar reiniciar o programa três vezes sem sucesso, imprimir uma mensagem na tela.

Parte do enunciado o código já está executando, mas ainda não consigo fazer a " verificação remota". Por favor, poderiam me ajudar. Obrigada desde agora.

Segue o código:

import socket, commands, time, os
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
def trabalhando(ip, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((ip, port))
if result == 0:
return True
return False
def reiniciando(contador=0):
contador = contador
print "Tentativa %s. Levantando servico." % (contador + 1)
time.sleep(1)
commands.getoutput("service apache2 start")
if not trabalhando("127.0.0.1", 80):
if contador < 2:
return reiniciando(contador+1)
else:
print "não foi possivel levantar o servidor! "+bcolors.FAIL+"[FAIL]"+bcolors.ENDC
return False
else:
print "O servico foi levantado com sucesso! "+bcolors.OKGREEN+"[OK]"+bcolors.ENDC
time.sleep(2)
return True
while True:
time.sleep(1)
os.system("clear")
if trabalhando("127.0.0.1", 80):
print bcolors.OKGREEN+"O servico ta rodando"+bcolors.ENDC
else:
print bcolors.FAIL+"O servico não esta rodando."+bcolors.ENDC
time.sleep(1)
reiniciando()

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ola erica Não é viável fazer as aplicações se comunicarem como o clássico PING PONG? Caso o PING não for respondido pode ser intendido como a aplicação foi encerrada. Agora reiniciar a aplicação, não tenho o que supor a respeito disso

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que entendi, a parte da "verificação remota" já está pronta e é a função trabalhando(ip, port). A única coisa que não é "remota" é que você está utilizando-a com o IP de loopback 127.0.0.1, que só é local. Por exemplo, em uma aplicação real você usaria o IP do servidor (por exemplo, 10.0.0.1 ou 192.168.1.1, no caso da mesma rede, ou o IP da conexão com a internet) ou usaria uma resolução de nome, como "suaempresa.com.br" ou "meuservidor.no-ip.org". Outro detalhe é também que essa "verificação remota", se for o que estou pensando, deveria ser um script a parte que se comunicaria com o script que você apresentou. Isso porque, no caso de precisar reinicializar o serviço, seria esse mesmo o script (ou seja, um que estivesse rodando na máquina de destino).

Espero ter ajudado!

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...