Les tâches Cron échouent silencieusement. Un script de sauvegarde cesse de s'exécuter après un déplacement de serveur, une rotation de mot de passe interrompt l'importation nocturne ou un disque plein fait planter la facture à 3 heures du matin. Rien n'est en panne, donc un moniteur de disponibilité normal reste vert, et vous ne saurez que des semaines plus tard lorsque vous avez besoin de la sauvegarde ou qu'un client demande où se trouve sa facture. La surveillance du rythme cardiaque comble cette lacune. Ce guide montre son fonctionnement et comment le configurer gratuitement en quelques minutes.
Qu’est-ce que la surveillance du rythme cardiaque ?
Un moniteur de disponibilité régulier vérifie votre site Web de l’extérieur. Un moniteur de rythme cardiaque fonctionne dans l'autre sens : votre tâche planifiée s'enregistre. Vous obtenez une URL unique et votre tâche l'appelle à chaque fois qu'elle se termine. Si l'appel n'arrive pas à temps, le moniteur sait que quelque chose s'est mal passé et vous alerte.
Cela détecte simultanément tous les types d’échecs silencieux :
- Le travail n'a jamais commencé. L'entrée
crontaba été perdue, le serveur a redémarré sans le planificateur ou le conteneur a été remplacé. - Le travail s'est écrasé. Une erreur a arrêté le script avant qu'il n'atteigne la fin.
- Le travail se bloque. Il a démarré mais reste bloqué sur une base de données verrouillée ou une API lente et ne se termine jamais.
- Le serveur entier a disparu. Pas de serveur, pas de ping, donc vous en entendez parler même si rien d'autre ne vous regarde.
Quelles tâches planifiées devez-vous surveiller ?
Commencez par les travaux qui vous coûtent le plus cher lorsqu’ils s’arrêtent sans que personne ne s’en aperçoive :
- Sauvegardes de bases de données et de fichiers. Une sauvegarde que vous ne vérifiez jamais est une sauvegarde que vous n'avez peut-être pas.
- Scripts de facturation et de facturation, renouvellements d'abonnement et rapprochement des paiements.
- Importations et synchronisations de données entre votre boutique, votre CRM, votre entrepôt ou un flux fournisseur.
- Files d'attente d'e-mails et newsletters envoyées par un travailleur planifié.
- Travaux de renouvellement de certificat tels que les renouvellements SSL automatiques et travaux de nettoyage qui empêchent le disque de se remplir.
- Le WordPress ou l'application cron qui publie les publications programmées et exécute les tâches de maintenance.
Le plan gratuit comprend 5 moniteurs de rythme cardiaque, ce qui est suffisant pour couvrir les tâches critiques d'une petite entreprise typique ou d'une poignée de sites clients.
Comment configurer une surveillance gratuite des tâches cron
1. Créez un compte gratuit
Inscrivez-vous à My Site Alerts avec votre adresse e-mail. Il n'y a pas de carte de crédit ni de période d'essai.
2. Créez un battement de cœur
Ouvrez Heartbeats dans votre tableau de bord et choisissez Créer un battement de cœur. Donnez-lui un nom clair, tel que Sauvegarde nocturne de la base de données, afin qu'une alerte vous indique exactement ce qui a échoué.
3. Définissez le calendrier prévu et un délai de grâce
Dans Attendez-vous à un battement de cœur toutes les, entrez la fréquence d’exécution de la tâche : toutes les 15 minutes, toutes les heures, une fois par jour. Définissez ensuite la période de grâce sur la durée approximative de l'exécution du travail, plus une marge de sécurité. Une sauvegarde qui s'exécute à 14 heures et prend généralement 20 minutes nécessite une période de grâce d'environ 30 à 40 minutes, afin qu'une nuit lente ne déclenche pas de fausse alarme.
4. Copiez l'URL de votre battement de cœur
Chaque battement de cœur possède sa propre URL secrète. Votre travail lui envoie une requête GET ou POST à chaque exécution. Vous pouvez également ouvrir une fois l'URL dans votre navigateur pour la tester : le battement de coeur devrait augmenter.
5. Choisissez où vont les alertes
Le courrier électronique fonctionne immédiatement. Vous pouvez également envoyer des alertes à Slack, Discord, Telegram, Microsoft Teams ou à votre propre webhook, afin qu'une course manquée atteigne l'endroit où vous regardez réellement.
Comment envoyer un ping au rythme cardiaque de votre travail
crontab Linux
Ajoutez la requête après votre commande, jointe à &&, afin que le ping ne soit envoyé que lorsque la tâche réussit :
0 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://mysitealerts.com/webhook-heartbeat/YOUR-CODE L'option -m 10 empêche curl de se bloquer si le réseau est lent, et --retry 3 couvre un bref problème de connexion. Si votre serveur a wget au lieu de curl, wget -q -O /dev/null suivi de l'URL fait le même travail.
À l'intérieur d'un script
Mettez le ping sur la dernière ligne du script, une fois le vrai travail effectué. Dans un script shell, ajoutez set -e en haut pour que toute commande défaillante arrête le script avant qu'il n'atteigne le ping. En Python, PHP ou Node.js, effectuez une simple requête HTTP à l'URL du battement de cœur comme étape finale du travail.
Panneaux de contrôle d'hébergement
Sur l'hébergement partagé, ajoutez la même commande curl à la fin de la tâche cron dans votre panneau de contrôle. La plupart des panneaux vous permettent de coller une ligne de commande complète, donc le même modèle && fonctionne également là-bas.
cron WordPress
WordPress exécute uniquement les tâches planifiées lorsque quelqu'un visite le site. Pour une planification fiable, désactivez le déclencheur intégré, appelez wp-cron.php à partir d'une tâche cron de serveur réel et ajoutez le ping de battement de cœur à cette même ligne. Vous savez maintenant à la fois que la planification se déclenche et qu'elle se termine.
Erreurs courantes qui provoquent de fausses alarmes (ou des alarmes manquées)
- Ping au début du travail. Cela prouve seulement que le travail a commencé. Ping à la fin, une fois le travail réussi.
- Un délai de grâce trop court. Les tâches ralentissent à mesure que les données augmentent. Révisez le délai de grâce tous les quelques mois.
- Ignorer les fuseaux horaires. Si l'horloge du serveur et votre emploi du temps ne sont pas d'accord, un travail quotidien peut paraître en retard d'une heure. Définissez l'intervalle prévu, pas une heure d'horloge murale, et laissez la première exécution démarrer la minuterie.
- Ping trop souvent. Les battements de cœur sont conçus pour les tâches qui s'exécutent au maximum une fois par minute ; les pings supplémentaires dans la même minute sont ignorés.
- Partager un battement de cœur entre les tâches. Chaque tâche a besoin de sa propre URL, sinon une tâche saine en cache une autre qui s'est arrêtée.
- Oublier de faire une pause pendant la maintenance. Mettez le battement de cœur en pause pendant que vous migrez un serveur afin que l'historique n'affiche que les incidents réels.
Les battements de cœur fonctionnent mieux à côté des contrôles de disponibilité
Les battements de cœur vous indiquent le travail en cours derrière votre site ; les contrôles de disponibilité vous indiquent que les visiteurs peuvent y accéder. Ensemble, ils couvrent les deux moitiés. Si vous n'avez pas encore configuré les vérifications de sites Web, suivez notre guide sur la façon de surveiller gratuitement la disponibilité d'un site Web et ajoutez la surveillance SSL et l'expiration des domaines pendant que vous y êtes. Vous pouvez vérifier n'importe quel certificat dès maintenant avec le vérificateur SSL.
Il faut environ cinq minutes pour protéger votre travail le plus important. Créez votre compte gratuit, ajoutez un battement de cœur pour votre sauvegarde et laissez-nous surveiller pour que vous n'ayez pas à le faire.
Questions fréquemment posées
Quelle est la différence entre la surveillance cron et la surveillance de la disponibilité ?
La surveillance de la disponibilité vérifie une URL de l'extérieur pour voir si votre site répond. La surveillance Cron ou rythme cardiaque attend que votre tâche planifiée s'enregistre et vous avertit lorsqu'elle n'arrive pas à temps.
La surveillance du rythme cardiaque est-elle vraiment gratuite ?
Oui. Le plan gratuit comprend 5 moniteurs de rythme cardiaque avec alertes de courrier électronique, Slack, Discord, Telegram, Microsoft Teams et webhook. Il n’y a pas de carte de crédit ni d’essai interminable.
Dois-je installer un agent sur mon serveur ?
Non. Votre travail n'a besoin d'effectuer qu'une seule requête HTTP vers son URL de pulsation, par exemple avec curl ou wget, qui sont disponibles sur presque tous les serveurs.
Quelle doit être la durée du délai de grâce ?
Réglez-le sur la durée d'exécution normale du travail plus une marge de sécurité. Un travail qui prend habituellement 10 minutes est bien servi par un délai de grâce de 15 à 20 minutes.
Puis-je surveiller les tâches exécutées une fois par jour ou une fois par semaine ?
Oui. Définissez l'intervalle prévu selon le calendrier du travail, par exemple 1 jour ou 7 jours, et vous serez alerté lorsqu'une exécution est manquée.