PyForge è in vendita solo qui, sul sito ufficiale py-forge.com — diffida delle imitazioni.

Tutti gli articoli
automationdevopsmicrosaas

Health Check Self-Hosted: Sostituire i Monitor Uptime SaaS con PulsePing CLI

PyForge Team 6 min di lettura2026-10-16

Il monitoraggio delle infrastrutture moderne spesso si riduce a pagare decine di euro al mese per semplici cicli cURL mascherati da interfacce web curate. PulsePing CLI risolve questo problema fornendo un singolo binario Go senza dipendenze, in grado di verificare HTTP(S), TCP, record DNS, endpoint gRPC e la scadenza dei certificati SSL senza sovraccarico esterno.

Controllo Multi-Protocollo e Pagine di Stato Statiche

PulsePing opera tramite un semplice file di configurazione YAML, eseguendo sonde di controllo in parallelo a intervalli definiti dall'utente. Oltre a inviare notifiche su Telegram, Slack, Discord e PagerDuty al cambio di stato, compila i risultati in una pagina HTML statica zero-JS pronta per il deploy su GitHub Pages o Cloudflare Pages.

Orchestrazione di PulsePing tramite Python

Per i team che gestiscono i deploy in modo programmatico o integrano i controlli di uptime in pipeline di automazione più ampie, PulsePing può essere guidato direttamente da Python. Lo snippet seguente mostra come eseguire i controlli, analizzare l'output JSON e gestire eventuali failure di rete.

python
import json
import subprocess
from typing import Dict, Any

def execute_health_check(config_file: str = "pulseping.yaml") -> Dict[str, Any]:
    """Esegue PulsePing CLI e restituisce i risultati in formato JSON."""
    cmd = ["pulseping", "check", "--config", config_file, "--format", "json"]
    try:
        res = subprocess.run(cmd, capture_output=True, text=True, check=True)
        return json.loads(res.stdout)
    except subprocess.CalledProcessError as err:
        print(f"[ERRORE] Esecuzione PulsePing fallita: {err.stderr}")
        raise

if __name__ == "__main__":
    report = execute_health_check()
    failures = [c for c in report.get("checks", []) if not c.get("healthy")]
    
    if failures:
        print(f"[ALLERTA] {len(failures)} target non raggiungibili:")
        for f in failures:
            print(f"  - {f['target']} ({f['protocol']}): {f['error']}")
    else:
        print("[OK] Tutti i target sono operativi e i certificati SSL validi.")

Deploy e Integrazione con Systemd

PulsePing viene distribuito con binari multi-architettura (arm64, amd64), container Docker pronti per la produzione e template per i servizi systemd. Funziona perfettamente su istanze VM o nodi edge senza alcun costo di abbonamento ricorrente.