美文网首页
zabbix5.2-阿里云短信告警

zabbix5.2-阿里云短信告警

作者: 野草_疯长 | 来源:发表于2021-07-13 14:05 被阅读0次

    配置:

    centos:7.5
    zabbix-server:5.2
    mysql:5.7
    zabbix-agent:5.2
    阿里云短信服务SDK:2
    Python:3.8

    1、准备阿里云短信签名和模板

    登录阿里云平台,搜索短信服务,选择国内服务,点击“添加签名”,如下图所示


    1.png

    添加完签名再添加模板,有不清楚的问阿里服务人员


    1.png

    2、准备key和秘钥,鼠标放到右上角用户处,可以看到一个AccessKey管理,入不记得秘钥可以重新生成

    1.png

    3、下载SDK和python脚本

    进入阿里首页,搜索短信 SDK,如下图

    pip install aliyun-python-sdk-core-v3
    
    1.png

    可以直接复制代码,只需要修改以下几个配置【key的id、秘钥、电话号码、模板code】

    vim duanxin.py
    #!/usr/bin/env python
    #coding=utf-8
    import sys #此处是我自己加的,用来调用下面的参数
    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.request import CommonRequest
    client = AcsClient('<accessKeyId>', '<accessSecret>', 'ap-northeast-1')
    
    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')
    
    request.add_query_param('PhoneNumbers', "%s" %sys.argv[1])   #zabbix传过来的第一个参数
    #request.add_query_param('PhoneNumbers', "1503871****")
    request.add_query_param('SignName', "阿里大于测试专用")
    request.add_query_param('TemplateCode', "SMS_209335004")
    request.add_query_param('TemplateParam', "{\"remark\": \"%s\"}" %sys.argv[2])  #zabbix传过来的第二个参数,此处remark为阿里云模板中的变量
    #request.add_query_param('TemplateParam', "{\"code\":\"1111\"}")
    
    response = client.do_action(request)
    # python2:  print(response)
    print(str(response, encoding = 'utf-8'))
    

    加执行权限:chmod +x duanxin.py
    本地测试:

    ./duanxin.py 183*********    test
    
    2.jpg

    手机可以正常收到短信,说明脚本没错,接下来配置zabbix-web端

    4、配置zabbix报警媒介类型

    创建媒介类型


    1.png

    这2个参数分别对应脚本里的2个参数,一个是发送人的手机号码,一个是发送的短信内容,短信内容可以在Message templates里面定义


    1.png
    告警主机: {HOSTNAME1}
    告警时间: {EVENT.DATE} {EVENT.TIME}

    告警等级: {TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    问题详情: {ITEM.NAME}:{ITEM.VALUE}
    当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID: {EVENT.ID}

    因为只传了2个参,所以没有配置主题,感兴趣可以自己添加

    5、创建报警用户

    1.png

    报警媒介-类型 选择我们刚创建的媒介,输入收件人电话

    6、创建告警动作

    这里我选择所有触发条件,实际情况可以自行选择


    1.png

    设置接收告警人员


    1.png
    可以自己手动更改一个触发器的阈值来主动触发告警

    7、成果展示

    1.jpg

    相关文章

      网友评论

          本文标题:zabbix5.2-阿里云短信告警

          本文链接:https://www.haomeiwen.com/subject/xpgjpltx.html