让我来告诉你短信猫怎么配合zabbix3.2发短信的

时间:2020-12-25 08:49:10

                zabbix利用短信猫发短信(总结)

  1. 短信猫简介

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

  2. 安装短信猫

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


4.虚拟机命令行查看

  查看驱动设备

       # 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 = 12345678
     [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  159xxxxx
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.报警类型媒介

让我来告诉你短信猫怎么配合zabbix3.2发短信的

2.用户

让我来告诉你短信猫怎么配合zabbix3.2发短信的

3.动作

让我来告诉你短信猫怎么配合zabbix3.2发短信的

让我来告诉你短信猫怎么配合zabbix3.2发短信的

让我来告诉你短信猫怎么配合zabbix3.2发短信的

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}

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


本文出自 “我姓韩却把温暖给了你” 博客,请务必保留此出处http://zabbixmiss.blog.51cto.com/11993283/1947845