nagios利用移动飞信报警,可是移动飞信总是经常换协议,导致我们这些利用飞信报警的工程师很恼火,可是没有办法,许多用飞信的朋友,在2010年7月25号后,飞信又是不能发信息了,因为飞信的协议又有些变化:

飞信2010在7月25日未升级之前支持通过下面的URL为完成SSI认证: https://uid.fetion.com.cn/ssiportal/SSIAppSignIn.aspx?mobileno=13888888888&pwd=PASSWORD 这里的PASSWORD为明文密码移动系统切换以后这种方式不再支持,新的认证采用下面的方式: https://uid.fetion.com.cn/ssiportal/SSIAppSignInV2.aspx?mobileno=13888888888&digest=PASSWORD

我以前写的文章: nagios msn 飞信PHP类API 报警 http://deidara.blog.51cto.com/400447/159290

这种方法已经不能在报警了,于是我就想到了pyfetion,下载后发现,它是以文本框模式登fetion,如果想配合nagios来报警,必须要修改脚本。

下载tanjelly修改版本
http://code.google.com/p/pytool/issues/detail?id=18#c6

http://pytool.googlecode.com/issues/p_w_upload?aid=9026163495408742977&name=PyFetion_v0.3.zip&token=74d6c28998e6b7720875a300151f4cb3

下载后得到两个文件: fetion.py PyFetion.py 想要nagios 报错之后,短信报警,需要下面几步: 1.修改fetion.py,让其登录后,直接发输入的消息。所以找到他登录信息

nagios $> vim fetion.py

#找到 mobile_no = argv[1]

def main(argv=None):    if len(argv) > 2:        mobile_no = argv[1]        passwd    = argv[2]

改为:

def main(argv=None):    if len(argv) > 2:        mobile_no = argv[1]        passwd    = argv[2]        sendto    = argv[3]  #发给谁(必须是好友)         message   = argv[4]  #发送的报警信息

#找到 printl("登录成功")

finally:        t.stop()    if ret:        printl("登录成功")    else:        printl("登录失败")        return 1

改为:

finally:        t.stop()    if ret:       phone.send_sms(toUTF8(message))            #发送给自己一份,不需要的话可以注释掉!        phone.send_sms(toUTF8(message),sendto)     #发送报警给好友,不需要的话可以注释掉!        printl("发送成功")       return 1                          #跳出,不需要登录text文本登陆框    else:        printl("登录失败")        return 1

保存退出 2.测试发送消息!给自己,和好友发送消息!

nagios $> ./fetion.py 1361103xxx password  13800XXXXXX  test

3.只给自己发送消息

nagios $> ./fetion.py 1361103xxx password none test

# none 就是不给好友发送,如果你不想输入 那么你可以把 fetion.py 里的 phone.send_sms(toUTF8(message),sendto) 注释掉或者删掉那么测试就可以 # nagios $> ./fetion.py 1361103xxx password test # 不需要在输入 none 了。 4.创建 shell 脚本,发送报警。(开始的时候直接用python脚本放到 commands.cfg里面,总是没有任何反应,不报错,任何log信息都没有。)

nagios $> vim /usr/local/nagios/libexec/sms#!/bin/bash# script name : sms# qq: 277057817# url:www.nginxs.comcd /usr/local/nagios/libexecif [ $# -ne 5 ];then        phone="$1"        passwd="$2"        sendto="$3"        msg="$4"/usr/bin/python /usr/local/nagios/libexec/fetion.py "$phone" "$passwd" "$sendto" "$msg"fi

##如果你注释掉了 fetion.py 里的 phone.send_sms(toUTF8(message),sendto)。也就是不给好友发报警信息只给自己发使用下面脚本:

#!/bin/bash# script name : sms# qq: 277057817# url:www.nginxs.comcd /usr/local/nagios/libexecif [ $# -ne 4 ];then        phone="$1"        passwd="$2"        msg="$3"/usr/bin/python /usr/local/nagios/libexec/fetion.py "$phone" "$passwd" "$msg"fi

5.修改 templates.cfg 添加:

nagios $> vim /usr/local/etc/objects/templates.cfgdefine contact{name                            generic-contactservice_notification_period     24x7host_notification_period        24x7service_notification_options    w,u,c,r,f,shost_notification_options       d,u,r,f,sservice_notification_commands   notify-service-by-email,notify-service-by-smshost_notification_commands      notify-host-by-email,notify-host-by-smsregister                        0}

6.修改commands.cfg 添加:

define command{command_name    notify-host-by-smscommand_line    $USER1$/sms 1361103xxxx password 1380010XXXX "Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$'"}define command{command_name    notify-service-by-smscommand_line    $USER1$/sms 1361103xxxx password 1380010XXXX "Host $HOSTSTATE$ Address $HOSTADDRESS$ Service $SERVICEDESC$ State $SERVICESTATE$ on $TIME$"}

##如果你注释掉了 fetion.py 里的 phone.send_sms(toUTF8(message),sendto)。也就是不给好友发报警信息只给自己发使用下面配置:

define command{command_name    notify-host-by-smscommand_line    $USER1$/sms 1361103xxxx password "Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$'"}define command{command_name    notify-service-by-smscommand_line    $USER1$/sms 1361103xxxx password "Host $HOSTSTATE$ Address $HOSTADDRESS$ Service $SERVICEDESC$ State $SERVICESTATE$ on $TIME$"}

附件fetion python:只给自己发报警信息

to_me.tar.gz

给好友发报警信息和给自己发报警信息

to_friend.tar.gz

转载于:https://blog.51cto.com/deidara/367267

nagios利用pyfetion报警最新相关推荐

  1. nagios利用fetion发送报警

    飞信系统升级公告(2010.11.26) 发布时间:2010-11-25尊敬的用户: 为了给您提供更完善的服务,系统于2010年11月26日凌晨0:00-3:00进行升级操作.在升级期间,飞信客户端无 ...

  2. nagios监控三部曲之——nagios实现飞信报警(3)

    本来nagios已经搭建成功,邮件报警也已经实现,但领导要求实时的监控系统,在问题出现时及时的处理,这样就要求我实时的登陆邮箱,但在很多的时候我没有办法一直登陆邮箱,而且我的手机是塞班系统,流量还很少 ...

  3. 利用Python获取最新的sci论文摘要信息并群发邮箱

    本博客结构 利用Python获取最新的sci论文摘要信息并群发邮箱 1. 需要的包:biopython.markdown 2. 正式代码 利用Python获取最新的sci论文摘要信息并群发邮箱 1. ...

  4. Nagios钉钉报警配置

    Nagios钉钉报警配置 PS:添加钉钉报警需要在钉钉创建群及接收信息机器人: 具体操作可以参考官方文档:https://open.dingtalk.com/document/org/create-o ...

  5. Java高危漏洞被再度利用 可攻击最新版本服务器

    2019独角兽企业重金招聘Python工程师标准>>> 安全研究人员警告称,甲骨文在2013年发布的一个关键 Java 漏洞更新是无效的,黑客可以轻松绕过.这使得此Java高危漏洞可 ...

  6. nagios监控三部曲之——为什么nagios不能发送报警邮件(2)

    最近我写了关于naigos监控的安装与配置的技术文档,公司运维按照我的文档部署naigos,发现不能发送报警邮件,经过我的检查,发现问题如下: 1.hosts里的配置 [root@nagios ~]# ...

  7. nagios流量监控报警

    2019独角兽企业重金招聘Python工程师标准>>> 想要监控流量,流量到达阀值报警,报警就用NAGIOS 主角:check_traffic.sh 脚本地址:https://git ...

  8. nagios 163邮件报警

    注:试过用QQ邮件报警,发送不了 1.安装sendMail yum install -y sendmail* 2.测试sendmail 发送邮件 /usr/local/bin/sendEmail –f ...

  9. 利用R语言获取最新所有股票数据

    本文利用这里提到的方法,进行改进,从而批量获取所有股票的数据,并对股票数据进行了简单的统计. 首先使用该程序需要用到一个csv文件,记录了各个股票的名称和代码. 格式如下: 至于制作的话,还是挺简单的 ...

最新文章

  1. [转]Android横竖屏切换解决方案
  2. myeclipse 6.0 弹出 Multiple Errors have Occurred 错误
  3. Linux 的 60s USE 性能诊断方法论
  4. Java代码实现执行Linux服务器命令
  5. 51nod 1138 连续整数的和(数学公式)
  6. shop--10.店铺列表(前端)
  7. apache AH01630: client denied by server configuration错误解决方法
  8. vscode更改插件路径_vscode插件分享
  9. 洛谷 P3367 【模板】并查集
  10. Discuz常见小问题-如何取消登陆发帖验证码
  11. 信息学奥赛一本通——1001:Hello,World!
  12. ACMMM 2021《LSG》性能SOTA!用GNN和GAN的方式来强化Video Captioning的学习!
  13. 插画素材模板 | 玩转电商促销季插画设计
  14. 消失模设计与加工(FM-CAM)
  15. SAP License:COPA凭证冲销
  16. Pycharm2019版中打开.md .st文件出现卡死情况怎么办?
  17. 阿里 20 年,逍遥子宣告「全面迈入数字经济时代」
  18. Handler、Message几种发送消息形式总结
  19. JavaScript中字符串相关总结(附实例)
  20. Linux下命令行导入sql文件

热门文章

  1. HTML Help Workshop制作chm帮助文件和在应用程序中的调用
  2. python3精要(5)-最长公共前缀Trie树
  3. 温州大学《机器学习》课程课件(一)
  4. 【面试招聘】有哪些好的秋招经验分享?数据、算法岗的几点经验分享
  5. Facebook 号称击败谷歌,推出最强聊天机器人
  6. 图系列|7篇动态时空图网络学习必读的顶会论文
  7. 带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)
  8. 机器学习的宝典-华校专老师的笔记
  9. 统计学习方法第二十章作业:潜在狄利克雷分配 LDA 吉布斯抽样法算法 代码实现
  10. 统计学习方法第十九章作业:马尔可夫链蒙特卡罗法、吉布斯抽样算法(书上题目) 代码实现