# Monitoraggio cron

Source: https://instatus.com/help/it/monitoring/cron

I monitor cron assegnano a ogni job pianificato (un backup, un'elaborazione batch o uno script ricorrente) un URL univoco a cui inviare un ping e ti avvisano quando un ping è in ritardo o manca. Il job viene contrassegnato come degradato quando supera il periodo e come giù quando supera anche la tolleranza.

Come per gli [altri monitor](https://instatus.com/help/it/monitoring), quando un job cron fallisce puoi collaborare con il tuo team per [risolvere l'incidente](https://instatus.com/help/it/incident-response) e, se vuoi, aggiornare la tua [status page](https://instatus.com/help/it/status-page).

| At a glance | Details |
| :-- | :-- |
| [Come funziona](https://instatus.com/help/it/monitoring/cron#tipo-di-monitor) | Il job invia un ping a un URL univoco a ogni esecuzione |
| [Periodo](https://instatus.com/help/it/monitoring/cron#il-monitor-ha-successo-se) | Ogni quanto il job deve essere eseguito |
| [Tolleranza](https://instatus.com/help/it/monitoring/cron#il-monitor-ha-successo-se) | Tempo extra prima che un job in ritardo sia segnato giù |
| [Ping in ritardo](https://instatus.com/help/it/monitoring/cron#il-monitor-ha-successo-se) | Degradato dopo il periodo, giù dopo la tolleranza |
| [Segnale di errore](https://instatus.com/help/it/monitoring/cron#segnalare-un-errore) | Richiedi l'URL con /fail in fondo |
| [Tempo di esecuzione](https://instatus.com/help/it/monitoring/cron#misurare-il-tempo-di-esecuzione-del-job) | Ping a /start all'avvio del job, all'URL alla fine |

Ecco un esempio di come si presenta l'elenco dei monitor cron:

![Elenco dei monitor cron](https://instatus.com/help/monitors/cron-list.png)

## Cosa fa un monitor cron?

- Verifica che i tuoi job cron vengano eseguiti in orario (tramite i ping inviati dai job).
- Ricevi un avviso se un job è in ritardo o non arriva a termine.
- Ricevi gli avvisi tramite Slack, email, SMS, chiamate e altro ancora.

Quando clicchi su un monitor cron, puoi vederne i dettagli:

![Dettagli del monitor cron](https://instatus.com/help/monitors/cron-item.png)

## Come aggiungo un monitor cron?

Vai al tuo progetto → Monitor → Aggiungi monitor, scegli **Cron/Heartbeat**, poi fai puntare il tuo job all'URL generato e impostane periodo e tolleranza.

![Aggiungi monitor](https://instatus.com/help/monitors/cron-add.png)

### Tipo di monitor

Scegli **Cron/Heartbeat** come tipo di monitor.

![Tipo di monitor cron](https://instatus.com/help/monitors/type-cron.png)

Verrà generato per te un URL univoco. Il tuo job cron deve inviare una richiesta HTTP (`HEAD`, `GET` o `POST`) a questo URL a ogni esecuzione.

### Il monitor ha successo se

Un monitor cron ha successo quando il tuo job invia un ping all'URL generato secondo la pianificazione. Puoi configurare:

- **Periodo:** ogni quanto il job deve essere eseguito (ad esempio ogni 15 minuti).
- **Tolleranza:** tempo aggiuntivo concesso prima che il job venga considerato giù.

Se il periodo scade e il job non invia il ping, il monitor viene contrassegnato come degradato.

Se scade anche la tolleranza e il job non invia il ping, il monitor viene contrassegnato come giù.

Puoi configurare gli [avvisi](https://instatus.com/help/it/monitoring/alerts) per essere notificato quando un job fallisce, si degrada o si ripristina.

## Segnalare un errore

Invia una richiesta all'URL del monitor con `/fail` in fondo per contrassegnare il job come fallito, anche se è stato eseguito e ha inviato il ping al monitor.

È utile se il tuo script incontra un errore e vuoi che Instatus registri subito il job come fallito.

- **Ping di successo**: `https://cron.instatus.com/your-unique-url`
- **Ping di errore**: `https://cron.instatus.com/your-unique-url/fail`

Quando arriva un segnale di errore, il monitor viene contrassegnato come giù e gli avvisi vengono inviati immediatamente in base alle tue [impostazioni degli avvisi](https://instatus.com/help/it/monitoring/alerts).

## Misurare il tempo di esecuzione del job

Invia due richieste, `/start` quando il job inizia e il ping di successo o di errore quando termina: Instatus registra il tempo trascorso tra le due come tempo di esecuzione del job:

1. **Segnale di avvio**: invia una richiesta a `/start` quando il job inizia
2. **Segnale di successo/errore**: invia una richiesta all'URL di base quando il job termina o fallisce

- **Ping di avvio**: `https://cron.instatus.com/your-unique-url/start`
- **Ping di successo**: `https://cron.instatus.com/your-unique-url`
- **Ping di errore**: `https://cron.instatus.com/your-unique-url/fail`

Il tempo trascorso tra il segnale di avvio e quello di successo viene registrato come tempo di esecuzione del job. Ti aiuta a monitorare le prestazioni e a individuare i job che impiegano più tempo del previsto.

Se il job fallisce dopo aver inviato il segnale di avvio, invia un segnale di errore invece di quello di successo: verrà contrassegnato come fallito registrando comunque il tempo di esecuzione.

Complimenti, hai aggiunto il tuo primo monitor cron!

- [Monitor Ping](https://instatus.com/help/it/monitoring/ping): Scopri come monitorare i tuoi endpoint ping per uptime e prestazioni
