Lorsqu’on a configuré une sauvegarde automatique chez un client professionnel, et que ce dernier ne souhaite pas un contrat de maintenance qui permettrait de vérifier régulièrement le bon déroulement des backups: Comment être assuré de ceci dans le temps? 

Créer une alerte mail depuis le logiciel de backup qui prévienne lorsque survient une erreur? Ok mais si l’application ne se lance plus… Régler l’appli pour me notifier du succès des backups? Oui mais cela impose de supprimer de mon Outlook ces emails quotidiennement.. J’ai déjà fort à faire avec les Spams et ce n’est pas une solution optimale.

Et bien j’ai trouvé la solution! Et je l’ai éprouvé sur plusieurs mois chez certains de mes clients pro.

Présentation

Condition requise: Le système de backup doit pouvoir envoyer des e-mail, mais c’est le cas de la majorité des logiciels du genre: Macrium Reflet, Acronis, Veeam…

Les principes de HealthChecks.io:

  • Un service en ligne autonome, indépendant du système informatique protégé.
  • Le logiciel de sauvegarde (ex. Macrium) est paramétré pour envoyer un email non seulement lors d’une erreur de backup, mais aussi s’il y a succès, à HealthChecks.io.
  • Si erreur, un email m’est automatiquement envoyé.
  • Si succès de la sauvegarde, aucun email de m’est expédié.
  • Si (et c’est là que c’est intéressant) aucun mail de succès ou erreur de backup n’est reçu par HealthChecks durant un période que l’on détermine (période de grâce) un email d’alerte me parvient disant que le système monitoré semble hors ligne !
  • HealthChecks détecte le succès ou l’échec du backup du fait qu’il y a dans l’objet ou le corps du mail un ou des mots précis (Ex. Failure, Success).
 
Ci-dessous, l’arbre de décision qui dévoile le fonctionnement du service, avec l’exemple de Macrium reflect installé sur le PC à sauvegarder.

Mise en place

HealthChecks.io

Le service est gratuit jusqu’à 20 « Checks » (on peut monitorer 20 terminaux) ce qui est généreux! Après création d’un compte sur HealthChecks.io je me rends dans le Menu CHECKS et je clic sur Add Check.

Je donne un nom intelligible au Check, et comme j’ai différents systèmes de notification (Script Synology, Macrium) je rajoute un tag au cas où je dois filtrer mes Checks et retrouver rapidement celui qui m’intéresse.

Mais là n’est pas le plus important; Je me suis rendu compte qu’il fallait que j’affine la période de grâce: En effet en mode simple et en considérant qu’on a paramétré un backup journalier, on doit donc mettre une période de grâce de 1 jour.. Seulement comment gérer les Week End ? Cela veut dire que Samedi Et Dimanche HealthChecks.io va m’envoyer un email comme quoi le Check est hors ligne !

J’ai donc cherché et j’ai créé le cron job 0 5 * * 1-5 qui veut dire « à 5h du matin tous les jours du Lundi au Vendredi ». Explications:

  • 0 : à la minute 0
  • 5 : à 5H du matin (préférence personnelle, on peut mettre minuit+1mn)
  • * : Jours du mois ici indéfini donc synonyme de tous les jours du mois (sauf exclusions cf. plus loin)
  • * : Mois, ici indéfini donc pareil que tous les mois de l’année
  • 1-5 : Les n° correspondants au jour de la semaine, ici 1 est le 1er jour de la semaine donc Lundi, et 5 le Vendredi. Le tiret signifie qu’on inclue la plage de valeurs entre 1 est 5, du coup Mardi, Mercredi et Jeudi sont aussi inclus
 
Grâce Time : HealthChecks.io attend une journée avant d’alerter par e-mail l’admin système qu’il n’a pas reçu de notification du logiciel de backup (c’est une option globale).

Conséquemment avec ces réglages, HealthChecks va quotidiennement -sauf Samedi et Dimanche- vérifier s’il a bien reçu un e-mail de Macrium (on verra plus loin comment ça se passe). S’il a reçu cet e-mail moins d’un jour (période de grâce) avant l’heure de vérification qui est ici 5H du matin, il ne fait rien.

Mais si un jour s’est passé après 5H du matin sans qu’il ne reçoive de notification de la part de Macrium, je suis prévenu par courriel que cette dernière ne fonctionne plus (PC arrêté, hors ligne, Macrium bug et ne démarre plus, que sais je ?).

PS: Je me suis rendu compte au fil des jours que la période de grâce expirait pour certains Checks. J’en ai cherché la cause et je me suis rendu compte que – les backups prenant un certain temps – Je devait affiner les réglages de la période de grâce en y rajoutant disons une heure (peut être même plus lorsque se lance un backup intégral au lieu d’un incrémental).

Pour cela il faut ouvrir chaque « Check » puis clic sur le bouton Change Schedule > Bouton Cron et renseigner en Grace Time le chiffre 1500. Donné en minutes, il correspond à 25 heures.

Choisir le type de notification

Un énorme choix: Par Email, SMS, plateforme social comme Microsoft Team.. J’opte pour la très classique notification par mail, depuis le menu d’entête de HealthChecks > Integration.

Détecter le succès ou l'erreur de backup par HealthChecks

Vous aurez noté que le chapitre précédent décrivait la façon de récupérer les notifications mails de Macrium mais sans distinction entre les notifications faisant état d’une erreur de sauvegarde et celles déclarant son succès. C’est très simple: Il faut modifier le « Check » (3 petits points horizontaux) puis cliquer sur le bouton « Filtering Rules » et renseigner les champs ainsi.

Explications: Si HealthChecks reçoit un email de Macrium avec le mot failure dans l’objet de celui-ci, le service en ligne va immédiatement alerter par mail le responsable. Si le mot success se substitue au terme failure, HealthChecks ne fera rien. 

Attention: Le système est sensible à la casse. Il faudra bien entendu configurer Macrium et c’est que qu’on voit tout de suite.

Logiciel de sauvegarde (ici Macrium)

NB : L’exemple ici dépend de Macrium Reflect Workstation mais on peut l’adapter à un autre logiciel de sauvegarde sérieux disposant de la fonctionnalité de notification par mail.

Pour chaque « Check », HealthChecks créé une adresse mail aléatoire de type 5c10deb0b2ec@hc-ping.com; @ mail visible dans les réglage du « Check ».

Retour à Macrium reflect, tout d’abord il faut renseigner les paramètres pour avoir la possibilité d’envoyer des mails automatiquement depuis le logiciel: Menu puis Other tasks > Edit defaults and settings > Email settings and defaults > Email Server.

Ensuite, ouvrir la tâche de sauvegarde pour l’a modifier puis Advanced Options > Email. Depuis l’onglet Email Success rentrer l’@ mail fournie par HealthChecks, nul besoin de remplir la partie Content du message, à part besoin personnel mais attention de bien écrire le mot magique success dans l’objet du message. Rentrez aussi depuis l’onglet Email Failure mais en remplaçant dans l’objet le mot success par failure.

Tests

Il faut toujours tester! Sur Macrium je retourne dans les réglages globaux de Email Server qui permettent de vérifier si l’on a rentré les bonnes infos SMTP, je détourne cette fonction pour envoyer un message à l’adresse mail dédiée au « Checks » testé. Je tape success dans le champ Subject.

Puis j’ouvre mon navigateur Internet pour me rendre sur mon compte HealthChecks, je constate que j’ai reçu une notification de succès de backup.

Ensuite je reviens sur Macrium pour taper dans le champs Subject le mot failure à la place de success, puis bouton Test. Cette fois-ci le service en ligne affiche une notification rouge d’erreur et indique qu’un mail de notification à été envoyé au responsable de la sauvegarde.

OK.. Je regarde ma boite de réception et effectivement j’ai bien reçu un message qui montre clairement que le backup ne s’est pas lancé.

Et à quoi ressemble le mail qui prévient que la période de grâce a expirée? A ceci. Pour écrire cet article j’ai réglé la période de grâce sur une valeur très courte « Période15 mn » sur la capture. Le mail révèle aussi la dernière notification de réussite (Last ping 25 Mn ago).

Checker.. Healthcheks.io

Et si le service en ligne HealthChecks tombe en panne? Il suffit pour le savoir de lui demander d’envoyer régulièrement un compte rendu des systèmes monitorés. Si on ne reçoit plus ces débriefing HealthChecks est en panne. Cela depuis Account > Account Settings puis de choisir la périodicité du mail de debriefing.

On peut cependant décider de faire confiance en se disant que ce service est utilisé par des milliers d’utilisateurs -dont beaucoup ont optés la version payante- et d’être rassuré par le fait que toute erreur impactante du service est suivie par l’envoie d’un courriel.

Les limitations et possibilités du service HealthChecks

Evidemment, si mon client part en vacance plusieurs jours je serais notifié d’une erreur de système monitoré hors ligne, car la période de grâce aura expiré, mais à part créer un Cron Job très compliqué je ne vois pas comment éviter ce désagrément.

Niveau possibilité comme je l’ai évoqué plus haut, on peut très bien sur un NAS Synology créer un script en tâche planifiée pour par exemple vérifier que le NAS est toujours en fonctionnement et connecté au réseau, idem pour un serveur Windows, une Webcam d’intrusion évoluée, etc.