您想了解如何使用配置Zabbix SMS通知设置吗? 在本教程中,我们将向您展示如何使用USB GSM调制解调器激活警报触发器时将Zabbix配置为发送SMS消息。

•Ubuntu版本:18.04
•Zabbix版本:3.4.12
•USB GSM调制解调器:DWM-221

本教程仅在您使用USB GSM调制解调器时才有效。

小心,有些设备看起来像USB调制解调器,但是像DWR-910这样的USB路由器。

硬件清单:

以下部分介绍了用于创建此Zabbix的设备列表。

上面列出的每一件硬件都可以在亚马逊网站上找到。

Zabbix Playlist:

在此页面上,我们可以快速访问与Zabbix相关的视频列表。

不要忘记订阅我们命名的youtube频道 FKIT.

Zabbix相关教程:

在此页面上,我们提供了与Zabbix相关的教程列表的快速访问。

教程 - 从命令行发送短信

首先,我们需要将USB GSM调制解调器连接到运行Ubuntu Linux的计算机。

连接USB GSM调制解调器后,您需要验证系统是否检测到设备。

使用以下命令验证系统是否检测到USB GSM调制解调器。

# lsusb

Bus 002 Device 002: ID 8087:8001 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 2001:a406 D-Link Corp. ***HERE***

系统检测到Dlink的USB设备已连接到计算机。

现在,我们需要验证Linux内核分配给设备的设备类型。

使用以下命令验证系统分配的设备类型。

# dmesg

[ 615.241221] usb 3-1: USB disconnect, device number 4

[ 643.023683] usb 3-1: new high-speed USB device number 5 using xhci_hcd

[ 643.173168] usb 3-1: New USB device found, idVendor=2001, idProduct=a406

[ 643.173169] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[ 643.173170] usb 3-1: Product: Mobile Connect

[ 643.173171] usb 3-1: Manufacturer: Mobile Connect

[ 643.173172] usb 3-1: SerialNumber: 0123456789ABCDEF

[ 643.173939] usb-storage 3-1:1.0: USB Mass Storage device detected

[ 643.174216] scsi host6: usb-storage 3-1:1.0

[ 644.188294] scsi 6:0:0:0: Direct-Access SD Storage 0000 PQ: 0 ANSI: 2

[ 644.188982] scsi 6:0:0:1: CD-ROM Mass Storage 0000 PQ: 0 ANSI: 2

[ 644.189313] sd 6:0:0:0: Attached scsi generic sg1 type 0

[ 644.190462] sd 6:0:0:0: [sdb] Unit Not Ready

[ 644.190465] sd 6:0:0:0: [sdb] Sense Key : Illegal Request [current][ 644.190467] sd 6:0:0:0: [sdb] Add. Sense: Invalid command operation code

[ 644.190785] sr 6:0:0:1: [sr0] scsi-1 drive

[ 644.190915] sr 6:0:0:1: Attached scsi CD-ROM sr0 ***

系统将USB GSM调制解调器检测为名为sr0的CDRom统一。

使用以下命令弹出CDRom unity sr0。

# eject sr0

弹出伪CDRom驱动器后,等待10秒再次使用dmesg命令。

# dmesg

[ 1270.366092] usb 3-1: New USB device found, idVendor=2001, idProduct=7e19

[ 1270.366094] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[ 1270.366096] usb 3-1: Product: Mobile Connect

[ 1270.366098] usb 3-1: Manufacturer: Mobile Connect

[ 1270.366099] usb 3-1: SerialNumber: 0123456789ABCDEF

[ 1270.367882] option 3-1:1.0: GSM modem (1-port) converter detected

[ 1270.368033] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0 ***HERE***

[ 1270.368183] option 3-1:1.1: GSM modem (1-port) converter detected

[ 1270.368299] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1 ***HERE***

[ 1270.368437] option 3-1:1.2: GSM modem (1-port) converter detected

[ 1270.368541] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2 ***HERE***

[ 1270.368681] option 3-1:1.3: GSM modem (1-port) converter detected

[ 1270.368787] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB3 ***HERE***

使用以下命令安装所需的软件。

# apt-get update
# apt install wvdial

使用wvdialconf命令检测GSM通信。

# wvdialconf

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1 S2 S3 S4 S5 S6 S7 S8
Modem Port Scan<*1>: S9 S10 S11 S12 S13 S14 S15 S16
Modem Port Scan<*1>: S17 S18 S19 S20 S21 S22 S23 S24
Modem Port Scan<*1>: S25 S26 S27 S28 S29 S30 S31
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer:
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer:
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB3<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB3<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ***HERE***
ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ***HERE***

以下是wvdialconf命令检测到的快速摘要:

•端口ttyUSB1使用9600速度和AT通信正常
•端口ttyUSB2使用9600速度和AT通信正常

现在,我们知道以下接口之一可能用于发送SMS:

•端口ttyUSB1
•端口ttyUSB2

使用以下命令安装Gammu软件。

# apt-get install gammu

gammu-config命令用来配置与GSM modem的通信。

# gammu-config

这是原始的Gammu配置。

Gammu default configuration

这是新的Gammu配置。

Gammu configuration

单击保存选项以完成配置。

在我们的示例中,我们使用以下配置:

•端口 - / dev / ttyUSB2
•连接 - 在
•同步时间 - 没有

使用以下命令发送SMS消息:

# echo "Dragon Ball super is Awsome!" | gammu --sendsms TEXT 5521999998877

If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=233

如果测试成功,你很高兴。

如果测试不成功,则需要使用gammu-config命令并将ttyUSB2更改为另一个ttyUSB接口。

我们能够以ROOT用户身份发送短信。

现在我们需要能够以Zabbix用户身份发送SMS。

使用以下命令将Zabbix用户添加到“拨出”组。

# usermod -a -G dialout zabbix
# groups zabbix

zabbix : zabbix dialout

使用以下命令创建发送SMS消息的脚本。

# mkdir /scripts
# touch /scripts/sms.sh
# vi /scripts/sms.sh

这是sms.sh文件的内容。

#!/bin/bash
MODEM=/dev/ttyUSB2
NUMBER=$1
shift 1
TEXT=$*

echo -e -n "AT+CMGF=1 \015" > $MODEM
echo -e -n "AT+CMGS=\"$NUMBER\" \015" > $MODEM
echo -e -n "$TEXT \015" | cut -c1-150 | tr -d '\n' > $MODEM
echo -e -n "\032" > $MODEM
echo To: $NUMBER
echo Text: $TEXT
echo SMS sent.

在我们的示例中,我们将USB调制解调器配置为/ dev / ttyUSB2。

以Zabbix用户身份登录并尝试使用以下命令发送SMS:

# chmod 777 /scripts/sms.sh
# chown zabbix.dialout /scripts/sms.sh
# su zabbix
$ ./scripts/sms.sh 552199999999 Shingeki no Kyojin is a great manga!!!

如果您能够使用Zabbix用户发送SMS消息,则可以转到本教程的下一部分。

教程 - Zabbix SMS通知设置

打开浏览器并输入Web服务器的IP地址和/ zabbix。

在我们的示例中,在浏览器中输入了以下URL:

•http://35.162.85.57/zabbix

在登录屏幕上,使用默认用户名和默认密码。

•默认用户名:Admin
•默认密码:zabbix

zabbix login

成功登录后,您将被发送到Zabbix仪表板。

zabbix dashboard

在仪表板屏幕上,访问“管理”菜单并选择“媒体类型”选项。

Zabbix media type menu

找到并单击名为SMS的选项。

Zabbix Media Type

在SMS属性屏幕上,您需要输入以下配置。

•GSM调制解调器 - 进入USB GSM调制解调器接口。

在配置之前,这是原始图像。

Zabbix Media Type SMS

这是我们配置的新图像。

•GSM调制解调器 - / dev / ttyUSB2

Zabbix Media Type SMS GSM

单击“更新”按钮。

在仪表板屏幕上,访问“配置”菜单并选择“操作”选项。

zabbix action menu

找到并选择名为:向Zabbix管理员报告问题

要启用此操作,您需要单击红色的“禁用”一词。

zabbix enable email notification

它将以绿色启用“已启用”一词。

zabbix enable email notification status

这将配置Zabbix向作为Zabbix Administrator组成员的用户发送SMS通知。

默认情况下,只有用户Admin是Zabbix管理员组的成员。

默认情况下,管理员用户没有与该帐户关联的电话号码。

现在,我们需要将电话号码与管理员帐户相关联。

以管理员用户身份登录Zabbix Web界面。

在屏幕的右上角,访问用户配置文件设置。

Zabbix Profile Settings

在用户配置文件屏幕上,访问“媒体”选项卡并添加新的SMS配置。

这是我们配置的图像。

Zabbix user profile add phone

以下是Admin用户SMS配置的摘要。

Zabbix user Profile Media SMS

恭喜! 您已配置Zabbix服务器SMS通知

教程 - 测试Zabbix通知

现在,我们将向您展示如何测试触发器通知配置。

在我们的示例中,我们将创建一个假的ICMP问题。

在仪表板屏幕上,访问“配置”菜单并选择“主机”选项。

zabbix add host

在屏幕的右上角,单击“创建主机”按钮。

Zabbix Create Host

在主机配置屏幕上,您必须输入以下信息:

•主机名 - TEST
•可见主机名 - TEST
•新组 - 测试
•代理接口 - 5.5.5.5

Zabbix Test notification

访问“模板”选项卡并添加以下模板。

•模板模块ICMP Ping

Zabbix mail Trigger Test

完成主机配置后,返回Zabbix仪表板初始屏幕并等待5分钟。

等待ICMP问题触发器激活。

Zabbix test trigger

看看你的手机短信。

检查Zabbix服务器是否向您发送了报告此问题的SMS通知。

Zabbix SMS

恭喜! 您已成功测试了Zabbix SMS通知。