当前位置: > Linux服务器 > 监控工具 >

Nagios飞信报警

时间:2014-11-06 12:25来源:linux.it.net.cn 作者:IT

修改了Fetion0.3,使其用于nagios报警:

默认命令行需要提供至少4个参数(手机号,密码,to who,msg)

其实这个0.3版本的pyfetion支持保存加密后的密码到配置文件里面的,所以在使用前先登录一下,用save保存密码,下次完全不要输入了,没有必要把明文密码写道命令行里面。

修改如下,算是做个记录

497行左右,找到

if len(argv) == 3:

这一段,修改为


  1. if len(argv) == 2:  
  2.  
  3. target = None 
  4.  
  5. msg = argv[1]  
  6.  
  7. elif len(argv) == 3:  
  8.  
  9. target = argv[1].lower()  
  10.  
  11. msg = argv[2]  
  12.  

找到544行

if target and target.isdigit():

改为:


  1. #修改适应一个参数  
  2.  
  3. ret = False 
  4.  
  5. if target and target.isdigit():  
  6.  
  7. if len(target) == 11:  
  8.  
  9. ret = phone.send_sms(toUTF8(msg), 'tel:%s' % target)  
  10.  
  11. else:  
  12.  
  13. ret = phone.send_msg(toUTF8(msg), 'sip:%s@fetion.com.cn' % target)  
  14.  
  15. elif not target and len(msg) != 0:  
  16.  
  17. ret = phone.send_sms(toUTF8(msg))  
  18.  
  19. if ret:  
  20.  
  21. printl("消息发送成功")  
  22.  
  23. else:  
  24.  
  25. printl("消息发送失败")  
  26.  
  27. printl("飞信退出")  
  28.  
  29. return 1  
  30.  

用法变为:

fetion.py [towho] [msg]

[towho]为空发给自己。

还有CentOS自带的Python太老,运行不起来。

这版本依赖pyDes,如果使用Active Python,可以使用easy_install安装

 


  1. /opt/ActivePython-2.6/bin/easy_install pyDes  
  2.  
  3. sendsms.sh  
  4.  

Nagios飞信报警配置OK。

 
(责任编辑:IT)
------分隔线----------------------------