zabbix使用短信猫实现报警

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

一、面临的问题

  因为手头上的设备是串口的短信猫,但是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
zabbix使用短信猫实现报警
 
选择A( 按A键 ) 修改为
/dev/ttySO   
//ttyS0 为com口
选择E( 按E键 ) 修改为 
同样选择E,9600
回车
zabbix使用短信猫实现报警
 
 
//保存配置,Save setup as dfl
zabbix使用短信猫实现报警
 
//退出配置界面,Exit from Minicom
zabbix使用短信猫实现报警
 
//测试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  
上一篇:IOS程序开发中-跳转到 发送短信界面 实现发短信


下一篇:图的BFS代码