系统监控:linux命令行-飞信客户端发送免费报警短信
一、软件环境(centos 5为例)
这里向大家推荐的是飞信机器人的软件,支持linux、命令行下的飞信、完全免费(目前为止);
官网地址:http://www.it-adv.net/
支持库安装:
需要Glibc2.4以上的版本;centos5默认安装的Glibc2.5,所不需要额外升级;
目前网上的安装文档只有ubuntu的,至于redhat、fedora、centos都没有相关安装文档,我在安装的过程中遇到很多库的问题,所以在这里一并给大家进行介绍;
二、安装过程
下载包地址 LINUX X86/32(REDHAT ES4X32):支持库 最新程序fetion20080522004-linrh4.tar.gz
其中支持库和安装包内容如下:
libACE-5.6.5.so
libACE_SSL-5.6.5.so
libcrypto.so.0.9.7a
libssl.so.0.9.7a
# tar zxvf fetion20080522004-linrh4.tar.gz
./install/
./install/www/
./install/www/index.html
./install/www/css/
./install/www/css/scheme.css
./install/www/css/main.css
./install/www/css/print.css
./install/www/css/main-msie.css
./install/www/images/
./install/www/js/
./install/www/js/jquery.js
./install/socket_interface/
./install/socket_interface/socket_demo.php
./install/Readme.txt
./install/sound/
./install/sound/smile8.wav
./install/sound/message.wav
./install/sound/smile1.wav
./install/sound/login.wav
./install/sound/openchatwin.wav
./install/sound/closechatwin.wav
./install/fetion
./install/plugins/
./install/plugins/plugin_contact_update
./install/plugins/plugin_buddy_application
./install/plugins/plugin_message
./install/plugins/plugin_invite
./install/plugins/plugin_timer
./install/conf/
把支持库复制到/usr/lib/目录下,并作软链接如下:
ln -s /usr/lib/libcrypto.so.0.9.7a /usr/lib/libcrypto.so.4
ln -s /usr/lib/libssl.so.0.9.7a /usr/lib/libssl.so.4
设定lib库配置文件
#增加一条
/usr/lib/
#保存退出后,执行
#ldconfig
fetion的目录结构:
.\Readme.txt: 本说明文件
.\fetion:主程序
.\sound\*.wav:各种音效文件,您可以用自己喜欢的文件替换
.\plugins\plugin_*: 插件程序,您可以修改插件以达到自己的各性化需求
我在安装中遇到缺少krb5的库问题,这里写一下解决方法:
错误如下:
./fetion: error while loading shared libraries: libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
安装一下krb5-libs包就可以解决啦:
完成之后测试,安装是否成功;执行
# ./fetion -h
Usage:
fetion -h
-h: help
fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
-u: Fetion user account(only supports mobile phone No.)
-p: Account password
-b: Batch file name
-d: Debug on and write logs to [mobile]-debug.log
-EN: English
三、实际测试
登录飞信默认是中文utf8的,如果linux系统不支持utf8会出现乱码:我使用english的方式来登录啦。
测试帐号:13713718888
密码:123456 (如果密码中含有特殊字符,请使用单引号)
登录后输入?获得帮助
指令 指令说明
list 好友列表: list
sms 发送短信: sms 飞信号/手机号/编号 短信内容(换行请用\n代替)
chat 在线消息: chat 飞信号/手机号/编号 短信内容(换行请用\n代替)
status 在线状态: status online/busy/away/hidden [个性化信息]
add 添加好友: add 飞信号/手机号 申请信息 本地呢称
del 删除好友: del 飞信号/手机号/编号
invite 邀请好友: invite 手机号 您的姓名(邀请好友开通飞信)
autoaccept 自动接受: autoaccept on/off/status 自动接受加为好友申请
myinfo 修改资料: myinfo nickname/impresa 内容(呢称/心情)
help 帮助菜单: help/?
exit 退出系统: quit/exit
****************************************************************
sms 137******** "this is test message" # 这个就是我们需要的发送短信的指令啦!
脚本测试:
可以使用fetion的-b参数来实现p处理;
举例如下:
# vi p.sh
sms 13712312311 “msyqlserver is down”
sms 13712312312 “db1 is not running”
sms 13712312313 “warning db2 disk3 is full”
保存后执行:
./fetion -u 13713718888 -p 123456 -b p.sh
就是一次给3个admin发出报警信息。
还有许多插件的功能,我会在下次实际应用中写出日志和大家一起研究;
在初步接触中,发现可以实现一些交互信息的查询,比如直接向短信机器人发指令得到某台服务器的运行状态等。
7月 30th, 2008 at 3:29 下午
期待Field更新fetion的交互信息
7月 31st, 2008 at 1:47 下午
哈哈,博主这么快啊!
7月 31st, 2008 at 1:51 下午
看到网上有人写了个perl的shell:
#!/usr/bin/perl
use strict;
use Fcntl qw(:flock);
open SMS, “>/home/sms/sms.txt” or die “NO OK”;
flock(SMS,LOCK_EX);
my $mobile=pop;
print SMS “sms $mobile @ARGV\n”;
print SMS “quit\n”;
system “/home/sms/fetion -u 飞信手机号 -p 密码 -b /home/sms/sms.txt”;
#unlink “/home/sms/sms.txt”;
flock(SMS,LOCK_UN);
close SMS;
#unlink “/home/sms/sms.txt”;
7月 31st, 2008 at 5:27 下午
我已经利用机器人,成功发报警消息:
要先把机器人运行起来!
define command {
command_name service-notify-by-sms
command_line wget http://localhost:40000/API/buddy/sms/0/“‘$HOSTADDRESS$’ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$” $CONTACTPAGER$
}
7月 31st, 2008 at 6:20 下午
还有一个更好的办法 就是修改它自带的timer、message两个插件来完成自动监控和机器交互式操作。
一会写这方面的应用。
我们blog里的John已经在windows下成功试验。
10月 4th, 2008 at 2:07 上午
哎,道行太低,还急忙看不懂,