Ce que vous allez apprendre
Dans cet article, vous apprendrez comment installer le serveur kannel sur Debian et l'intégrer à un serveur Nagios pour les notifications par SMS. Nous supposons que le lecteur a déjà un serveur Nagios fonctionnel et nous nous concentrerons sur l'installation de Kannel et son intégration avec Nagios.
Exigences
- Accès privilégié à votre serveur Debian
- Compte SMPP ou modem USB
- Un serveur Nagios
- Accès privilégié à votre serveur Nagios
Difficulté
MOYEN
Congrès
# - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo
command
$ - nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié
Configurer Kannel
Installer Kannel
L'installation de kannel se fait simplement via apt-get
commande :
# apt-get install kannel
Configuration initiale
Après avoir installé kannel, nous allons mettre en place une configuration initiale avant d'aller plus loin.
Sauvegardons le fichier de configuration par défaut et créons le nôtre.
$ cd /etc/kannel/ # mv kannel.conf kannel.conf.bak # touch kannel.conf
Ouvrons maintenant le fichier de configuration
# vi /etc/kannel/kannel.conf
Et remplissez-le avec le contenu suivant
# CORE group = core admin-port = 13000 admin-password = [password for kannel admin] status-password = [password to get kannel status] wdp-interface-name = "*" log-file = "/var/log/kannel/kannel.log" log-level = 0 access-log = "/var/log/kannel/access.log" smsbox-port = 13001 # SMSBOX SETUP group = smsbox bearerbox-host = 127.0.0.1 sendsms-port = 13002 log-file = "/var/log/kannel/smsbox.log" # SENDING SMS group = sendsms-user username = [username for sending sms] password = [password for sending sms]
Passer Kannel en mode smsbox
Par défaut, Kannel fonctionne comme une wapbox
, mais dans notre cas, nous voulons qu'il fonctionne comme smsbox
.
Pour ce faire, nous allons modifier /etc/default/kannel
# vi /etc/default/kannel
Commentaire START_WAPBOX=1
et décommentez START_SMSBOX=1
#START_WAPBOX=1 START_SMSBOX=1
Créer un SMSC
Pour que Kannel puisse envoyer des SMS, il doit utiliser un SMSC
(Centre de service de messages courts). Nous devons donc créer une configuration SMSC.
Utiliser un compte SMPP
Si nous voulons envoyer des SMS via un SMPP
compte, alors nous ajouterons les lignes suivantes à /etc/kannel/kannel.conf
:
# SMSC group = smsc smsc = smpp smsc-id = smsc1 system-type = "VMA" host = xxxx.xxxx.xxxx.xxxx port = xxxx smsc-username = "username" smsc-password = "password"
Veuillez adapter la configuration en utilisant les valeurs que votre fournisseur vous a données.
Utiliser un modem USB
Si nous voulons envoyer des SMS via un modem USB, nous devons installer wvdial
:
# apt-get install wvdial
Après l'installation, nous lancerons wvdialconf
pour détecter le modem USB et générer sa configuration appropriée.
# wvdialconf
Nous allons maintenant ajouter ces lignes à /etc/kannel/kannel.conf
:
# USB MODEM DEFINITION group = modems id = myusbmodem init-string = "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" message-storage = "SM" need-sleep = true # SMSC USING USB MODEM group = smsc smsc = at smsc-id = smsc2 my-number = [SIM card] sms-center = [sms center number] device = /dev/ttyUSB1 speed = 9600 sim-buffering = true
Redémarrer Canal
Lorsque toutes les configurations sont terminées, nous devons redémarrer Kannel :
# service kannel restart
URL de canaux utiles
Pour envoyer des SMS :
http://kannel_server_ip_address:13002/cgi-bin/sendsms?username=username_for_sending_sms&password=password_for_sending_sms&smsc=smsc-id_to_use&to=phone_number_1 phone_number_2&text=message_content
Pour vérifier l'état de Kannel :
http://kannel_server_ip_address:13000/status?password=password_for_kannel_status
Pour ouvrir la page d'administration de Kannel :
http://kannel_server_ip_address:13000/status?password=password_for_kannel_admin
Intégration de Kannel avec Nagios
Le serveur Kannel est prêt et nous devons maintenant dire à Nagios de l'utiliser pour l'alerte SMS.
Créer des commandes nagios pour l'alerte SMS
Modifier commands.cfg
# vi /usr/local/nagios/etc/objects/commands.cfg
Et ajoutez ceci :
define command{ command_name notify-host-by-sms command_line /usr/bin/curl http://kannel_server_ip_address:13002/cgi-bin/sendsms?username=username_for_sending_sms&password=password_for_sending_sms&smsc=smsc-id_to_use&to=$CONTACTPAGER&text=$HOSTNAME$ is $HOSTSTATE$ } define command{ command_name notify-service-by-sms command_line /usr/bin/curl http://kannel_server_ip_address:13002/cgi-bin/sendsms?username=username_for_sending_sms&password=password_for_sending_sms&smsc=smsc-id_to_use&to=$CONTACTPAGER&text=$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ }
Remarque :
- Veuillez adapter les valeurs dans l'URL sauf
$CONTACTPAGER
,$HOSTNAME$
,$HOSTSTATE$
,$HOSTALIAS$
,$SERVICEDESC$
et$SERVICESTATE$
- Nous avons utilisé
curl
, donc s'il n'est pas disponible sur votre système, vous devez l'installer
# apt-get install curl
Ajouter des commandes de notification aux contacts
Modifier commands.cfg
# vi /usr/local/nagios/etc/objects/commands.cfg
Et dans la section contact, ajoutez ceci :
service_notification_commands notify-service-by-sms host_notification_commands notify-host-by-sms pager [phone_number]