Teste de Ping em servidor

84 views
Skip to first unread message

Felipe Lopes

unread,
Apr 11, 2022, 12:53:47 PM4/11/22
to Python Brasil
Boa tarde pessoal, sou nível intermediário em python, porem apenas em bibliotecas de dev web..
Gostaria de montar um sistema para monitor servidores da minha empresa, basicamente com vários testes de ping e me retornar UP ou down a todo momento, qual seria a biblioteca que faz este serviço ?

Marcelo Valle

unread,
Apr 11, 2022, 1:24:12 PM4/11/22
to Python Brasil
O que você chama de "teste de ping"? 
Você quer criar um programa que faz chamadas ICMP para uma lista de hosts? 
Ou você quer fazer um serviço "heart beat", que gera um alarme quando outro serviço para de funcionar?

On Mon, 11 Apr 2022 at 17:53, Felipe Lopes <fefef...@gmail.com> wrote:
Boa tarde pessoal, sou nível intermediário em python, porem apenas em bibliotecas de dev web..
Gostaria de montar um sistema para monitor servidores da minha empresa, basicamente com vários testes de ping e me retornar UP ou down a todo momento, qual seria a biblioteca que faz este serviço ?

--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/3258c330-0996-41a2-89f5-968ac03ad479n%40googlegroups.com.

Felipe Lopes

unread,
Apr 11, 2022, 2:29:33 PM4/11/22
to Python Brasil
Boa tarde.
Seria basicamente um  heart beat, para assim que ficar down ou haver uma instabilidade ele me retornar o horário que ocorreu e o alerta..

Marcelo Valle

unread,
Apr 11, 2022, 4:17:07 PM4/11/22
to Python Brasil
Olha, eu posso até te explicar como desenvolver um daemon em Python, mas sinceramente, você provavelmente não vai querer uma solução caseira se for para um sistema real em produção (ou seja, se não for para puro aprendizado). 
Você vai querer que esse serviço heart beat fique rodando 24h por dia ou que rode a cada 5 min todo dia, certo? Onde você vai rodar isso? Vai deixar seu computador ligado? Você precisa pensar no que acontece se o seu serviço de heart beat parar de funcionar. 
Se você rodar seu serviço na nuvem, da AWS, por exemplo, você pode ter um lambda Python invocado a cada 5 min, e se o serviço estiver fora do ar, você gera um alarme. Dependendo do que for o serviço que você pretende testar, você pode configurar seu serviço para escrever em log a cada 15 min e configurar um alarme caso o log não seja escrito. Em outro serviço de nuvem, como google cloud, você terá serviços similares. 
Depende muito da sua necessidade em específico. 



Felipe Lopes

unread,
Apr 11, 2022, 4:49:02 PM4/11/22
to Python Brasil

Bom , no caso eu vou querer rodar apenas no meu expediente 8hr por dia e com meu pc ligado, porque quero monitorar uns 15 ip, servidor incluso já.

Marcelo Valle

unread,
Apr 12, 2022, 6:52:03 PM4/12/22
to Python Brasil
Nesse caso, você pode simplesmente criar um daemon python, que roda no seu computador até você pressionar ctrl + C

Se esse seu "ping" for acessar uma URL HTTP do seu serviço, você pode utilizar a lib requests para fazer essa chamada: https://docs.python-requests.org/en/latest/

Se você realmente quiser fazer um PING, o comando ping faz um request ICMP, que é outro protocolo. Você pode usar essa outra lib para fazer esse request: https://pypi.org/project/icmplib/

Seu programa serah bem simples, algo como abaixo:


import time

INTERVAL_SECONDS = 30
while True:
# Usa lib requests ou icmplib para verificar se o servidor estah rodando

# Caso o request retorne erro, gere um alarme - imprima para a saida padrao, envie email, etc.

time.sleep(INTERVAL_SECONDS)










Reply all
Reply to author
Forward
0 new messages