设为首页 收藏本站
查看: 1845|回复: 0

Nagios调用短信接口

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-10 09:13:07 | 显示全部楼层 |阅读模式
公司之前一直使用的飞信的免费接口来发送Nagios短信报警,但由于1.23飞信内部系统升级,导致发信不能发送,飞信机器人也公布近期不会去破解,so,免费的飞信时代被终结。公司正好有自己的短信接口平台,接下来带大家一起配置nagios调用第三方短信接口。

1:首先我们要写一个调用短信接口的脚本,网上的脚本大都是python写的,我这个是shell写的,比较好理解。
vi /root/duanxin.sh
# 脚本的日志文件
LOGFILE="/data1/sms_log/sms_send_.log"  #定义发送短信的日志信息 文件
:>>"$LOGFILE"
exec 1>>"$LOGFILE"
exec 2>&1

Uid="test"    #接口的用户名,这个使用接口时对方会提供,我这里的test是随意写的
Key="123456"  #密码与用户名对应,也是接口方提供

MOBILE_NUMBER=$1 # 接受短信的手机号码  
QIANMING="%e3%80%90%e9%a9%ac%e5%8f%af%e6%b3%a2%e7%bd%97%e7%bd%91%e3%80%91" #这里重点说一下,签名有的接口需要,有的不需要,因为我们公司的接口需要,所以需要添加上,我这里的签名内容是经过编码的,不加编码会导致发送失败,具体工作中需不需要编码还得看接口哪边有没有要求。
XXD="/usr/bin/xxd"
CURL="/usr/bin/curl"
TIMEOUT=5
MESSAGE_ENCODE=$(echo $(/usr/local/bin/php -r "echo urlencode(\"$2\");"; ) )  #这里的$2是nagios发送短信的第二个变量
URL="http://192.168.100.100:8888/services/msgsend.asmx/SendMsg?userCode=${$Uid}&userPass=${Key}&DesNo=${MOBILE_NUMBER}&Msg=${MESSAGE_ENCODE}${QIANMING}&Channel=0"
#我这里的URL是胡乱写的,我不可能暴漏自己公司的接口哈,但是格式大体是这样的,到时候接口方会提供URL的格式的
# Send it
set -x
${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"
2 :测试脚本
bash /root/duanxin.sh "手机号" “内容”
如果脚本报错,可以根据报错信息检查脚本,如果脚本没有问题,但是短信发不出去,可以看看sms_send_log里面的报错信息

3:nagios 调用脚本,不要忘记脚本要给执行权限,一般脚本放在root目录下,nagios在调用脚本时是不能访问root目录的,所以你还要看你/root目录的权限

define command {
       command_name host-notify-by-sms
       command_line /root/duanxin.sh $CONTACTPAGER$ "$HOSTNAME$ $HOSTSTATE$ $SHORTDATETIME$"
       }

define command {
       command_name service-notify-by-sms
       command_line /root/duanxin.sh $CONTACTPAGER$ "$SERVICESTATE$ $SERVICEOUTPUT$ $HOSTALIAS$/$SERVICEDESC$ $SHORTDATETIME$"
       }
4:看到这里大家可能对上面脚本的$1和 $2概念比较模糊,其实刚开始我也迷糊,nagios怎么知道我要发送的号码呢,后来研究发现,$CONTACTPAGER$这个
变量就是nagios内部联系人的变量,也就是他会调用我们在contacts.cfg里面定义的手机号,而我们脚本里面定义的$1就对应$CONTACTPAGER$,$2就对应
"$HOSTNAME$ $HOSTSTATE$ $SHORTDATETIME$"





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-149047-1-1.html 上篇帖子: Nagios整合微信订阅号报警 下篇帖子: nagios使用的问题解决 短信接口
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表