zabbix结合阿里云短信报警

1.去官网下载SDK
https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.2.16.759c6e44LcTbZS

2.解压安装
注意目录

root@XXServer2:/usr/local/lib/python2.7/dist-packages/dysms_python# python setup.py install

3.编写脚本
在原有基础上进行修改即可

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest
from aliyunsdkdysmsapi.request.v20170525 import QuerySendDetailsRequest
from aliyunsdkcore.client import AcsClient
import uuid
from aliyunsdkcore.profile import region_provider
from aliyunsdkcore.http import method_type as MT
from aliyunsdkcore.http import format_type as FT
import json

"""
短信业务调用接口示例,版本号:v20170525

Created on 2017-06-12

"""
try:
    reload(sys)
    sys.setdefaultencoding('utf8')
except NameError:
    pass
except Exception as err:
    raise err

# 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dysmsapi"
DOMAIN = "dysmsapi.aliyuncs.com"

ACCESS_KEY_ID = "这里写id"
ACCESS_KEY_SECRET = "这里写key"

acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION)
region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN)

def send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None):
    smsRequest = SendSmsRequest.SendSmsRequest()
    # 申请的短信模板编码,必填
    smsRequest.set_TemplateCode(template_code)

    # 短信模板变量参数
    if template_param is not None:
        smsRequest.set_TemplateParam(template_param)

    # 设置业务请求流水号,必填。
    smsRequest.set_OutId(business_id)

    # 短信签名
    smsRequest.set_SignName(sign_name)

    # 数据提交方式
        # smsRequest.set_method(MT.POST)

        # 数据提交格式
    # smsRequest.set_accept_format(FT.JSON)

    # 短信发送的号码列表,必填。
    smsRequest.set_PhoneNumbers(phone_numbers)

    # 调用短信发送接口,返回json
    smsResponse = acs_client.do_action_with_exception(smsRequest)

    # TODO 业务处理

    return smsResponse

if __name__ == '__main__':
    __business_id = uuid.uuid1()
    #print(__business_id)
    SENDTO = str(sys.argv[1]) #从zabbix传递的手机参数
    message = str(sys.argv[2]) #从zabbix传递的报警信息
    params = {"message":message}
    params = json.dumps(params)
        #params = u'{"name":"wqb","code":"12345678","address":"bz","phone":"13000000000"}'
    print(send_sms(__business_id, SENDTO, "这里写签名名称", "这里写模板code", params))

3.web配置
报警类型配置


image.png

报警联系人配置,写上手机号


image.png

报警动作配置


image.png

这个参考邮件报警即可
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 云盾·实人认证 使用这个服务需要先去阿里云开通,开通免费,使用收费什么是实人认证?计费说明 2. 认证方案 ...
    ArchLL阅读 11,441评论 29 27
  • 摘要: 一、新产品发布1、云防火墙 商业化 发布云防火墙是一款云环境下的防火墙产品,首创了基于业务可视的结果,实现...
    猫耳呀阅读 737评论 0 1
  • 这几天有点忙,到中午了赶紧去超市买了两个西红柿,回家做西红柿鸡蛋面。平日里我就喜欢做这饭,简单,方便。...
    静起风云阅读 207评论 0 0
  • 呆姑挠了挠她的鸡窝头,不经意间回眸,如来佛祖巴掌大的房间可视物只剩一个床……呆姑于是曰:“我一家之口怎么堆了这么多...
    君琢于书阅读 310评论 0 0
  • 母子连心,今早孩子打了几个电话都没接上,我第一感觉就是打这么多电话,一定有事情需要我们配合。所以就和刘先生...
    立春暖阳阅读 215评论 0 2