Blog & Astuces

Monitorer les jobs cron de son serveur avec healthchecks.io

Tuto

Dans cet article, je vais expliquer comment monitorer les jobs cron de votre serveur Linux grâce au service gratuit healthchecks.io.

 Introduction

Les jobs cron sont utilisés pour lancer des scripts à intervalles réguliers, et de manière planifiée.

Une problématique rencontrée est qu'il est possible que vos jobs échouent de manière aléatoire sans que vous soyez au courant. C'est à cette problématique que répond le service healthchecks.io, qui va vous permettre de monitorer vos jobs cron. Pour cela, le service fournit pour chacun des jobs que vous configurez une URL à appeler à la fin de vos scripts pour indiquer au service que votre job s'est exécuté correctement.

Mais avant cela, il faut créer un compte gratuitement puis configurer votre ou vos jobs cron sur l'outil. La version gratuite du service permet de monitorer 20 jobs cron.

Création du compte healthchecks.io

Pour créer un compte, rendez-vous sur le service à l'adresse https://healthchecks.io/

Cliquez sur "Sign Up", puis renseignez votre adresse e-mail. Vous recevrez ensuite un lien pour valider votre compte, puis vous pourrez utiliser le service.

 Configurer un job cron

Accédez à l'onglet "Check", puis cliquez sur "Add check".

Healthchecks

Donnez un nom à votre check, puis un identifiant unique dans "Slug" en cliquant sur "Suggested".

Vous pouvez entrer une liste de tags, mais cela n'est pas nécessaire.

Ensuite, dans la partie "Schedule", il faut entrer l'intervalle d'exécution du job cron. Vous pouvez soit utiliser la notation classique "cron" en cochant la case prévue à cet effet, soit indiquer la période en minutes/heures/jours.

Le paramètre "Grace Time" indique le temps à attendre avant que le service vous envoie une alerte si jamais un problème est détecté, c'est-à-dire si le ping n'est pas reçu à temps : possibilité que votre job cron ait échoué.

Ensuite, créez le check en cliquant sur "Save".

Vous verrez apparaître votre job de cette manière :

Healthchecks

Appel à l'URL de ping

Une fois le check créé, le service vous fournira une URL de la forme https://hc-ping.com/[ID unique] à appeler dans le script de votre job cron. Appelez le à la toute fin de votre script de cette manière :

curl -fsS -m 10 --retry 5 -o /dev/null https://hc-ping.com/[ID unique]

Remplacez l'URL à la fin de la commande par celle fournie par le service.

Gestion des intégrations

Dans l'onglet "Integrations", vous pouvez paramétrer plusieurs services qui vont être utilisés pour vous alerter sur les jobs cron qui ont un problème. Par défaut, le service ne vous alerte que par e-mail, mais vous pouvez être alerté sur d'autres services comme Slack, Discord par exemple.

Commentaires