Nagios飞信linux系统免费短信报警配置
本人声明如需转载请保留如下信息:
作者:SOLARIS小兵
MAIL:[email]solarisxb@hotmail.com[/email]
BLOG:http://solarisxb.cublog.cn/
一、 前言:
1、 nagios是一个非常好的系统监控工具,现在我的nagios系统已经正常运行,使用短信猫和邮件可以报警。使用飞信可以节约我们的短信猫和短信费用。
2、 飞信首先手机要开通中国移动的飞信业务。目前使用飞信发送短信是免费的。需要把接受短信的手机和飞信发送手机加为好友。
3、 下载飞信的linux客户端程序.解开包后只有一个文件sms。不错。这个就是飞信发送短信的程序啦。现在的飞信还是不能用的。因为它需要libace的glibc库的支持。
二、 飞信linux程序下载:
1、 飞信官方网站:http://www.it-adv.net/
2、 飞信官方命令下载:sms
http://www.it-adv.net/fetion/fetion_linux_20080402.tar.gz
3、 飞信官方lib库下载:
32位官方lib库:http://www.it-adv.net/fetion/library32.rar
64位官方lib库:http://www.it-adv.net/fetion/library64_linux.tar.gz
三、 飞信程序测试:
1、 飞信命令测试:
# wget http://www.it-adv.net/fetion/fetion_linux_20080402.tar.gz
# tar xvfz fetion_linux_20080402.tar.gz
# cp sms /usr/bin
# sms -h
sms -f mobile -p pwd -t mobile1,.. -m message -a message -d
sms -f mobile -p pwd -t mobile1,.. -i file_name[utf8] -a invite_message -d 1
-f:Fetion mobile account(only supports mobile phone No.)
-p:Account password
-t:Destination mobile list
-m:Message
-i:File name(only supports utf8)
-a:Auto send invite using invite_message.
-d:Debug on.
如果没有安装lib库,将会提示 缺少libACE.so.5.4.7包
四、 解决缺少lib库的方法:
说明: 在centOS5下装提示需要libACE.so.5.4.7这个库,千万不要自己去安装ACE包,很麻烦,官方已经给了liunx的下载版本:
1.先检查一下缺少的lib文件
[root@nagios libexec]# ldd sms
linux-gate.so.1 => (0x00b00000)
libACE.so.5.4.7 => not found
libACE_SSL.so.5.4.7 => not found
libssl.so.0.9.8 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x02a05000)
libm.so.6 => /lib/libm.so.6 (0x00cd4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x029f7000)
libc.so.6 => /lib/libc.so.6 (0x00b92000)
/lib/ld-linux.so.2 (0x001c3000)
2.下载lib库:
32位官方lib库:http://www.it-adv.net/fetion/library32.rar
64位官方lib库:http://www.it-adv.net/fetion/library64_linux.tar.gz
3、安装lib库
[root@nagios library32]# ls
libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8
[root@nagios library32]# cp *.* /lib/
[root@nagios library32]# cp *.* /usr/lib/
4、测试sms:
[root@nagios libexec]# ./sms
************************ IMPORTANT STATEMENT ************************
** **
** PLEASE DON'T USE THIS SOFTWARE TO SEND JUNK SHORT MESSAGES. **
** OTHERWISE PLEASE BEAR YOUR OWN CONSEQUENCES. **
** **
** [version:2008-4-2] **
*********************************************************************
This program is for sending short messages via CMCC Fetion!
[url=http://www.fetion.com.cn/]http://www.fetion.com.cn/
AUTHOR:KelvinHan MSN/EMAIL:shichangguo@msn.com 2008/3/8
Usage:
sms -f mobile -p pwd -t mobile1,.. -m message -a message -d
sms -f mobile -p pwd -t mobile1,.. -i file_name[utf8] -a invite_message -d 1
-f:Fetion mobile account(only supports mobile phone No.)
-p:Account password
-t:Destination mobile list
-m:Message
-i:File name(only supports utf8)
-a:Auto send invite using invite_message.
-d:Debug on.
五、 Nagios飞信测试:
1、 需要注册一个可以使用飞信的手机号码,测试期间可以自己发送给自己做测试。
2、 给别的手机发飞信,需要给把手机绑定为好友。
3、 飞信环境解决了,发短信测试一下
136933XXXXX为发飞信的注册手机号码
136833XXXXX、36733XXXXX 为接收飞信短信的手机号码
[root@nagios libexec]# ./sms -f 136933XXXXX -p password -t 136833XXXXX -m hello,this is test
也可以要发的消息在一个文本文件里,如 message.txt
./sms -f 136933XXXXX -p password -t 136833XXXXX,136733XXXXX -i message.txt
如果接收短信的手机号码在你的好友列表里,就会发送成功。
如果不在好友列表里,发送是不成功的。如果你想让程序邀请他们加入,那么就用 -a 参数
sms -f 136933XXXXX -p password -t 136833XXXXX,136733XXXXX -m 你好,飞信 -a UBUNTU
这样,对方就会收到移动发的确认短信。
六、 Nagios配置:
1、 nagios命令配置commands.cfg:
more /usr/local/nagios/etc/commands.cfg
define command{
command_name notify-service-by-sms
command_line /usr/bin/sms -f 13901111111 -p 562128 -t $CONTACTPAGER$ -m "$HOSTNAME$ $SERVICEDESC$ is $SERVICESTATE$
on $TIME$ result is $SERVICEOUTPUT$" $CONTACTPAGER$
}
2、 nagios发送配置contacts.cfg:
[root@nagios ~]# more /usr/local/nagios/etc/contacts.cfg
define contact{
contact_name sa
alias system admin
host_notification_period 24x7
service_notification_period 24x7
host_notification_options d,r,
service_notification_options c,w,r
service_notification_commands notify-service-by-email,notify-service-by-sms
# service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
# email [email]1234@sina.com[/email]
pager 158010775111
}
[root@nagios ~]#
七、 备注:
[size=5][color=Orange]添加内容:现在新的lib库,测试以后在32位和64位操作系统都可以使用!!
测试系统:centos 5.2
wget http://www.it-adv.net/fetion/lib_lin_32.tar.gz[/color][/size]
[ 本帖最后由 solaris小兵 于 2008-12-24 14:26 编辑 ]
fetion_linux_20080402.tar.gz
library32.rar
library64_linux.tar.gz
kouxiaoming 回复于:2008-12-04 19:09:29
沙发!!!哈哈!顶顶顶!!!!
kns1024wh 回复于:2008-12-04 21:20:34
你的系统如果是使用的32位,那是可以的,64位上存在一个gcc版本的问题,不过在64为上是可以使用32位的
还有你这里将飞信改名sms了 呵呵,不要误导呀。
有时间交流下
老男孩不老 回复于:2008-12-04 23:20:37
佩服一楼的,不过感觉有点麻烦啊,效果如何呢?
139.com的信箱就蛮好的。不限制短信数。
现在也有免费的手机邮箱
zhj198769 回复于:2008-12-05 11:22:53
值得试一下啊。。。。。。
yingqiba 回复于:2008-12-05 21:43:37
淘宝店应该怎样进行运行和维护呢?
jiang2798 回复于:2008-12-06 18:30:49
不错的东西
mageguoshi 回复于:2008-12-08 11:56:03
灰常好啊。顶一个咯!
pei5 回复于:2008-12-11 15:50:31
思想挺好,可惜就是大集群化的服务器监控,这样部署太繁琐了吧,反应也慢咯
evil_knight 回复于:2008-12-16 23:12:54
我用的139信箱,呵呵!不知道有啥限制没,也是免费的!
vienna2018 回复于:2008-12-18 09:13:18
监控好东东!
ruochen 回复于:2008-12-25 08:15:30
非常不错
stionmel 回复于:2009-01-03 19:35:43
楼主,如果你的出口都断掉了你有怎么办呢???:em03: :em03: :em03: :em03:
shulei521 回复于:2009-01-09 15:57:27
找个时间玩玩!
ldw21cn 回复于:2009-01-13 13:49:25
好贴,支持你!
一直用的邮箱的短信提醒来接收报警信息~
huifeideluotuo 回复于:2009-01-15 09:43:35
用139的邮箱挺好的,如果要加冗余的话,再用飞信
ruochen 回复于:2009-01-15 11:57:54
这个好
省很多银子
dashan79 回复于:2009-02-25 12:26:25
好,有空一定要做个测试,对维护来讲很有用!
dashan79 回复于:2009-02-25 12:33:07
思想挺好,可惜就是大集群化的服务器监控,这样部署太繁琐了吧,反应也慢咯
不会繁琐,如果改造一下,我想你可以专门放在一台机器上,开个接口,然后其他的机器出先问题,直接把日志信息发到这个机器上,通过这个机器转发出来。这样也集中好管理。
但是前提,你这个机器必须没问题。
dashan79 回复于:2009-04-17 11:10:54
佩服一楼
xyn8012 回复于:2009-05-26 16:27:58
大侠们救命啊!
我下载了fetion_linux_20080402.tar.gz,解压缩后生成一个的文件,sms -h检测后提示“sms: error while loading shared libraries: libACE.so.5.4.7: wrong ELF class: ELFCLASS64”,我没去理会,继续解压library64_linux.tar.gz,生成4个文件“libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8”,把这个4个文件复制到cp *.* /lib/和cp *.* /usr/lib/(我用的是64位的系统,同事也把这些文件拷到了/lib64和/usr/lib64/下)然后ldd sms。任然提示没有找到。请给位帮忙。
linux-gate.so.1 => (0xffffe000)
libACE.so.5.4.7 => not found
libACE_SSL.so.5.4.7 => not found
libssl.so.0.9.8 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00c60000)
libm.so.6 => /lib/libm.so.6 (0x00a2b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00aff000)
libc.so.6 => /lib/libc.so.6 (0x008c6000)
/lib/ld-linux.so.2 (0x008a8000)
|