# Surveillance cron

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

Les moniteurs cron attribuent à chaque tâche planifiée (sauvegarde, traitement par lots ou script récurrent) une URL unique à pinger, et vous alertent lorsqu’un ping est en retard ou absent. La tâche est marquée comme dégradée lorsqu’elle dépasse sa période, et comme indisponible lorsqu’elle dépasse aussi le délai de grâce.

Comme pour les [autres moniteurs](https://instatus.com/help/fr/monitoring), lorsqu’une tâche cron échoue, vous pouvez collaborer avec votre équipe pour [résoudre l’incident](https://instatus.com/help/fr/incident-response) et, si vous le souhaitez, mettre à jour votre [page de statut](https://instatus.com/help/fr/status-page).

| At a glance | Details |
| :-- | :-- |
| [Fonctionnement](https://instatus.com/help/fr/monitoring/cron#type-de-moniteur) | Votre tâche pingue une URL unique à chaque exécution |
| [Période](https://instatus.com/help/fr/monitoring/cron#le-moniteur-réussit-si) | La fréquence d’exécution attendue de la tâche |
| [Délai de grâce](https://instatus.com/help/fr/monitoring/cron#le-moniteur-réussit-si) | Marge avant qu’une tâche en retard soit indisponible |
| [Ping en retard](https://instatus.com/help/fr/monitoring/cron#le-moniteur-réussit-si) | Dégradée après la période, indisponible après le délai |
| [Signal d’échec](https://instatus.com/help/fr/monitoring/cron#signaler-un-échec) | Appelez l’URL suivie de /fail |
| [Durée d’exécution](https://instatus.com/help/fr/monitoring/cron#mesurer-la-durée-dexécution-dune-tâche) | Pinguez /start au début de la tâche, l’URL à la fin |

Voici un exemple de liste de moniteurs cron :

![Liste des moniteurs cron](https://instatus.com/help/monitors/cron-list.png)

## Que fait un moniteur cron ?

- Vérifiez que vos tâches cron s’exécutent à l’heure (grâce aux pings envoyés par vos tâches).
- Soyez alerté si une tâche est en retard ou ne se termine pas.
- Recevez des alertes via Slack, e-mail, SMS, appel téléphonique et plus encore.

Lorsque vous cliquez sur un moniteur cron, vous accédez à plus de détails :

![Détails du moniteur cron](https://instatus.com/help/monitors/cron-item.png)

## Comment ajouter un moniteur cron ?

Allez dans votre projet → Moniteurs → Ajouter un moniteur, choisissez **Cron/Heartbeat**, puis faites pointer votre tâche vers l’URL générée et définissez sa période et son délai de grâce.

![Ajouter un moniteur](https://instatus.com/help/monitors/cron-add.png)

### Type de moniteur

Sélectionnez **Cron/Heartbeat** comme type de moniteur.

![Type de moniteur cron](https://instatus.com/help/monitors/type-cron.png)

Une URL unique est générée pour vous. Votre tâche cron doit envoyer une requête HTTP (`HEAD`, `GET` ou `POST`) à cette URL à chaque exécution.

### Le moniteur réussit si

Un moniteur cron réussit lorsque votre tâche envoie un ping à l’URL générée selon le planning prévu. Vous pouvez configurer :

- **Période :** la fréquence d’exécution attendue de la tâche (par exemple, toutes les 15 minutes).
- **Délai de grâce :** le temps supplémentaire accordé avant que la tâche soit considérée comme indisponible.

Si la période est atteinte sans ping de la tâche, le moniteur est marqué comme dégradé.

Si le délai de grâce est atteint sans ping de la tâche, le moniteur est marqué comme indisponible.

Vous pouvez configurer des [alertes](https://instatus.com/help/fr/monitoring/alerts) pour être notifié lorsqu’une tâche échoue, se dégrade ou se rétablit.

## Signaler un échec

Envoyez une requête à l’URL du moniteur suivie de `/fail` pour marquer la tâche comme échouée, même si elle s’est exécutée et a pingé le moniteur.

C’est utile si votre script rencontre une erreur et que vous voulez qu’Instatus enregistre immédiatement l’échec de la tâche.

- **Ping de succès** : `https://cron.instatus.com/your-unique-url`
- **Ping d’échec** : `https://cron.instatus.com/your-unique-url/fail`

À la réception d’un signal d’échec, le moniteur est marqué comme indisponible et les alertes sont envoyées immédiatement selon vos [paramètres d’alerte](https://instatus.com/help/fr/monitoring/alerts).

## Mesurer la durée d’exécution d’une tâche

Envoyez deux requêtes, `/start` au démarrage de votre tâche et le ping de succès ou d’échec à la fin, et Instatus enregistre le temps écoulé entre les deux comme durée d’exécution de la tâche :

1. **Signal de début** : envoyez une requête à `/start` au démarrage de votre tâche
2. **Signal de succès/échec** : envoyez une requête à l’URL de base lorsque votre tâche se termine ou échoue

- **Ping de début** : `https://cron.instatus.com/your-unique-url/start`
- **Ping de succès** : `https://cron.instatus.com/your-unique-url`
- **Ping d’échec** : `https://cron.instatus.com/your-unique-url/fail`

Le temps écoulé entre le signal de début et le signal de succès est enregistré comme durée d’exécution de la tâche. Cela vous aide à suivre les performances et à repérer les tâches plus longues que prévu.

Si votre tâche échoue après l’envoi du signal de début, envoyez un signal d’échec au lieu du signal de succès : elle est marquée comme échouée tout en conservant la durée d’exécution.

Bravo, vous avez ajouté votre premier moniteur cron !

- [Moniteurs ping](https://instatus.com/help/fr/monitoring/ping): Découvrez comment surveiller la disponibilité et les performances de vos hôtes avec le ping
