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()