Configuration matérielle pour l'envoi de SMS
À propos de l'appareil GSM
Un périphérique GSM spécial est utilisé pour envoyer des SMS via un port série (USB). Vous pouvez utiliser soit un autre modèle GSM similaire, soit un téléphone portable avec connexion USB ou série. L'appareil utilisé ici est un MTX 65 v3. Cet appareil peut être acheté commercialement pour environ 100 $ USD sur différents sites Web :
Comme vous pouvez le voir sur YouTube, c'est un appareil très petit et compatible GNU/Linux, qui a différents composants optionnels, comme une antenne GSM qui est très utile, par exemple, si le centre de données est dans le sous-sol.
Installation de l'appareil
La première étape consiste à installer le périphérique matériel. Ce dispositif se compose des parties suivantes :
- Câble USB standard, avec un petit connecteur et une fermeture.
- Alimentation électrique. Dans cet exemple, il s'agit de l'européenne 220 volts, si vous habitez en Amérique (sauf au Chili), veuillez vous assurer que l'alimentation électrique est de 110 ou 120 volts.
- Carte SIM.
- Dispositif de passerelle SMS Pandora FMS.
Ouvrez le périphérique Pandora FMS SMS Gateway :
Placez la carte SIM à l'intérieur.
Connectez-vous au réseau sur la prise étiquetée power et insérez le câble USB dans le périphérique de passerelle SMS.
Connectez l'autre extrémité au serveur Pandora FMS à l'aide d'un port USB standard
Lorsque vous connectez l'appareil au serveur, attendez quelques secondes et lancez la commande dmesg à partir de la ligne de commande. Vous devriez voir quelque chose de similaire à cet écran :
Cela signifie que le périphérique a été reconnu par le noyau et est prêt à accepter des commandes sur un périphérique, comme /dev/ttyACM0
.
Si vous êtes arrivé jusqu'ici, la configuration est faite. Si non, veuillez vérifier toutes les étapes et assurez-vous que :
- L'appareil est connecté et le câble clignote en vert.
- L'appareil est connecté au port USB, des deux côtés du câble, l'un de ses côtés avec le périphérique SMS et l'autre avec le serveur hôte Pandora FMS.
- L'appareil a une carte SIM à l'intérieur, et celle-ci est correctement placée.
Configurer SMSTools pour utiliser le nouvel appareil
Cet appareil est géré par un logiciel appelé SMSTools. Vous pouvez installer SMSTools en utilisant le package fourni par votre distribution GNU/Linux choisie ou en utilisant le package RPM (Red Hat Package Manager ou RPM Package Manager ) fourni par Ártica PFMS (uniquement pour les distributions RPM telles que Fedora, Mandriva, Mageia, PCLinuxOS, entre autres).
Systèmes basés sur RPM
L'utilisation du RPM fourni par Ártica PFMS sur SUSE et Red Hat est très simple. Il vous suffit de l'installer avec la commande suivante :
# rpm -i smstools*.rpm
Configurer SMStools
Modifiez le fichier de configuration de base :
# vi /etc/smsd.conf
Mettez ces contenus. Si la sortie ou le résultat de la commande dmesg diffère de ttyACMO
, utilisez le périphérique tty
détecté par votre système.
# Example smsd.conf. Read the manual for a description devices = GSM1 logfile = /var/log/smsd.log loglevel = 10 [GSM1] device = /dev/ttyACM0 incoming = no pin = 2920
Utilisez le code PIN attribué à votre carte SIM. Dans cet exemple, le code PIN est 2920
.
Ensuite, lancez manuellement smstools :
# /usr/bin/smstools start
Envoyez un SMS de test. Attention : les numéros de téléphone doivent avoir le préfixe international complet. Dans cet exemple, +34
est le préfixe pour l'Espagne, et le numéro de téléphone est 627934648
:
$ sendsms 34******** "Pandora FMS rocks"
Attendez une minute et surveillez vos journaux pour vérifier que tout est correct. Vous devriez recevoir le SMS dans quelques secondes. Selon le réseau, le premier SMS peut être vérifié toutes les 10 à 20 secondes. Après ça, attendez. Le prochain SMS devrait être presque immédiat. SMSTools utilise une file d'attente pour envoyer des messages, de sorte que vous pouvez envoyer autant de messages que vous le souhaitez, et ils seront émis lorsque le réseau de votre mobile peut les gérer.
Pour voir les logs :
# cat /var/log/smsd.log 2009-11-12 11:30:12,2, smsd: Smsd v2.2.20 started. 2009-11-12 11:30:12,6, smsd: outgoing file checker has started. 2009-11-12 11:30:12,6, GSM1: Modem handler 0 has started. 2009-11-12 11:30:13,6, smsd: Moved file /var/spool/sms/outgoing/send_mNZxHa to /var/spool/sms/checked 2009-11-12 11:30:13,6, smsd: I have to send 1 short message for /var/spool/sms/checked/send_iUegPD 2009-11-12 11:30:13,6, GSM1: Sending SMS from to 627934648 2009-11-12 11:30:13,6, GSM1: Checking if modem is ready 2009-11-12 11:30:13,7, GSM1: -> AT 2009-11-12 11:30:13,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:14,7, GSM1: <- AT OK 2009-11-12 11:30:14,6, GSM1: Checking if modem needs PIN 2009-11-12 11:30:14,7, GSM1: -> AT+CPIN? 2009-11-12 11:30:14,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:14,7, GSM1: <- AT+CPIN? +CPIN: SIM PIN OK 2009-11-12 11:30:14,5, GSM1: Modem needs PIN, entering PIN... 2009-11-12 11:30:14,7, GSM1: -> AT+CPIN="2920" 2009-11-12 11:30:14,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:15,7, GSM1: <- AT+CPIN="2920" OK 2009-11-12 11:30:15,7, GSM1: -> AT+CPIN? 2009-11-12 11:30:15,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:15,7, GSM1: <- AT+CPIN? +CPIN: READY OK 2009-11-12 11:30:15,6, GSM1: PIN Ready 2009-11-12 11:30:15,6, GSM1: Checking if Modem is registered to the network 2009-11-12 11:30:15,7, GSM1: -> AT+CREG? 2009-11-12 11:30:15,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:16,7, GSM1: <- AT+CREG? +CREG: 0,2 OK 2009-11-12 11:30:16,5, GSM1: Modem is not registered, waiting 10 sec. before retrying 2009-11-12 11:30:26,7, GSM1: -> AT+CREG? 2009-11-12 11:30:26,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:26,7, GSM1: <- AT+CREG? +CREG: 0,5 OK 2009-11-12 11:30:26,6, GSM1: Modem is registered to a roaming partner network 2009-11-12 11:30:26,6, GSM1: Selecting PDU mode 2009-11-12 11:30:26,7, GSM1: -> AT+CMGF=0 2009-11-12 11:30:26,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:26,7, GSM1: <- AT+CMGF=0 OK 2009-11-12 11:30:26,7, GSM1: -> AT+CMGS=94 2009-11-12 11:30:26,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:27,7, GSM1: <- AT+CMGS=94> 2009-11-12 11:30:27,7, GSM1: -> 001100099126974346F900F1FF5CC8373BCC0295E7F437A83C07D5DDA076D93D0FABCBA069730A2297417079BD2C0EBB406779789C0ECF41F0B71C44AF83C66FB7391D76EBC32C503B3C46BFE96516081E7693DFF230C8D89C82E4EFF17A0E� 2009-11-12 11:30:27,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:31,7, GSM1: <- 001100099126974346F900F1FF5CC8373BCC0295E7F437A83C07D5DDA076D93D0FABCBA069730A2297417079BD2C0EBB406779789C0ECF41F0B71C44AF83C66FB7391D76EBC32C503B3C46BFE96516081E7693DFF230C8D89C82E4EFF17A0E� +CMGS: 0 OK 2009-11-12 11:30:31,5, GSM1: SMS sent, To: 627934648 2009-11-12 11:30:31,6, smsd: Deleted file /var/spool/sms/checked/send_iUegPD 2009-11-12 11:30:32,6, smsd: I have to send 1 short message for /var/spool/sms/checked/send_mNZxHa 2009-11-12 11:30:32,6, GSM1: Sending SMS from to 34******** 2009-11-12 11:30:32,7, GSM1: -> AT+CMGS=29 2009-11-12 11:30:32,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:33,7, GSM1: <- AT+CMGS=29> 2009-11-12 11:30:33,7, GSM1: -> 0011000B914326974346F900F1FF11D0B09BFC968741C6E614247F8FD773� 2009-11-12 11:30:33,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:36,7, GSM1: <- 0011000B914326974346F900F1FF11D0B09BFC968741C6E614247F8FD773� +CMGS: 1 OK 2009-11-12 11:30:36,5, GSM1: SMS sent, To: 34******** 2009-11-12 11:30:36,6, smsd: Deleted file /var/spool/sms/checked/send_mNZxHa
Enfin, quelques tâches pour assurer cette opération pour l'avenir :
1. Fixez 1
pour loglevel dans/etc/smsd.conf
pour éviter un fichier journal excessivement volumineux et inutile.
2. Assurez-vous que smsd est configuré pour démarrer automatiquement lorsque le système redémarre (cela implique un lien de/etc/init.d/sms
avec /etc/rc2.d/S90sms
ou /etc/rc.d/rc2.d/S90sms
).Si vous l'avez installé à partir d'un paquet, il existe probablement déjà sur votre système. Il suffit de vérifier.
Configurer l'alerte dans Pandora FMS
Ces étapes reproduisent les étapes de base pour créer des alertes SMS dans Pandora FMS 3.x.
Pour plus d’informations, consultez “Système d'alertes chez Pandora FMS”.
Créez la commande
Créez l'action :
Associez l'action à un module à l'aide d'un modèle d'alerte précédent. Dans ce cas, le modèle d'alerte sera lancé lorsque l'état du module devient CRITIQUE.
Passerelle d'envoi de SMS avec Gnokii
Il est recommandé de maintenir vos systèmes à jour avec la dernière version de Pandora FMS. Ces informations sont conservées à des fins historiques.
Cette méthode d'envoi de SMS était celle proposée dans les versions 1.x et 2.x de Pandora FMS. Dans la version 3.x smstools est utilisé. La méthode basée sur smstools est meilleure et il est déconseillé d'utiliser Gnokii en raison de sa complexité et de sa possibilité de défaillance. Cependant, il est référencé ici pour pouvoir disposer de méthodes alternatives à smstools.
Cette section décrit comment monter une passerelle d'envoi de SMS basée sur une file d'attente d'envoi. De cette façon, vous pouvez déployer un serveur d'envoi de SMS, connecté à un mobile et en envoyant des SMS via le logiciel du projet Gnokii, et différents serveurs distants. Vous pouvez envoyer vos messages pour être traités par le serveur d'envoi de SMS. Cela permet à différents serveurs Pandora FMS (ou à d'autres machines utilisant la passerelle) d'envoyer des messages de manière centralisée, sans avoir besoin d'avoir un mobile pour chaque serveur.
Tout d'abord, vous devez créer un utilisateur SMS
sur la machine où vous installerez la passerelle d'envoi de SMS. Créez ensuite les répertoires home/sms
et/home/sms/incoming
. Si vous souhaitez utiliser la passerelle SMS à partir d'autres machines, vous devez rendre le répertoire/home/sms/incoming
accessible à d'autres serveurs via n'importe quel système d'envoi de fichiers ou de partage de systèmes de fichiers : NFS, SMB, SSH (scp), FTP ou Tentacle.
Le mécanisme de la passerelle d'envoi de SMS est simple : pour chaque fichier situé dans le répertoire /home/sms/incoming
, un SMS contenant le contenu du fichier sera traité, supprimé et envoyé. Ce fichier doit avoir un format spécifique, qui est détaillé ci-dessous :
Numéro de téléphone|texte du SMS
Déploiement de la passerelle avec Gnokii
Il est recommandé de maintenir vos systèmes à jour avec la dernière version de Pandora FMS. Ces informations sont conservées à des fins historiques.
Vous devez créer quatre scripts :
SMS : Script qui envoie le SMS à l'aide de Gnokii via un câble de données USB. Ce script est uniquement sur le système où se trouve la passerelle d'envoi (le système qui a le câble de données connecté à un mobile GSM).
SMS_GATEWAY : Script qui traite périodiquement le répertoire d'entrée (/home/sms/incoming
) en traitant les fichiers en attente d'envoi. Ce script se trouve uniquement sur le système qui fait office de passerelle d'envoi.
SMS_GATEWAY_LAUNCHER : Script de lancement pour le script SMS_GATEWAY
(démon de démarrage et d'arrêt). Ce script se trouve uniquement sur le système qui fait office de passerelle d'envoi.
COPY_SMS: Copiez un SMS à l'aide de la commande scp d'un système client vers le système passerelle. Utilisez le TÉLÉPHONE comme premier paramètre, et le second comme texte à envoyer (en utilisant “” pour spécifier chaque paramètre). Le script s'appuie sur l'authentification automatique SSH et l'utilisateur sms
pour le transfert. Sur le système local, vous pouvez remplacer la commande scp par la commande cp ou utiliser un système tel que Tentacle pour transférer le fichier.
sms
Il est recommandé de maintenir vos systèmes à jour avec la dernière version de Pandora FMS. Ces informations sont conservées à des fins historiques.
C'est le script qui envoie des SMS en utilisant Gnokii. Vous devez avoir Gnokii correctement configuré (en utilisant le fichier/etc/gnokii.conf
ou similaire). Vous devez probablement être l'utilisateur root pour pouvoir lancer le script, ou définirSETUID0
sur le binaire Gnokii.
#!/bin/bash texto=$1 number=$2 if [ $# != 2 ]; then echo "I need more parameters" exit 1; fi /bin/echo $1 | /usr/local/bin/gnokii --sendsms $2
sms_gateway
Il est recommandé de maintenir vos systèmes à jour avec la dernière version de Pandora FMS. Ces informations sont conservées à des fins historiques.
Voici le script du démon passerelle:
#!/bin/bash INCOMING_DIR=/home/sms/incoming HOME_DIR=/home/sms while [ 1 ] do for a in `ls $INCOMING_DIR` do if [ ! -z "$a" ] then NUMBER=`cat $INCOMING_DIR/$a | cut -d "|" -f 1` MESSAGE=`cat $INCOMING_DIR/$a | cut -d "|" -f 2` TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"` echo "$TIMESTAMP Sending to $NUMBER the message $MESSAGE">> $HOME_DIR/sms_gateway.log $HOME_DIR/sms "$MESSAGE" "$NUMBER" echo "$TIMESTAMP Deleting $a">> $HOME_DIR/sms_gateway.log rm -Rf $INCOMING_DIR/$a sleep 1 fi done sleep 5 done
sms_gateway_launcher
Il est recommandé de maintenir vos systèmes à jour avec la dernière version de Pandora FMS. Ces informations sont conservées à des fins historiques.
Voici le script de lancement pour le sms_gateway
:
#!/bin/bash INCOMING_DIR=/home/sms/incoming HOME_DIR=/home/sms while [ 1 ] do for a in `ls $INCOMING_DIR` do if [ ! -z "$a" ] then NUMBER=`cat $INCOMING_DIR/$a | cut -d "|" -f 1` MESSAGE=`cat $INCOMING_DIR/$a | cut -d "|" -f 2` TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"` echo "$TIMESTAMP Sending to $NUMBER the message $MESSAGE">> $HOME_DIR/sms_gateway.log $HOME_DIR/sms "$MESSAGE" "$NUMBER" echo "$TIMESTAMP Deleting $a">> $HOME_DIR/sms_gateway.log rm -Rf $INCOMING_DIR/$a sleep 1 fi done sleep 5 done
copy_sms
Il est recommandé de maintenir vos systèmes à jour avec la dernière version de Pandora FMS. Ces informations sont conservées à des fins historiques.
Ce petit script crée un fichier d'envoi SMS sur une machine cliente et le copie sur la passerelle SMS à l'aide de scp:
#!/bin/bash SERIAL=`date +"%j%M%s"` SERIAL=`hostname`_$SERIAL TEL=$1 TEXT=$2 echo $TEL\|$TEXT>> /tmp/$SERIAL scp /tmp/$SERIAL [email protected]:/home/sms/incoming rm -Rf /tmp/$SERIAL1