Python调用第三方接口实现nagios短信报警

简介:

公司有需求,需要短信报警,所以才有了如下的东西。

第三方:smsbao.com 收费是1分钱一条,买的多当然就更便宜,我们买的是700元/10000条。

缺点:

1、发送内容只能有70字节,超过了就会拆分成多条短信。所以得对发送内容进行优化。

2、发送信息的号码不同

优点:

1、通过http接口,所好进行调整

2、信息一般在1-3秒之内发送完毕


 朋友们如果觉得麻烦,可以试试OneAlert一键集成nagios,轻松实现微信、电话、邮件、短信、APP的告警通知。spacer.gifhttp://www.onealert.com/activity/nagios.html


nagios commands.cgf内容如下:

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

1
2
3
4
5
6
7
8
9
10
11
# 'notify-host-by-smsbao' command definition
define  command {
         command_name    notify-host-by-smsbao
         command_line     /usr/local/nagios/libexec/smsbao .py  "主机报警 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  "服务报警 主机:$HOSTNAME$服务:$SERVICEDESC$ IP地址:$HOSTADDRESS$ 状态:$SERVICESTATE$ 信息:$SERVICEOUTPUT$"
         }


smsbao.py 代码如下:

调用方式:

#./smsbao.py "发送信息的内容"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/python
#coding:utf8
#exp #python smsbao.py "发送一个测试监控信息"
 
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
=  requests.get( 'http://www.smsbao.com/sms' ,params = payload)
date  =  ltime  +  "\t"  +  Content  +  "\t"  +  r.text  +  "\n"
 
=  open ( 'smsbao.log' , 'a' )
#write log to smsbao.log
try :
     f.write(date)
     f.close()
except  IOError,e:
     sys.exit()

短信图:

wKiom1O_cXeg2YCBAAEVumJ9qII669.jpg

smsbao后台短信日志

wKioL1O_cirQn-sJAADWLuuqk7o372.jpg





本文转自 煮酒品茶 51CTO博客,原文链接:http://blog.51cto.com/cwtea/1437042,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
安全 Linux Shell
Python 动态更新Linux系统root账号密码并发送通知短信
Python 动态更新Linux系统root账号密码并发送通知短信
39 0
|
1月前
|
开发框架 Java .NET
闪速码短信Python接口SDK
闪速码短信Python接口SDK
65 4
|
3月前
|
存储 Shell API
Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信
Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1037 0
Python实现因子分析(附案例实战)
|
12月前
|
存储 开发工具 Python
七牛云 发送短信报错-Python
(None, _ResponseInfo__response:None, exception:'Auth' object has no attribute 'qiniu_headers', status_code:-1, text_body:None, req_id:None, x_log:None, error:'Auth' object has no attribute 'qiniu_headers'
七牛云 发送短信报错-Python
|
监控 小程序 网络安全
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口。
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
|
JSON 区块链 数据格式
Python实现一个简单的区块链
本文介绍如何用Python实现一个简单的区块链。
482 0
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
229 0
python 实现pacs功能 推送下拉影像
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
122 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现

热门文章

最新文章