Configura Ubuntu, Proxmox, Zabbix & NethServer para entornos de Oficina
Menu

Zabbix alertas SMS vía USB Modem 3G o Celular

11/30/2013

0 Comments

 
Picture
Regresar
Picture
Siguiendo con la configuración avanzada de Zabbix, en este artículo vamos a mostrar cómo activar alertas a través de mensajes de texto "SMS" con USB-Modem o Celulares con servicio GSM/CDMA.

NOTA:  Tomamos de base la guía sugerida en el forum de Zabbix (clic para ver la fuente) y lo hemos complementado, para que funcione al 100% en Ubuntu Server 12.04.  Nuestro aporte consiste en la configuración correcta para Ubuntu Server 12.04, los permisos con el OS y Gammu, la guía de cómo identificar los dispositivos y configuración de Alertas en el entorno Web Zabbix.

Porque activar alertas vía SMS:  El principal objetivo es proporcionar a Zabbix una vía alterna para enviar "Alertas" cuando los enlaces de Internet colapsen.


En resumen, para enviar alertas a través de mensajes de texto es necesario complementar Zabbix con la aplicación Gammu.

Gammu es una herramienta GNU que nos permite controlar USB Modems o Celulares a través de linea de comando.   Cuenta con una amplia gama de opciones sin embargo, en este artículo nos vamos a centrar en el manejo de SMS (Short Message Service).  (Clic para ver más información de gammu)

El escenario donde vamos a mostrar la configuración esta sobre:

  • Máquina Virtual sobre PROXMOX
  • Sistema operativo Ubuntu Server 12.04
  • Zabbix 2.0.6
  • USB Modem GSM TZE
  • Servicio GSM/CDMA Claro
En 911-ubuntu & COSYSCO utilizamos PROXMOX como plataforma de virtualización para nuestros servidores en producción y laboratorios.  Al igual que Zabbix tenemos documentación de cómo implementar PROXMOX (clic para ver más información sobre PROXMOX).


Picture
En el caso que tengas instalado Zabbix en un máquina física u otra plataforma de virtualización que no sea PROXMOX puede saltar a "Configuración USB Modem o Celulares en Ubuntu Server 12.04"


PROXMOX, Activar puertos USB para VM

  • Si estas utilizando Zabbix en una "Máquina Virtual" sobre PROXMOX, has clic en este link para habilitar los puertos físicos USB, de nuestro servidor (NODE) y que la "Máquina Virtual", pueda utilizar USB-Modem o Celular con tecnología GSM/CDMA (Clic para ver más información).

Configuración USB Modem o Celulares en Ubuntu Server 12.04

Después de haber instalado y configurado Zabbix en Ubuntu Server (siguiendo nuestra guía) vamos a activar el dispositivo USB. 

Es muy importante comentar que la mayoría de dispositivos USB-Modem y Celulares con tecnología GSM/CDMA 3G y conexión USB funciona muy bien con UBUNTU.   Sin embargo te recomendamos primero probar el dispositivo USB en un Ubuntu Desktop para asegurarte de su compatibilidad.  Tome en cuenta que los USB-Modems 4G cuentan con un firmware que los emulan como Router activando comunicación ethX.

Este es el listado de dispositivos soportados por Ubuntu.
https://wiki.ubuntu.com/NetworkManager/Hardware/3G

Nos conectamos vía ssh o desde el mismo server y ejecutamos:

sudo lsusb

Aparece la lista de dispositivos USB conectados:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 19d2:2000 ZTE WCDMA Technologies MSM MF627/MF628/MF628+/MF636+ HSDPA/HSUPA

En este ejemplo utilizamos un Modem ZTE WCDMA el cual vamos a configurar.
Instalamos los controladores para manejar USB Modems:

sudo apt-get install usb-modeswitch usb-modeswitch-data wvdial ppp

Ejecutamos wvDialConf el cual va a configurar automáticamente la conexión al usb-modem en /etc/wvdial.conf

sudo wvdialconf /etc/wvdial.conf


Verificamos que la configuración este completa revisando el contenido de wvdial.conf

more /etc/wvdial.conf


wvdial.conf contiene la configuración del USB-Modem o Celular.  Es muy importante tomes nota del siguiente parámetro:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +F
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB1
ISDN = 0
; Phone = <Target Phone Number>
; Password = <Your Password>
; Username = <Your Login Name>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

En este ejemplo el USB-Modem esta mapeado en /dev/ttyUSB1 el cual es el punto de comunicación con el dispositivo.  Esta configuración puede variar, por esa razón es necesario que lo localices y tomes nota para continuar con la configuración.

NOTA:  Si el USB-Modem o Celular no logra configurarse, reiniciar el servidor.  También puedes probar el USB-Modem o Celular en Ubuntu Desktop para asegurarte de su buen funcionamiento y compatibilidad.

Instalación y configuración de Gammu

Gammu es una herramienta que nos permite controlar celulares o USB-Modem a través de linea de comando.   Es importante revisar si nuestro dispositivo es soportado por Gammu, puedes ver el listado haciendo clic aquí ...  http://wammu.eu/phones/

Instalamos Gammu y su complemento para SMS

sudo apt-get install gammu gammu-smsd

Damos permiso al usuario Zabbix y el usuario (MIUSUARIO) con el cual estamos configurando:  (MIUSUARIO es la cuenta con la cual estas conectado al server)

sudo usermod -a -G dialout,gammu,tty zabbix
sudo usermod -a -G dialout,gammu,tty MIUSUARIO

Agregamos al usuario Zabbix en la lista de Sudoers.  Con esta configuración el usuario Zabbix no necesita ingresar password al ejecutar en modo sudo gammu.

sudo nano /etc/sudoers

Agregamos al final de la configuración:


zabbix ALL = NOPASSWD:/usr/bin/gammu

Antes de comenzar a configurar gammu, vamos a verificar que este activa la configuración del USB-Modem o Celular.  E
s muy importante tomes nota del siguiente parámetro:

more /etc/vwdial.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +F
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB1
ISDN = 0
; Phone = <Target Phone Number>
; Password = <Your Password>
; Username = <Your Login Name>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


En este ejemplo el USB-Modem esta mapeado en /dev/ttyUSB1 el cual es el punto de comunicación con el dispositivo.  Esta configuración puede variar, por esa razón es necesario que lo localices y tomes nota para continuar con la configuración.

Procede a configurar gammu (NOTA:  Tiene que ejecutarse sin SUDO).

gammu-config


NOTA:  Si el comando gammu-config falla por falta de permisos, reinicia el servidor y, a continuación, intenta ejecutar nuevamente.  Si persiste el problema, verifica que tu usuario tenga los permisos descritos anteriormente.
Picture
Con las flechas del teclado selecciona tus opciones... 
* Log file y Log format son opcionales.

  1. P Port ...   Ingresa el puerto de comunicación del dispositivo USB, en este caso es el valor que anotamos de "Modem = /dev/ttyUSB1", entonces ingresa:   /dev/ttyUSB1
  2. *Log file ...  Indica la ubicación del log del modem /tmp/usbmodem.log
  3. *Log format ...  Define la información a mostrar en el log, selecciona "Errors"
  4. Graba la configuración

Con el siguiente comando verifica qué la configuración quede plasmada.  Revisa las últimas líneas de configuración de .gammurc, donde tiene que aparecer "port = /dev/ttyUSB1" y los demás cambios efectuados en la configuración.

cd ~ | cat .gammurc

Copia los parámetros de configuración en ROOT ... IMPORTANTE!

cd ~ | sudo cp .gammurc /root

Para finalizar la configuración de gammu identifiquemos el dispositivo...

gammu --identify

NOTA:  Si el comando gammu --identify falla por falta de permisos, reinicia el servidor y, a continuación, intenta ejecutar nuevamente.  Si persiste el problema, verifica que tu usuario tenga los permisos descritos anteriormente.

gammu --identify debe presentar algo parecido a este resultado, donde encuentra el dispositivo en /dev/ttyUSB1:


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dispositivo          : /dev/ttyUSB1
Fabricante           : ZTE CORPORATION
Modelo               : unknown (MF626)
Firmware             : BD_XXXXXX.0.1B0XXXX
IMEI                 : XXXXXXXXXXXXX
IMSI SIM             : XXXXXXXXXXXXX
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Es importante que comprobemos que el modem tiene disponibilidad para enviar mensajes.  Para ello ejecuta:

echo "Test" | gammu --sendsms TEXT NUMERO-A-ENVIAR-MENSAJE

NOTA: La ejecución de gammu tiene que ser sin SUDO, esto nos asegura que hemos dado permiso correctamente a los usuarios zabbix y MIUSUARIO.

Zabbix configuración USB Modem o Celular

Después de tener configurado nuestro dispositivo y configurado con Gammu para enviar SMS, vamos a crear un script para Zabbix que utilice Gammu para enviar las alertas.

Para esta script hemos tomado como guía el Blog de SysAdmin Notebook (Clic para ver más información)


Vamos a indicar en Zabbix que active
"AlertScriptsPath" en la configuración del server.  Este es un directorio predefinido en la instalación de Zabbix.  En dicho directorio vamos a crear nuestro script.

Editamos la configuración de Zabbix Server:

sudo nano /usr/local/etc/zabbix_server.conf

Localiza
"AlertScriptsPath" el cual esta comentado (#) y reemplaza con:

AlertScriptsPath=/usr/local/share/zabbix/alertscripts

Creamos el script

sudo nano /usr/local/share/zabbix/alertscripts/claro-modem.sh

Copia el siguiente script y graba

#!/bin/sh
HOME=/root
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LOGFILE="/tmp/zabbix-sms.log"
echo "Recipient='$1' Message='$3'" >> ${LOGFILE}
MOBILE_NUMBER=`echo "$1" | sed s#\s##`
# Log it
echo "echo $3 | /usr/bin/sudo /usr/bin/gammu --sendsms TEXT ${MOBILE_NUMBER}" >>${LOGFILE}
# Send it
echo "$3" | /usr/bin/sudo /usr/bin/gammu --sendsms TEXT "${MOBILE_NUMBER}" 1>>${LOGFILE} 2>&1
# EOF


Vamos a darle permiso de ejecución

sudo chmod +x /usr/local/share/zabbix/alertscripts/claro-modem.sh


Zabbix Activación de Script y configuración de Alertas

Este es el último paso el cual implica configurar desde el Entorno Web de Zabbix, las alertas SMS a través del script.

Creamos nuevo medio "Create media type"

Picture
Vamos a configurar el nuevo medio ...
Picture
  1. Description:  Define un nombre para este medio, en este caso lo nombramos claro-sms
  2. Type:  Selecciona Script
  3. Script name:  Coloca el nombre del script que creamos anteriormente y que se encuentra ubicado "/usr/local/share/zabbix/alertscripts".   NOTA:  Solo ingresa el nombre del script, en este ejemplo se llama claro-modem.sh
El siguiente paso es asignar a los usuarios el nuevo medio.   En la siguiente pantalla en el paso 3 seleccionamos "Users" y luego en el listado de usuarios hacemos clic en el nombre del usuario a configurar.
Picture
En "Configuration of user" vamos a parametrizar:
Picture
  1. Seleccionamos el TAB "Media"
  2. Con la opción Add agregamos el nuevo medio
  3. Type:  Selecciona La media que creamos, en este caso seleccionamos "claro-sms"
  4. Send to:  Ingresa un único número de teléfono al cual zabbix va a enviar las alertas vía SMS.
  5. Add:  Lo agregamos
  6. Para completar presiona "Save" con esto dejamos plasmada la configuración.

NOTA:  Si necesitas notificar a varios números de teléfono, debes de generar un usuario por número de teléfono.

Para finalizar nos aseguramos que este activa las notificaciones.

Picture
Para comprobar que las alertas funciona correctamente puedes reiniciar el servidor, el va a notificar vía SMS que el servidor Zabbix se ha reiniciado.

NOTA:  También puede utilizar para sus prueba el siguiente comando qué "Sobrecarga" los procesadores.

(Para detener presione ENTER):

fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & }; fulload; read; killall dd

Para DETENER presione ENTER

Hemos finalizado y a partir de este punto, queda a su creatividad el definir triggers y alertas.  Por ejemplo:

  • Puede crear un ITEM que haga de forma periódica ping a www.google.com, y definir un TRIGGER que este en constante revisión.
  • También crear un ITEM que capture el tiempo de respuesta del ping a www.google.com y definir un TRIGGER que alerte al ser muy alto el tiempo de respuesta.
  • Por último puede crear un ITEM que esté en constante revisión de su servidor de correo y las colas de entrega.

Las alertas vía SMS van a ser útiles cuando los enlaces de Internet estén inestable o nulas, lo cual va a permitirle anticiparse y así mejorar su tiempo de respuesta ante este tipo de eventualidades.

En fin, el cielo es el límite.   Cheers!



Finalizado, Zabbix Alertas SMS vía USB-Modem y Celulares GSM/CDMA

  • Zabbix Templates Cisco, NetAPP, Exchange, Printers, etc

Regresar

Picture
0 Comments



Leave a Reply.

    Editor:
    Juan Estuardo Hernandez

    Consultor Software Libre,
    Organización y Métodos.

    Acumular información es sólo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad.
    Henry Louis Gates, Jr.

    Condiciones de uso:

    El contenido del website 911-ubuntu y este artículo en particular, es “Libre” y puede ser consultado por quien lo desee.

    Por favor “No haga copias de nuestros artículos”.   Si desea compartirlo puede referir nuestras publicaciones como un enlace (Link), así las personas interesadas obtendrá nuestras últimas actualizaciones.

    Como todo en la vida, nada es perfecto, así que si observas algún error o  desea mejorar el contenido de estos artículos, puede enviarnos un mensaje el cual será bienvenido.  (Formulario al pie de página).

Creative Commons License
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License
Powered by Create your own unique website with customizable templates.
  • Principal
  • Ubuntu Oficina
  • Servidores
    • nethserver
    • Proxmox
    • Zabbix
    • fengoffice
    • ubuntu-server >
      • Control remoto
  • Links
  • Principal
  • Ubuntu Oficina
  • Servidores
    • nethserver
    • Proxmox
    • Zabbix
    • fengoffice
    • ubuntu-server >
      • Control remoto
  • Links