欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python实现zabbix发送短信脚本

程序员文章站 2023-08-21 08:37:14
本文实例为大家分享了zabbix发送短信的具体代码,供大家参考,具体内容如下 使用方法 ./sendsms.py phone_number args_2 sms_msg...

本文实例为大家分享了zabbix发送短信的具体代码,供大家参考,具体内容如下

使用方法

./sendsms.py phone_number args_2 sms_msg

接收参数输入

参数一: 接收手机号(zabbix传来的第1个参数,报警接收手机号),第一个参数可以对比发送邮件的脚本
参数二: 短信主题(zabbix传来的第2个参数,报警主题),在命令行测试必须输入,用来占位,脚本中并不获取这个参数
参数三: 短信内容(zabbix传来的第3个参数,报警内容)

手动调试方法

python sendsms.py *********** argv2 "报警测试"

关于命令行测试的另外一种方式

使用shell自带的curl来测试

get

复制代码 代码如下:
curl http://host/path/to/path/webapi/sendsms/?phone=18101111253&smstext='sms test'

post

复制代码 代码如下:
curl -d phone=18101111253 -d smstext='sms test' http://host/path/to/path/webapi/sendsms

代码
#!/usr/bin/env python
#-*- coding: utf8 -*-

import sys
import requests

def sendsms(key, phone, message):
 """
 发送短信
 """
 values = {'key': key,
  'smsmob': phone,
  'smstext': message
  }

 host = '192.168.0.07'
 post_url = 'http://' + host + '/path/to/path/webapi/sendsms'
 try:
 req= requests.post(url=post_url, data=values)
 print req.content
 except exception, e:
 print e

if __name__ == '__main__':
 key = '712ab57ec021f8f05f862652c95f3344'
 phone = sys.argv[1]
 # subject = sys.argv[2]
 message = sys.argv[3]

 sendsms(key, phone, message)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。