Bienvenue dans mon /dev/null

Monitoring du raid via l'api sms du FAI Free

Publié le: par Au_Hasard

1 min de lecture

Contexte

Pouvoir être informé des changements par sms de la gratte raid que l’on a configuré ici.

Présentation

C’est pas très compliqué de mettre ce monitoring en place, le seul prérequis que tu vas avoir besoin, c’est d’avoir un forfait mobile chez Free.

Si jamais, tu n’as de forfait chez Free. Je ferais un autre post pour configurer le monitoring via un envoi de mail. Patience donc…

Cambouis

Prérequis

Récupère ton identifiant sur ton espace abonné Free et dans tes options, tu peux activer l’envoi de SMS via l’API (C’est gratuit /), pense à récupérer le mot de passe qu’il te fournit.

Script

La première chose que nous allons faire, c’est créé un petit script bash tout simple qui va être appeler par mdadm à chaque changement de statut : 

#!/bin/bash

# Fonctions
template (){
if [[ -z "$3" ]];then
template="Information $1 sur le raid $2";
else
template="Information $1 sur le raid $2 concernant le disque $3";
fi
}

sms () {
curl -G -d user=****** -d pass=****** --data-urlencode msg="$template" 'https://smsapi.free-mobile.fr/sendmsg'
}

# Script
template $1 $2 $3
sms

Comment ça fonctionne ? mdadm va envoyer des arguments à notre script, c’est argument sont reconnus par le script comme étant $1,$2,$3.

  • $1 est le changement du statut sur la grappe
  • $2 est le nom du raid, pour moi ça sera /dev/md0.
  • $3 est le nom d’un de tes disques où une partition qui fait partie du raid

Sachant ça, on formate le sms qui n’a pas obligatoirement de $3 donc on vérifie si la variable est vide via le if [[ -z "$3" ]] pour créé la variable template.

Ensuite, on utilise la commande curl pour envoyer notre requête, pense à modifier le user et le pass.

Comme toujours quand on fait un script, on pense à le rendre exécutable : 

chmod +x /ton/chemin/de/script.sh

Configuration mdadm

On va ajouter ce paramètre dans le fichier /etc/mdadm/mdadm.conf

PROGRAM /ton/chemin/de/script.sh

Test du programme

Maintenant, on va pouvoir tester la configuration avec la commande suivante : 

sudo mdadm --monitor --scan --oneshot --test

Et normalement, tu devrais recevoir un sms de test de ta part avec le contenu de la variable template et les informations de mdadm.

Voila ! /