溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python調(diào)用第三方接口實(shí)現(xiàn)nagios短信報(bào)警

發(fā)布時(shí)間:2020-07-06 18:02:09 來源:網(wǎng)絡(luò) 閱讀:11382 作者:煮酒品茶 欄目:移動(dòng)開發(fā)

公司有需求,需要短信報(bào)警,所以才有了如下的東西。

第三方:smsbao.com 收費(fèi)是1分錢一條,買的多當(dāng)然就更便宜,我們買的是700元/10000條。

缺點(diǎn):

1、發(fā)送內(nèi)容只能有70字節(jié),超過了就會(huì)拆分成多條短信。所以得對(duì)發(fā)送內(nèi)容進(jìn)行優(yōu)化。

2、發(fā)送信息的號(hào)碼不同

優(yōu)點(diǎn):

1、通過http接口,所好進(jìn)行調(diào)整

2、信息一般在1-3秒之內(nèi)發(fā)送完畢


 朋友們?nèi)绻X得麻煩,可以試試OneAlert一鍵集成nagios,輕松實(shí)現(xiàn)微信、電話、郵件、短信、APP的告警通知。Python調(diào)用第三方接口實(shí)現(xiàn)nagios短信報(bào)警http://www.onealert.com/activity/nagios.html


nagios commands.cgf內(nèi)容如下:

vim /usr/local/nagios/etc/objects/commands.cfg

# 'notify-host-by-smsbao' command definition
define command{
        command_name    notify-host-by-smsbao
        command_line    /usr/local/nagios/libexec/smsbao.py "主機(jī)報(bào)警 IP:$HOSTADDRESS$:$HOSTSTATE$ 信息:$HOSTOUTPUT$"
        }

# 'notify-service-by-smsbao' command definition
define command{
        command_name    notify-service-by-smsbao
        command_line    /usr/local/nagios/libexec/smsbao.py "服務(wù)報(bào)警 主機(jī):$HOSTNAME$服務(wù):$SERVICEDESC$ IP地址:$HOSTADDRESS$ 狀態(tài):$SERVICESTATE$ 信息:$SERVICEOUTPUT$"
        }


smsbao.py 代碼如下:

調(diào)用方式:

#./smsbao.py "發(fā)送信息的內(nèi)容"

#!/usr/bin/python
#coding:utf8
#exp #python smsbao.py "發(fā)送一個(gè)測試監(jiān)控信息"

import requests,sys,time
import sys
import time

#coding is Error so
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    reload(sys)
    sys.setdefaultencoding(default_encoding)

#get localtime 2014-7-11 10:01:01 
ltime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

#u:username p:password c:content m:Phone
Content = str(sys.argv[1])
payload = {
	'u':'zwhset',
	'p':'password_md5',
	'm':'you phone',
	'c':Content
}

#send msmbao message to phone
r = requests.get('http://www.smsbao.com/sms',params=payload)
date = ltime + "\t" + Content + "\t" + r.text + "\n"

f = open('smsbao.log','a')
#write log to smsbao.log
try:
    f.write(date)
    f.close()
except IOError,e:
    sys.exit()

短信圖:

Python調(diào)用第三方接口實(shí)現(xiàn)nagios短信報(bào)警

smsbao后臺(tái)短信日志

Python調(diào)用第三方接口實(shí)現(xiàn)nagios短信報(bào)警

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI