因为公司运维的对象是政府单位,所以在实际的监控过程中无法连接到外网,所以最后报警选择的媒介是短信猫,下边就是具体的实施过程。

一、面临的问题

  因为手头上的设备是串口的短信猫,但是zabbix server端不支持,所以无法直接在服务器端挂载串口的短信猫,这样也就无法直接使用gnokii来调用,所以实施方案的选择上大体有两个,一个是在维持服务器端不变,使用一个中间的主机来挂载短信猫,再使用方法来调用短信猫。第二个就是直接在能够使用串口的主机上部署zabbix服务器。最后选择的方案是第二种,是为了保证报警的稳定性。

二、gnokii的安装 (借鉴了诡之轨迹的博客

//实现:在linux下通过短信猫发短信
 
//环境平台
CentOS5.4
intltool-0.41.1.tar.gz
gnokii-0.6.30.tar.gz
yum
 
//安装minicom及依赖包
yum -y install lockdev  minicom perl-XML-Parser
 
//编译安装intltool
tar zxvf intltool-0.41.1.tar.gz 
cd intltool-0.41.1
./configure
make
make install
 
//编译安装gnokii
tar zxvf gnokii-0.6.30.tar.gz
cd gnokii-0.6.30
./configure
make
make install
 
//配置minicom
/usr/bin/minicom -s
 
选择serial port setup

 
选择A( 按A键 ) 修改为
/dev/ttySO   
//ttyS0 为com口
选择E( 按E键 ) 修改为 
同样选择E,9600
回车
 
 
//保存配置,Save setup as dfl
 
//退出配置界面,Exit from Minicom
 
//测试minicom
/usr/bin/minicom
输入 AT 后回车,返回 ok 则成功
//退出minicom
按,[ Ctrl+A ] --> [ z ] --> [ x ]
 
//配置gnokii
mkdir -p /root/.config/gnokii
#cp /usr/local/share/doc/gnokii/sample/gnokiirc /root/.config/gnokii/config 
将源码包里的: Docs/sample目录下的gnokiirc 文件(这个配置文件是gnokii的配置文件)拷贝到/etc下.    //我是这么做的
vi /root/.config/gnokii/config
 
[global]
port = /dev/ttyS0
model = AT
initlength = default
connection = serial
use_locking = no
serial_baudrate = 9600
smsc_timeout = 10
 
[xgnokii]
allow_breakage = 0
 
[gnokiid]
bindir = /usr/local/bin/
 
[connect_script]
TELEPHONE = 12345678
 
[disconnect_script]
 
[logging]
debug = off
rlpdebug = off
xdebug = off
 
[phone_fake]
port = foobar
model = AT
connection = serial
 
[fake_driver]
sms_inbox = /tmp/sms
 
 
//测试gnokii
/usr/local/bin/gnokii --identify
 
[root@Nagios ~]# gnokii --identify
GNOKII Version 0.6.30
Cannot open logfile /root/.cache/gnokii/gnokii-errors
WARNING: cannot open logfile, logs will be directed to stderr
Lockfile /var/lock/LCK..ttyS0 is stale. Overriding it...
IMEI         : 351047888189814
Manufacturer : WAVECOM MODEM
No flags section in the config file.
Model        : MULTIBAND  900E  1800 
Product name : MULTIBAND  900E  1800 
Revision     : 641b09gg.Q2403A 132
 
三、部署完成后的问题
  在gnokii部署完成并测试完成后,遇到了一个问题,在做了action之后一直不给我发短信,于是我使用  echo test  | gnokii --sendsms  185********  &>> /home/zabbix/log.log 来查看到底执行的情况是什么,上边报的错是    无权限读取gnokii的相关文件,但是在实际的使用过程中,我已经都赋予了相关权限,百般无赖之下我使用的方法:
  首先使用visudo,添加   zabbix  ALL=(ALL)NOPASSWD:ALL 
  之后把脚本中的相关语句改成:  echo test | sudo -u root gnokii --sendsms 185******** &>> log.log 之后成功
 
四、总结
  现在仍然无法知道到底是什么原因导致的zabbix无法执行这个命令 ,希望大家谁知道告诉我下,不胜感激。
  ps:在测试中 ,su - zabbix 用户下可以使用gnokii发送短信  
     zabbix版本为3.0.3  

zabbix使用短信猫实现报警的更多相关文章

  1. zabbix实现电话、短信、邮件报警

    该报警方式提前说明:(1)该方式可以实现zabbix免费电话报警以及微信.短信.邮件报警,但有数量限制.详见如下:如数量不能满足需要以及人员需要,可以考虑购买收费版.(2)毕竟是免费版,电话通知要省着 ...

  2. Zabbix应用七:Zabbix发送短信报警

    Zabbix利用Python脚本调用短信API发送报警信息 一.先贴出python脚本: #!/usr/bin/python # _*_ coding:utf8 _*_ import sys impo ...

  3. 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案

    方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...

  4. 基于Socket客户端局域网或广域网内共享同一短信猫收发短信的开发解决方案

    可使同一网络(局域网或广域网)内众多客户端,共享一个短信猫设备短信服务器进行短信收发,短信服务器具备对客户端的管理功能. 下面是某市建设银行采用本短信二次开发平台时实施的系统方案图: 在该方案中,考虑 ...

  5. 短信猫 TIdTCPServer TIdTCPClient

    短信猫 服务端: IdTCPServer1: TIdTCPServer; IdAntiFreeze1: TIdAntiFreeze; unit UnitSever; interface uses Wi ...

  6. C# 短信猫(SMS cat) 操作源码开发经验

    我曾经开发的某项目需要使用短信猫模块,要求使用C#编程操作.能独立使用的动态链接库之一就是网上流传的sms.dll,但它的功能较少,不能满足需求,鉴于一时找不到合适的完整代码,我深入研究了短信协议,借 ...

  7. Java应用短信猫

    首先确定短信猫正常连接到主机,并安装SIM卡.先用超级终端测试短息猫能不能用.安装minicom:#sudo apt-get install minicom安装完成后,执行#sudo minicom ...

  8. wavecom短信猫常用AT命令

    wavecom短信猫常用AT命令 一.一般命令 1. AT+CGMI 给出模块厂商的标识. 2. AT+CGMM 获得模块标识.这个命令用来得到支持的频带 (GSM 900,DCS 1800 或PCS ...

  9. CDMA电信短信猫支持189等电信号码可二次开发

    CDMA电信短信猫支持189等电信号码可二次开发 这款短信猫采用法国wavecom Q2358C模块,支持短信猫二次开发,可提供短信猫二次开发包下载测试.提供相关资料文档. 此款CDMA电信短信猫有串 ...

随机推荐

  1. HihoCoder第七周:完全背包问题

    1043 : 完全背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说之前的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时 ...

  2. Redis集群环境之linux搭建多机版---已完结,跟着一步一步来你就可以集群成功

    上一篇踩着各种坑写了Redis集群环境之linux搭建单机版,这一篇准备就多机版集群进行搭建,主要目的一来是在上一篇的基础上进行精华提粹总结,二来是把单机版与多机版的区别进行记录. 首先软硬件环境: ...

  3. 【pwnable.kr】input

    这道题是一道一遍一遍满足程序需求的题. 网上其他的题解都是用了C语言或者python语言的本地调用,我想联系一下pwntools的远程调用就写了下面的脚本, 执行效果可以通过1~4的检测,到最后soc ...

  4. 自己手动实现简单的双向数据绑定 mvvm

    数据绑定 数据绑定一般就是指的 将数据 展示到 视图上.目前前端的框架都是使用的mvvm模式实现双绑的.大体上有以下几种方式: 发布订阅 ng的脏检查 数据劫持 vue的话采用的是数据劫持和发布订阅相 ...

  5. matlab和fortran混合编程

    matlab2016b+vs2010+ivf2013+f90 其实默认是f77语法,但通过配置可以改变为自由格式. 默认只能f77代码,怎样修改: https://ww2.mathworks.cn/m ...

  6. 060-PHP函数定义和调用

    <?php function add($x,$y){ //定义函数add return $x+$y; } echo add(15,6); //调用函数并输出结果 ?>

  7. 《新标准C++程序设计》3.8(C++学习笔记10)

    友元 友元分为友元函数和友元类两种. 一.友元函数 在定义一个类的时候,可以把一些函数(包括全局函数和其它类的成员函数)声明为“友元”,这样那些函数就成为该类的友元函数,在友元函数内部就可以访问该类对 ...

  8. oracle问题:char类型数据查询不到

    select distinct id,name from test_table b where b.ID='001' ; id为char字段类型,使用该语句查询不出数据. 解决方法:加trim().改 ...

  9. 【剑指Offer】面试题10- I. 斐波那契数列

    题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0,   F(1) = 1 F(N) = F(N - 1) + F(N - 2) ...

  10. 【剑指Offer】面试题10- II. 青蛙跳台阶问题

    题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返 ...