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

一、面临的问题

  因为手头上的设备是串口的短信猫,但是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. Oracle SQL存储过程结构、异常处理示例

    -- 存储过程结结构. -- EXCeption不是存储过程必须部分,可以用作本存储过程的异常处理,但如果没有异常处理,出了异常将会终止程序 CREATE PROCEDURE procedure_na ...

  2. C#验证码 使用GDI绘制验证码

    首先展示一下效果图如下: C#中的GDI特别方便,很多方法我们只要简单的调用就可以实现很复杂的功能.具体实现过程如下: 首先创建一个windows窗体应用(测试使用,实际开发winform程序时在需要 ...

  3. String巩固

    About String in Java 如今做了一个重大决定,不定期温习The Basement Of Java String对象的认知简述 首先 String不属于 8种基本数据类型, Strin ...

  4. [转]SparkSQL的自适应执行---Adaptive Execution

    1 背景 本文介绍的 Adaptive Execution 将可以根据执行过程中的中间数据优化后续执行,从而提高整体执行效率.核心在于两点 执行计划可动态调整 调整的依据是中间结果的精确统计信息 2 ...

  5. Python 正则表达式(RegEx)

    版权所有,未经许可,禁止转载 章节 Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(Str ...

  6. hdu 2578 Dating with girls(1) 满足条件x+y=k的x,y有几组

    Dating with girls(1) Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  7. 使用jackson转换类型时报Unrecognized field

    调用 objectMapper.convertValue(obj, valueType ); 时报错 原因 obj 的属性多于 valueType 导致,添加一条语句即可 objectMapper.c ...

  8. 2020/2/17 zzcms8.2 PHP代码审计

    0x00 看网站结构 ********************************* * * * ZZCMS产品版目录结构 * * * ****************************** ...

  9. mysql与mariadb性能测试方法

    本方法来自于阿里云的MySQL性能白皮书,原文地址:https://help.aliyun.com/document_detail/35264.html?spm=a2c4g.11174359.6.77 ...

  10. C语言预处理理论

    C语言预处理理论1.从源码到可执行文件的过程(1)源码.c->(编译)->elf可执行程序(2)源码.c->(编译)->目标文件.o->(链接)->elf可执行程序 ...