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:
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). 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 Configuración USB Modem o Celulares en Ubuntu Server 12.04Despué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 GammuGammu 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. Es 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. Con las flechas del teclado selecciona tus opciones... * Log file y Log format son opcionales.
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 AlertasEste 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" Vamos a configurar el nuevo medio ...
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. En "Configuration of user" vamos a parametrizar:
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. 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:
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
0 Comments
|
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). |