Tag Archives: Smartphone

  • -

Le service de notification Pushover.Net

Category:Linux,Notification,Surveillance Tags : 

Pushover.Net

Pour faire court, Pushover (https://pushover.net/) est un service qui permet de recevoir des notifications instantanées sur votre téléphone ou votre tablette depuis une grande variété de sources.

Il faut toutefois installer l’application associée qui se trouvera sur le “store” approprié.

Sur le serveur, il est possible d’utiliser une API pouvant être intégrée dans un script ou un programme, que cela soit du Bash Shell, du PHP ou du C, qui utilisera une URL du serveur Pushover.net pour générer l’alerte.

Pushover coute 5 US$ par client (Android, IOS ou desktop en plugin Chrome & Firefox) qui recevront les notifications, au maximum de 7500 par mois.

Si de nombreuses utilisations sont possibles, un cas d’école qui peut être retenu est l’installation de ce service de notification avec le logiciel de surveillance « Monit », qui enverra des alertes en fonction de l’état des services surveillés, comme Apache ou MariaDB.

Note

La procédure est donnée telle quelle, sans garantie de fonctionnement.

User Key

Après avoir créé un compte, vous recevrez votre clé utilisateur  « User Key” qui sera composée de 30 caractères alphanumériques, ex. Td5vz6wfqg6s2cmcjSkSus4p5FrF41

Api Token

Si vous souhaitez utiliser un script, il faudra préalablement créer une application qui générera une “Api Token “ également de 30 caractères alphanumériques. J’en ai créé une appelée LinuxAlert qui a créé un token utilisé dans l’exemple plus bas.

Lien avec Monit

Dans notre exemple précédent avec Monit, il était indiqué que dans les scripts de surveillance la quatrième ligne était liée à l’expédition d’une alerte via un système de push dont le tutoriel sera créé ultérieurement par une collègue, c’est donc chose faite.

… then exec "/root/pushover.sh/pushover.sh" if failed port 80 for 2 cycles then restart if 3 restarts within 5 cycles then exec "/root/pushover.sh"

En effet, cette ligne invoque le script « pushover.sh » qui nous fait notre « colle » avec le service Monit.

L’utilisation du programme cURL (client URL request library ou see URL)  est au centre du script, car il permet de créer une ressource correctement formatée qui va créer un objet d’entrée directement sur le service de Pushover.net.

Toutefois, pour que le message passe, il devra comprendre la clé du Token API créé sur le site de PushOver.net, et la clé utilisateur qui vous a été attribuée.

Tests du service PushOver.net

Avant de se lancer dans le script proprement, il est bien de faire un test de notification afin de s’assurer que tout fonctionne correctement (clés Token et utilisateur, firewall, etc…). Créer le fichier texte « alerte » avec le contenu suivant :

#!/bin/bash

curl -s \

--form-string "token=avdrt678902345d1qri86easbav3" \

--form-string "user=alsorditz8d9s9" \

--form-string "message=Hello WORLD" \

https://api.pushover.net/1/messages.json

Enregistrer et marquer le fichier comme exécutable avec

chmod +x alert

Et exécutez le script en tapant

./alert

Le script final

Immédiatement, vous devriez recevoir une notification sur votre récepteur avec le message « Hello World » depuis l’API LinuxAlert créée dans la console. Si cela fonctionne, il faudra adapter le script pour prendre en compte les entrées retournées par les actions Monit. Cela donnera

#!/bin/bash

curl -s \

--form-string "token= avdrt678902345d1qri86easbav3" \

--form-string "user= alsorditz8d9s9" \

--form-string "message=[$MONIT_HOST] $MONIT_SERVICE - $MONIT_DESCRIPTION" \

https://api.pushover.net/1/messages.json

Bons tests !

Maria Perez