====== Configuration matérielle pour l'envoi de SMS ====== {{indexmenu_n>2}} ===== À 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 : * [[http://matrix.es|http://matrix.es]] . * [[http://www.youtube.com/watch?v=OxcKAarS2M0|http://www.youtube.com/watch?v=OxcKAarS2M0]] . 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. {{ :wiki:sms_package.jpg |sms_package.jpg}} Ouvrez le périphérique Pandora FMS SMS //Gateway// : {{ :wiki:imag0026.jpg |imag0026.jpg}} Placez la carte SIM à l'intérieur. {{ :wiki:imag0027.jpg |imag0027.jpg}} 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. {{ :wiki:imag0030.jpg |imag0030.jpg}} Connectez l'autre extrémité au serveur Pandora FMS à l'aide d'un port USB standard {{ :wiki:imag0029.jpg |imag0029.jpg}} 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 : {{ :wiki:smsstep1.png }} 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 [[https://fr.wikipedia.org/wiki/RPM_Package_Manager|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 "[[:fr:documentation:pandorafms:management_and_operation:01_alerts|Système d'alertes chez Pandora FMS]]". Créez la commande {{ :wiki:smsalerts1.png }} Créez l'action : {{ :wiki:smsalerts2.png }} 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 [[:fr:documentation:pandorafms:technical_reference:10_versions|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 **[[:fr:documentation:pandorafms:technical_annexes:02_pandorafms_sms_gateway#configurer_smstools_pour_utiliser_le_nouvel_appareil|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 [[:fr:documentation:pandorafms:technical_reference:09_tentacle|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 [[:fr:documentation:pandorafms:technical_reference:10_versions|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 [[:fr:documentation:pandorafms:technical_reference:09_tentacle|Tentacle]] pour transférer le fichier. === sms === Il est recommandé de maintenir vos systèmes à jour avec la [[:fr:documentation:pandorafms:technical_reference:10_versions|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éfinir''SETUID0'' 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 [[:fr:documentation:pandorafms:technical_reference:10_versions|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 [[:fr:documentation:pandorafms:technical_reference:10_versions|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 [[:fr:documentation:pandorafms:technical_reference:10_versions|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 sms@192.168.1.1:/home/sms/incoming rm -Rf /tmp/$SERIAL1