你的位置:首页 > 新闻动态 > 公司新闻

USB接口短信猫配合zabbix实现短信告警

2018-1-20 17:05:50      点击:
1:USB接口短信猫简介
所谓短信猫,其实是一种用来收发短信的设备,他和我们用的手机一样,需要手机SIM卡的支持,在需要收发短信的时候,在短信猫里面插入一张我们平时用的手机卡,插上电源,通过(USB或者串口、网口)数据线和电脑相连,在电脑的应用管理软件中就可以实现短信收发的功能!
USB短信猫

2:安装短信猫:拧上天线,放SIM卡,通过数据线和电脑连接,很简单不懂安装的咨询客服。

3:首先因为我的服务器是虚拟机,在VMware虚拟化上,这就涉及到物理机的USB口或者串口对虚拟机做映射,把短信猫安装在物理机后的USB口,在VMware客户端对USB口做映射,映射到虚拟机,基本思想

4.虚拟机命令行查看

详细配置参考:Linux下短信猫安装使用

  查看驱动设备

       # dmesg | grep ttyUSB 查看驱动设备以及内核记录 
        # usb 2-2.1: FTDI USB Serial Device converter now attached to ttyUSB0
        # ls /dev/ttyUSB*
        # /dev/ttyUSB0 

5. 通过gnokii调用短信猫来进行短信告警发送
     yum install gcc gettext perl-XML-Parser  glib* -y
     # tar zxf intltool-0.41.1.tar.gz
     # cd    tar zxf intltool-0.41.1
     # make  && make  install
     # tar -zxf gnokii-0.6.31.tar.gz
     # cd  gnokii-0.6.31
     # ./configure

     # make && make install
      #  which  gnokii
      # /usr/local/bin/gnokii

6. 将源码包里的: Docs/sample目录下的gnokiirc 文件(这个配置文件是gnokii的配 置文件)拷贝到/etc下,我的配置文件如下:
     [global]
      port = /dev/ttyUSB0  #短信猫所在接口[/color]
      model = AT
      initlength = default
      connection = serial
      use_locking = no
      serial_baudrate = 115200  #短信猫波特率,速易短信猫一般默认为115200
      smsc_timeout = 10
     [flags]
     [gnokii]
     [xgnokii]
     allow_breakage = 0
     [gnokiid]
     bindir = /usr/local/sbin/   #gnokii路径
     [connect_script]
     TELEPHONE = 13501080020
     [disconnect_script]
     [logging]
     debug = on
     rlpdebug = off
     xdebug = off
     [phone_fake]
     port = foobar
     model = fake
     connection = serial
     [fake_driver]
     sms_inbox = /tmp/sms 

7.测试短信猫
      # echo "短信测试" | gnokii  --sendsms  13501080020
8./usr/local/bin/gnokii --identify 这条也行

9.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 | /usr/local/bin/gnokii --sendsms $MOBILE_NUMBER ‘ >> $LOGFILE
       echo `` >> $LOGFILE

       # Send it
       echo ‘Sending Process:‘ >> $LOGFILE
       echo "$3" | /usr/local/bin/gnokii --sendsms "$MOBILE_NUMBER" 1>>$LOGFILE 2>&1

       #EOF
       DT=$(date +%F‘ ‘%T)
       echo "***************************STOP:$DT************************************" >> $LOGFILE
       echo -e ‘\n‘ >> $LOGFILE


      回到服务器命令行输入
       chown  -R zabbix:zabbix  /usr/local/bin/gnokii
       chown -R zabbix:zabbix /dev/ttyUSB0
      AlertScriptsPath=/usr/lib/zabbix/alertscripts  脚本的执行目录
      命令行输入
      把上面脚本贴到sms.sh 脚本 在给执行权限 chmod +x  sms.sh

9.在web页面添加脚本参数 zabbix3.0以上默认传递参数有三个
     {ALERT.SENDTO}     
     {ALERT.SUBJECT}   
     {ALERT.MESSAGE}

明确三个步骤:1.报警类型媒介

2.用户

3.动作




4.故障---恢复配置类似

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障  !!!
告警主机 : {HOSTNAME1}
告警时间 : {EVENT.DATE} {EVENT.TIME}
告警等级 : {TRIGGER.SEVERITY}
告警信息 :  {TRIGGER.NAME}
告警项目 : {TRIGGER.KEY1}
问题详情 : {ITEM.NAME}:{ITEM.VALUE}
当前状态 : {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID : {EVENT.ID}

希望我的总结能帮到你,欢迎大家指正