Linux + Python: Script para checar o status dos seus sites

Os serviços de hosting que você utiliza estão meio ruim das pernas? Vez ou outra você descobre que seus sites estão fora do ar e ninguém te notificou a respeito?

Infelizmente, coisas assim estão acontecendo por aqui com uma certa frequência. Por isso, resolvi escrever o script abaixo, cuja função é mostrar uma mensagem de notificação sempre que algum dos sites pré-determinados saiam do ar: 1

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import httplib
import pynotify
 
def display_message(title, message):
    if pynotify.init('Website Status'):
        n = pynotify.Notification(title, message)
        n.show()
 
def check_status(*websites, **kwargs):
    timeout = kwargs.get('timeout', 5)
    for website in websites:
        conn = httplib.HTTPConnection(website, timeout=timeout)
        try:
            conn.request('GET', '/')
            response = conn.getresponse()
            if response.status != 200:
                raise Error()
        except:
           display_message(website, 'Web site could not be reached!')
 
if __name__ == '__main__':
    check_status('www.awebsite.com', 'www.anotherwebsite.com')

O script em funcionamento:

Exemplo de notificação

Exemplo de notificação

Para completar, se você deseja que esse script seja executado uma vez a cada 5 minutos, basta inserir a linha abaixo no seu crontab:

*/5 * * * * /path/to/script.py

Pronto! Agora, se o seu serviço de hosting continuar deixando a desejar, talvez a melhor solução seja mesmo mudar para outro lugar…

  1. A biblioteca python-notify precisa estar instalada para que o script funcione.

5 Responses to “Linux + Python: Script para checar o status dos seus sites”

  1. Fausto says:

    E ai Daniel,
    legal esse script.

    Já estou usando aqui na empresa. Botei o bicho pra rodar e já simulei umas quedas no nosso servidor. Legal pra kramba… :)

    Valeu,
    abraços

  2. Olá Fausto,

    Valeu por avisar! É sempre bom saber que estamos fazendo algo de útil a outras pessoas! :D

    Abraços.

  3. [...] esse artigo é para você! Nele, mostrarei como escrever um script em Python, nos moldes do mostrado no post anterior, que consulta o site da Ticketmaster automaticamente e, através de uma técnica conhecida como web [...]

Leave a Reply