zabbix通过gnokii调用短信猫发送短信告警
使用zabbix以来,刚开始想直接通过zabbix调用短信猫来进行短信告警发送,但一直没有成功,后来就通过gnokii调用短信猫来进行短信告警发送,下面是我配置gnokii发短信告警的方法:
1,首先将短信猫插入在服务器中,可以通过执行‘dmesg | grep ttyUSB’查看是否发现短信猫:
代码: 全选
# dmesg | grep ttyUSB
# usb 2-2.1: FTDI USB Serial Device converter now attached to ttyUSB0
# ls /dev/ttyUSB*
# /dev/ttyUSB0
2,安装gnokii,我使用的是‘gnokii-0.6.31.tar.gz’
gnokii-0.6.31.tar.gz
(1.6 MiB) 被下载 5 次
代码: 全选
# tar -zxf gnokii-0.6.31.tar.gz
# ./configure
# make && make install
# whereis gnokii
# gnokii: /usr/local/bin/gnokii
3,配置gnokii
将源码包里的: Docs/sample目录下的gnokiirc 文件(这个配置文件是gnokii的配 置文件)拷贝到/etc下,我的配置文件如下:
代码: 全选
# cat /etc/gnokiirc | grep -v '#' | grep -v ^$
[global]
port = /dev/ttyUSB0 #短信猫所在接口[/color]
model = AT
initlength = default
connection = serial
use_locking = no
[color=#FF4000]serial_baudrate = 9600 #短信猫波特率,国内一般默认为9600
smsc_timeout = 10
[flags]
[gnokii]
[xgnokii]
allow_breakage = 0
[gnokiid]
bindir = /usr/local/sbin/ #gnokii路径
[connect_script]
TELEPHONE = 12345678
[disconnect_script]
[logging]
debug = on
rlpdebug = off
xdebug = off
[phone_fake]
port = foobar
model = fake
connection = serial
[fake_driver]
sms_inbox = /tmp/sms
3,测试短信猫
代码: 全选
# echo "短信测试" | gnokii --sendsms 138xxxxxxxx
4,zabbix通过调用gnokii脚本,执行短信发送,我的脚本如下,比较简单,欢迎大家的指正:
代码: 全选
#!/bin/bash
#SMS with gnokii
PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin/
export LANG=en_US.UTF-8
LOGFILE='/tmp/zabbix_sms.log'
DT=$(date +%F' '%T)
echo "***************************START:$DT************************************" >> $LOGFILE
echo 'Recipient='$1'' >> $LOGFILE
echo 'Subject='$2'' >> $LOGFILE
echo 'Message='$3'' >> $LOGFILE
echo `` >> $LOGFILE
MOBILE_NUMBER=`echo "$1"`
# Log it
echo 'Send Command:' >> $LOGFILE
echo 'echo $3 | gnokii --sendsms $MOBILE_NUMBER ' >> $LOGFILE
echo `` >> $LOGFILE
# Send it
echo 'Sending Process:' >> $LOGFILE
echo "$3" | gnokii --sendsms "$MOBILE_NUMBER" 1>>$LOGFILE 2>&1
#EOF
DT=$(date +%F' '%T)
echo "***************************STOP:$DT************************************" >> $LOGFILE
echo -e '\n' >> $LOGFILE
注意,在我的脚本中添加了‘export LANG=en_US.UTF-8’,如果你的系统编码是en_US.UTF-8则不需要,如果不是在发送短信时中文会无法解析,发出的后短信内容为空,这个问题当初给我增加了一些麻烦,当初我那台服务器是同事配置,它默认安装时选择的是中文
5,配置zabbix
首先在media types中创建,类型为脚本,然后输入脚本名称;
然后去Users中为用户添加media,并设备手机号
最后去配置一个actions,并且测试。
到此zabbix通过gnokii调用短信猫发送短信告警基本上配置完成了,如果大家在配置过程中有问题,随时可以在论坛或群里讨论,如果大家有谁通过zabbix直接调用短信猫并成功的,希望能共享出来,谢谢!
转载于:https://blog.51cto.com/penghb/1344991