Check heartbeat

Il tuo job chiama un URL segreto di Perstat a ogni esecuzione. Se nessuna chiamata arriva entro il periodo più la tolleranza che hai impostato, o se il job riporta un fallimento, il monitor va in down.

Tutti i tipi di check heartbeat

La vista del monitor di un heartbeat con l’URL segreto di ping su api.perstat.io, più una riga curl e un esempio di cron da incollare. Mostra anche l’URL di fallimento ripiegato e il pulsante Rotate URL, poi uptime, numero di check e la barra di disponibilità.
In questa pagina

Cosa verifica

Un monitor heartbeat verifica che un job sia girato quando doveva. La creazione del monitor genera un URL segreto, e il job lo richiede alla fine di ogni esecuzione. Circa ogni 30 s il control plane confronta l’età dell’ultimo ping con il periodo atteso più la tolleranza. Un ping più vecchio, o un ultimo ping arrivato sull’URL di fallimento, è una violazione. Finché non arriva il primo ping il monitor è in attesa, non down.

Da usare quando

  • Un job pianificato non ha un indirizzo da sondare: un’esecuzione di cron, un backup notturno, un importer o un worker che deve finire in tempo.
  • Il guasto che devi vedere è che qualcosa non è successo. Un job che non è mai partito non lascia nulla di rotto che una sonda possa raggiungere.
  • Il job può giudicare la propria esecuzione. Chiama l’URL di ping dopo il successo e l’URL di fallimento quando i suoi controlli falliscono. Il monitor va allora in down alla valutazione successiva, senza aspettare la scadenza della pianificazione.

Il check registra solo quando arriva la chiamata. Un servizio in ascolto su una porta richiede il check HTTP(S) o TCP. CPU, memoria, disco e processi dell’host stesso richiedono il check dell’host agent.

Il modulo del monitor con tipo Heartbeat: nome, periodo atteso e periodo di tolleranza. Seguono la scelta tra disservizio e degradato in caso di violazione e l’interruttore della notifica push. Non ci sono campi per intervallo, regioni o regola di alert.
Il modulo heartbeat: periodo atteso, tolleranza, cosa significa una violazione e l’interruttore push. Intervallo, regioni e regola di alert mancano perché li fissa il server. Interfaccia reale del prodotto, dati di esempio.

Configurazione

Target. Nessuno. Un heartbeat non ha target, regioni di sonda, famiglie IP né un intervallo di check proprio. Il modulo nasconde quei campi, e il control plane valuta il monitor circa ogni 30 s sotto la pseudo-regione heartbeat. La creazione del monitor genera l’URL segreto https://api.perstat.io/ping/{token}. La vista del monitor lo mostra insieme all’URL di fallimento (con /fail in coda).

CampoObbligatorioValori e defaultSignificato
period_secondsAtteso ogniopzionaleSecondi, da 30 a 2.592.000 (30 giorni), default 3600Ogni quanto il job deve inviare il ping. Il modulo offre valori predefiniti, e l’API normalizza qualsiasi numero di secondi nell’intervallo ammesso.
grace_secondsPeriodo di tolleranzaopzionaleSecondi, da 0 a 86.400 (24 h). Default: un quinto del periodo, mantenuto tra 60 e 3600Per quanto tempo, trascorso il periodo, un ping può ancora arrivare prima che il monitor conti una violazione. Il valore 0 imposta una scadenza rigida. Imposta la tolleranza a una frazione reale del periodo, perché un backup notturno con 60 s di tolleranza fa scattare un avviso a ogni notte lenta.
breach_severityIn caso di violazione / disservizioopzionalecritical (default) oppure degradedcritical mette il monitor in down e apre un incident, con un push secondo notify_push. degraded lo mette in degradato con solo un avviso in-app, e qualsiasi altro valore viene memorizzato come critical.
notify_pushNotifica pushopzionaletrue (default) oppure falseInvia una notifica push in caso di disservizio con critical. Una violazione degradata avvisa comunque in-app.

Come si svolge un check

  1. La creazione del monitor genera il token, e la vista del monitor mostra l’URL di ping e l’URL di fallimento. Collega l’URL di ping al job, per esempio come ultimo comando della riga di cron.
  2. Il job richiede l’URL di ping con GET o POST quando un’esecuzione termina. Quando l’esecuzione stabilisce di essere fallita, il job richiede invece l’URL di fallimento.
  3. Circa ogni 30 s il control plane valuta il monitor. Fino al primo ping il monitor resta in attesa e nessun risultato viene scritto.
  4. Un ultimo ping arrivato sull’URL di fallimento è una violazione. Lo è anche un ultimo ping più vecchio di periodo più tolleranza.
  5. Una violazione prende la gravità configurata. critical mette il monitor in down e apre un incident, con un push se abilitato, mentre degraded lo mette in degradato con solo un avviso in-app. Allarme e ripristino sono fissi a 1 check ciascuno, quindi il ping sano successivo risolve l’incident alla valutazione successiva.
  6. Il pulsante Test esegue la stessa valutazione su richiesta e mostra il risultato solo a te. Nulla viene memorizzato e nessun incident si apre.
La vista del monitor di un heartbeat con l’URL segreto di ping su api.perstat.io, più una riga curl e un esempio di cron da incollare. Mostra anche l’URL di fallimento ripiegato e il pulsante Rotate URL, poi uptime, numero di check e la barra di disponibilità.
La vista del monitor: l’URL segreto di ping con una riga curl e un esempio di cron, l’URL di fallimento e la rotazione. Seguono l’uptime e la barra di disponibilità. Interfaccia reale del prodotto, dati di esempio.

Cosa contiene un risultato

Stato e gravità
passed, failed o degraded, con gravità ok, degraded o critical. Un heartbeat che non ha mai fatto ping mostra in attesa.
Riga di dettaglio
Una riga che dice cosa è successo. Riporta un heartbeat aggiornato con l’età dell’ultimo ping, nessun heartbeat da N secondi rispetto al periodo atteso e alla tolleranza, oppure un fallimento riportato dal job.
Ultimo ping
Il pannello heartbeat della vista del monitor mostra l’ora dell’ultimo ping. Sta nella riga di stato sopra l’URL di ping, accanto al badge Active o Waiting. Se quel ping era sano o un fallimento lo dice la riga di dettaglio della valutazione successiva, non il pannello.
Regione
Ogni risultato porta la pseudo-regione heartbeat. Non ci sono latenza, codice di risposta né sotto-risultati.

Stati e gravità

  • okL’ultimo ping è arrivato entro periodo più tolleranza ed era un ping sano.
  • degradatoUna violazione con breach_severity impostato su degraded. Genera un avviso in-app, senza incident e senza push.
  • downUna violazione con la gravità predefinita critical: l’ultimo ping è più vecchio di periodo più tolleranza, oppure il job ha chiamato l’URL di fallimento. Apre un incident, con un push secondo notify_push.
  • in attesaNessun ping è ancora arrivato. Il monitor mostra in attesa finché il job non chiama l’URL per la prima volta.

Il segnale arriva dal tuo host o dal tuo job, senza regioni né quorum, quindi conta anche un solo report mancato. Il control plane valuta circa ogni 30 s, con allarme e ripristino fissi a 1 check ciascuno. Una violazione diventa un incident alla prima valutazione dopo che periodo più tolleranza sono trascorsi.

Piani e limiti

Intervallo di valutazione
Circa 30 s in ogni piano, fissato dal server. Il minimo di intervallo del piano vale solo per i tipi di check regionali.
Regioni
Nessuna. Il job si fa vivo e nulla viene sondato, quindi il numero di regioni del piano non si applica.
Heartbeat
2 in Free, 10 in Pulse, 50 in Sentinel e 200 in Command. Le quote di Enterprise sono su misura. Gli heartbeat hanno una quota propria e non occupano posti tra i monitor di sonda. Un pacchetto di 25 in più costa 9 €.

Confronta tutti i limiti

Dalla pipeline o da un agente

La stessa config funziona nello step di deploy, in un client MCP come Claude Code e nel modulo qui sopra. create_monitor richiede una chiave API valida per tutta l’organizzazione. Se ometti regions, il piano sceglie il suo default.

{
  "name": "Nightly backup",
  "type": "heartbeat",
  "config": {
    "period_seconds": 86400,
    "grace_seconds": 1800,
    "breach_severity": "critical",
    "notify_push": true
  }
}

Ogni interfaccia, con il suo limite

Limiti

  • Viene misurata solo l’ora della chiamata, senza durata, codice di uscita o payload.
  • Fino al primo ping il monitor è in attesa. Un heartbeat che nessun job chiama sembra copertura, ma non lo è.
  • L’URL di ping non è autenticato, quindi chi ha il token può fare ping. Trattalo come una credenziale. Se trapela, ruotalo nella vista del monitor, e il vecchio URL smette subito di funzionare.
  • L’endpoint di ping accetta 240 richieste ogni 60 s per IP di origine. Un token sconosciuto riceve 404.
  • Una richiesta di creazione via API o MCP non restituisce l’URL di ping. Leggilo nella vista del monitor e collegalo al job.
  • La valutazione gira circa ogni 30 s, quindi una violazione viene notata fino a circa 30 s dopo che periodo più tolleranza sono trascorsi.

Tutti i tipi di check