DEV Community

Cover image for Monitor de site em Python que roda 24h numa VPS pequena (systemd, sem dependências)
Nuvem Dev
Nuvem Dev

Posted on

Monitor de site em Python que roda 24h numa VPS pequena (systemd, sem dependências)

Esse é um daqueles scripts que cabem em qualquer VPS de entrada (512 MB já sobra). Ele checa uma lista de URLs e imprime OK ou FALHOU com o tempo de resposta. Só biblioteca padrão.

1. O script

import time, urllib.request, sys
SITES = sys.argv[1:] or ["https://example.com"]

def check(url):
    t = time.time()
    try:
        code = urllib.request.urlopen(url, timeout=10).status
    except Exception as e:
        return f"FALHOU {url} ({e})"
    return f"OK {url} {code} {int((time.time()-t)*1000)}ms"

if __name__ == "__main__":
    for s in SITES:
        print(time.strftime("%H:%M:%S"), check(s))
Enter fullscreen mode Exit fullscreen mode

Salve como /opt/monitor/monitor.py. Testei aqui: python3 monitor.py https://example.com devolveu OK https://example.com 200 68ms, e uma URL inexistente devolveu FALHOU com o erro.

2. Rodar a cada 5 minutos com systemd timer

/etc/systemd/system/monitor.service:

[Service]
Type=oneshot
ExecStart=/usr/bin/python3 /opt/monitor/monitor.py https://seusite.com.br
Enter fullscreen mode Exit fullscreen mode

/etc/systemd/system/monitor.timer:

[Timer]
OnBootSec=1min
OnUnitActiveSec=5min

[Install]
WantedBy=timers.target
Enter fullscreen mode Exit fullscreen mode
sudo systemctl daemon-reload
sudo systemctl enable --now monitor.timer
journalctl -u monitor.service -n 20
Enter fullscreen mode Exit fullscreen mode

(Os arquivos systemd eu escrevi seguindo a documentação, não rodei num servidor nesta publicação; teste na sua máquina antes de confiar.)

3. Onde hospedar

Qualquer VPS Linux serve. A RackNerd lista na página oficial (02/11/2026) um plano de entrada com 512 MB, 1 vCore e 30 GB por US$ 26,99 por ano. Pra um monitor desses é suficiente; pra rodar modelo de IA, não.

vídeo resumo

Mais testes em pt-BR na newsletter: https://nuvemdev.substack.com

Divulgação: o link da RackNerd (https://go.nowto.link/racknerd) é de afiliado; posso ganhar comissão sem custo extra pra você.

Top comments (0)