Cosa imparerai
In questo articolo imparerai come installare il server kannel su Debian e integrarlo in un server Nagios per le notifiche sms. Assumiamo che il lettore abbia già un server Nagios funzionante e ci concentreremo sull'installazione di Kannel e sulla sua integrazione con Nagios.
Requisiti
- Accesso privilegiato al tuo server Debian
- Account SMTP o modem USB
- Un server Nagios
- Accesso privilegiato al tuo server Nagios
Difficoltà
MEDIO
Convenzioni
# – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo
command
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato
Configurazione del canale
Installa canale
L'installazione del canale avviene semplicemente tramite apt-get
comando:
# apt-get install kannel
Configurazione iniziale
Dopo aver installato il canale, metteremo in atto una configurazione iniziale prima di andare oltre.
Effettuiamo il backup del file di configurazione predefinito e creiamo il nostro.
$ cd /etc/kannel/ # mv kannel.conf kannel.conf.bak # touch kannel.conf
Ora apriamo il file di configurazione
# vi /etc/kannel/kannel.conf
E riempilo con il seguente contenuto
# 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]
Passa il canale alla modalità smsbox
Per impostazione predefinita, il canale funziona come wapbox
, ma nel nostro caso vogliamo che funzioni come smsbox
.
Per farlo, modificheremo /etc/default/kannel
# vi /etc/default/kannel
Commenta START_WAPBOX=1
e decommenta START_SMSBOX=1
#START_WAPBOX=1 START_SMSBOX=1
Crea un SMSC
Affinché Kannel possa inviare messaggi di testo, deve utilizzare un SMSC
(Centro servizi messaggi brevi). Quindi dobbiamo creare una configurazione SMSC.
Utilizzo di un account SMPP
Se vogliamo inviare sms tramite un SMPP
account, quindi aggiungeremo le seguenti righe a /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"
Si prega di adattare la configurazione, utilizzando i valori che il provider ha fornito.
Utilizzo di un modem USB
Se vogliamo inviare sms tramite un modem USB, dobbiamo installare wvdial
:
# apt-get install wvdial
Dopo l'installazione, eseguiremo wvdialconf
per rilevare il modem USB e generarne la configurazione adeguata.
# wvdialconf
Ora aggiungeremo queste righe a /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
Riavvia il canale
Al termine di tutte le configurazioni, è necessario riavviare Kannel:
# service kannel restart
URL del canale utili
Per inviare 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
Per controllare lo stato del canale:
http://kannel_server_ip_address:13000/status?password=password_for_kannel_status
Per aprire la pagina di amministrazione del canale:
http://kannel_server_ip_address:13000/status?password=password_for_kannel_admin
Integrazione di Kannel con Nagios
Il server Kannel è pronto e ora dobbiamo dire a Nagios di usarlo per gli avvisi via sms.
Crea comandi nagios per avvisi sms
Modifica commands.cfg
# vi /usr/local/nagios/etc/objects/commands.cfg
E aggiungi questo:
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$ }
Nota:
- Si prega di adattare i valori nell'URL tranne
$CONTACTPAGER
,$HOSTNAME$
,$HOSTSTATE$
,$HOSTALIAS$
,$SERVICEDESC$
e$SERVICESTATE$
- Abbiamo usato
curl
, quindi se non è disponibile sul tuo sistema, devi installarlo
# apt-get install curl
Aggiungi comandi di notifica ai contatti
Modifica commands.cfg
# vi /usr/local/nagios/etc/objects/commands.cfg
E nella sezione contatti, aggiungi questo:
service_notification_commands notify-service-by-sms host_notification_commands notify-host-by-sms pager [phone_number]