Surveiller ses services auto-hébergés avec UptimeRobot et les SMS de Free Mobile

Être prévenu par SMS si son site auto-hébergé a des soucis, c’est quand même la classe, non?

Ca permet d’être tout de suite au courant en cas de coupure d’accès Internet, ou d’électricité, ou d’un autre problème technique. Ou parfois des erreurs de configuration qu’on n’aurait pas soupçonnées ;-)

Et une manière de le faire facilement (et gratuitement) est d’utiliser UptimeRobot et les APIs de SMS de Free Mobile.

  + 

Sommaire

Pour tout ce que je décris ci-dessous, un compte gratuit chez UptimeRobot est suffisant. La version payante peut permettre d’avoir des contrôles plus fréquents (c’est jusqu’à 5 minutes en version gratuite, ce qui me parait largement suffisant).

Configurer ce qu’il faut monitorer

On peut vérifier si un port est accessible, ou si une machine peut être pingée (et d’autres choses : regardez sur leur site).

Mais le plus intéressant est de vérifier si une URL répond, et si la réponse contient une chaîne de caractères censée y être.

Configurer la manière d’être alerté

On peut être alerté par email, Twitter, et plusieurs autres moyens (qui peuvent être combinés).

Ils proposent notamment un « email-to-SMS », qui fonctionne avec certains opérateurs, mais Free n’est pas dans la liste.

On peut être alerté directement par SMS (n’importe quel opérateur), mais il faudrait avoir un compte payant pour cela.

Heureusement, UptimeRobot permet aussi d’appeler une URL (« Web-Hook »), et c’est ce qu’on va utiliser.

Évidemment, il faut d’abord avoir activé l’API de SMS dans votre console Free Mobile.

Dans l’interface d’administration de UptimeRobot, on peut créer un « alert contact » de type Web-Hook, et définir une URL du type :

https://smsapi.free-mobile.fr/sendmsg?user=12345678&pass=xxxx&msg=UptimeRobot%20indispo%20*monitorFriendlyName*%20(*monitorURL*)%20*alertTypeFriendlyName*%20*alertDetails*&

(en remplaçant le user id et le mode de passe par ceux issus de votre console de gestion Free).

Et c’est tout! Nous voilà avec du monitoring simple et gratuit. J’utilise ça depuis quelques mois et ça marche très bien.

Et les statistiques d’accès?

Vos statistiques d’accès peuvent être faussées par ces requêtes. Ca dépend si elles fonctionnent via du javascript (type Google Analytics, ou Piwik en mode javascript) ou via les logs de votre serveur HTTP (type Awstats ou Piwik en mode logs ou image). Ce n’est que dans le second cas qu’elles sont affectées.

Pour éviter ce biais, il est possible d’ignorer les requêtes de UptimeRobot via leur User-Agent (qui contient « UptimeRobot ») ou leurs IP sources (cf https://uptimerobot.com/locations.php).

Et pourquoi ne pas auto-héberger le système de surveillance?

Ben oui… sauf que le serpent se mort la queue si vous mettez tout au même endroit. S’il y a une coupure de courant ou d’Internet, vous ne risquez pas d’être alerté.

Par contre, si vous hébergez de système de contrôle ailleurs (chez un copain, par exemple), ça peut marcher.

Apparemment, le projet phpservermonitor fait le nécessaire. Ils supportent a priori en standard l’envoi de SMS chez Free Mobile, à partir de la version 3.2.0. Mais je n’ai pas eu l’occasion de tester.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *