Qué aprenderás
En este artículo, aprenderá cómo instalar el servidor kannel en Debian e integrarlo en un servidor Nagios para notificaciones por SMS. Suponemos que el lector ya tiene un servidor Nagios en funcionamiento y nos centraremos en la instalación de Kannel y su integración con Nagios.
Requisitos
- Acceso privilegiado a su servidor Debian
- Cuenta SMPP o módem USB
- Un servidor Nagios
- Acceso privilegiado a su servidor Nagios
Dificultad
MEDIO
Convenios
#:requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo
command
$:requiere que los comandos de Linux se ejecuten como un usuario normal sin privilegios
Configuración de canales
Instalar canal
La instalación de kannel se realiza simplemente a través de apt-get
comando:
# apt-get install kannel
Configuración inicial
Después de haber instalado kannel, estableceremos una configuración inicial antes de continuar.
Hagamos una copia de seguridad del archivo de configuración predeterminado y creemos el nuestro.
$ cd /etc/kannel/ # mv kannel.conf kannel.conf.bak # touch kannel.conf
Ahora abramos el archivo de configuración
# vi /etc/kannel/kannel.conf
Y rellénalo con el siguiente contenido
# 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]
Cambiar Kannel al modo smsbox
Por defecto, Kannel funciona como un wapbox
, pero en nuestro caso queremos que funcione como smsbox
.
Para hacerlo, editaremos /etc/default/kannel
# vi /etc/default/kannel
Comentar START_WAPBOX=1
y descomentar START_SMSBOX=1
#START_WAPBOX=1 START_SMSBOX=1
Crear un SMSC
Para que Kannel pueda enviar mensajes de texto, debe usar un SMSC
(Centro de Servicio de Mensajes Cortos). Por lo tanto, necesitamos crear una configuración de SMSC.
Uso de una cuenta SMPP
Si queremos enviar sms a través de un SMPP
cuenta, luego agregaremos las siguientes líneas 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"
Por favor, adapte la configuración, usando los valores que su proveedor le ha dado.
Uso de un módem USB
Si queremos enviar sms a través de un módem USB, debemos instalar wvdial
:
# apt-get install wvdial
Después de la instalación, ejecutaremos wvdialconf
para detectar el módem USB y generar su configuración adecuada.
# wvdialconf
Ahora agregaremos estas líneas 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
Reiniciar canal
Cuando todas las configuraciones estén listas, necesitamos reiniciar Kannel:
# service kannel restart
URL de canales útiles
Para enviar 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
Para comprobar el estado de Kannel:
http://kannel_server_ip_address:13000/status?password=password_for_kannel_status
Para abrir la página de administración de Kannel:
http://kannel_server_ip_address:13000/status?password=password_for_kannel_admin
Integrando Kannel con Nagios
El servidor de Kannel está listo y ahora debemos decirle a Nagios que lo use para alertas de sms.
Crear comandos de nagios para alertas de sms
Edite commands.cfg
# vi /usr/local/nagios/etc/objects/commands.cfg
Y añade esto:
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:
- Adapte los valores de la URL excepto
$CONTACTPAGER
,$HOSTNAME$
,$HOSTSTATE$
,$HOSTALIAS$
,$SERVICEDESC$
y$SERVICESTATE$
- Hemos usado
curl
, por lo que si no está disponible en su sistema, debe instalarlo
# apt-get install curl
Añadir comandos de notificación a los contactos
Edite commands.cfg
# vi /usr/local/nagios/etc/objects/commands.cfg
Y en la sección de contacto, agrega esto:
service_notification_commands notify-service-by-sms host_notification_commands notify-host-by-sms pager [phone_number]