签名用途选择:公众号或小程序的全称或简称 就可以了。
模板里面的参数有字数限制,最高20个字符,所以大家也需要注意一下,获取的参数值不要太大。
1.3.1 升级python3.5
(忽略步骤)
1.3.2 安装阿里云python-sdk
#pip3.5 install aliyun-python-sdk-core-v3
1.3.3 修改zabbix-server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
1.3.4 创建脚本sendsms.py
放到 zabbix 脚本路径,记得在配置文件开启AlertScriptsPath=路径
,我们向脚本传递两个参数,一个是手机号,一个是信息,信息里面包含三个字段(主机IP,时间,内容),由我们下面的 Media types 参数配置。
#!/usr/bin/python3.5 # coding=utf-8 # pip3.5 install aliyun-python-sdk-core-v3 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest import sys client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') string = sys.argv[2] phone_number = sys.argv[1] message = string.split(";") print(message) dict1 = { } dict1['host'] = message[0] dict1['time'] = message[1] dict1['item'] = message[2][0:18] request.add_query_param('RegionId', 'cn-hangzhou') request.add_query_param('PhoneNumbers', phone_number) request.add_query_param('SignName', '美宜佳') request.add_query_param('TemplateCode', 'SMS_159772654') request.add_query_param('TemplateParam', dict1) response = client.do_action(request) # python2: print(response) print(str(response, encoding='utf-8')) |
2.1 创建报警媒介
2.2 新建人员报警
2.3 创建动作
3.1关掉客户端