zabbix +金笛短信猫告警调用的脚本
创建于: 1387天20小时以前 |
类别: Knowledge Base |
查看: 521 |
文档评分: 0 |
文档编号: 201
本脚本适用于:
zabbix + 金笛短信一体机
zabbix + 金笛短信猫+web中间件
收到短信告警信息如下图所示:
调用的脚本:
注意事项,以下脚本都需要在中间件的系统设置中关闭ssl
bash脚本
==============================
#!/bin/bash
# 脚本的日志文件
LOGFILE="/tmp/SMS.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1
MOBILE_NUMBER=$1 # 手机号码
MESSAGE_UTF8=$3 # 短信内容 $2没有用到
XXD="/usr/bin/xxd"
CURL="/usr/bin/curl"
TIMEOUT=5
# 短信内容要经过URL编码处理
MESSAGE_ENCODE=$(echo "$MESSAGE_UTF8" | ${XXD} -ps | sed 's/(..)/%/g' | tr -d ' ')
# 127.0.0.1需要改为金笛短信一体机的IP
URL="http://127.0.0.1:8060/send?password=1&text=${MESSAGE_ENCODE}&recipient=${MOBILE_NUMBER}&encoding=U"
# Send it
set -x
${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"
注意事项:
脚本要给可执行权限,如下图所示:
python3版本的脚本如下
import sys,requests,urllib
def sendsms(recipient,text):
#content = urllib.parse.quote_plus(text)
#如果出现url解析错误,请关闭注释以发送urlencode之后的内容
content = text
params = {
'text' : content,
'recipient' : recipient,
'password' : 1,
'encoding' : 'U',
}
print(params)
post_url='http://127.0.0.1:8060/send'
resp = requests.get(url=post_url,params=params)
resp.encoding = 'utf-8'
print(resp.text)
if __name__ == '__main__':
phone = sys.argv[1]
message = sys.argv[2]
sendsms(phone,message)
#文档结束
测试方法:
运行
python test.py 13800180018 "你好, 这是我们的短信内容"
如果中间件回复状态显示 UNSENT 即为可以正常使用,此文本说明短信成功进入待发送列表,短信内容是否乱码可以到中间件中查看