zoukankan      html  css  js  c++  java
  • zabbix 利用python脚本实现短信告警

    一、编写脚本

    cd /usr/local/zabbix-4.0.3/share/zabbix/alertscripts

    vi zabbix_sms.py

    内容如下:

     #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import sys

    import requests

    import urllib

    def sendsms(phone, message):

     data = {

      'serviceid':'H435454534',

      'fromserver':'1069xxxxxxxx',

      'linkid':'C393434729151490',

      'phone':phone,

      'message':message

      }

     print(data)

     url = 'http://xxx.xxx.xxx.xxx:xxxx/api/send'

     try:

            req=requests.get(url,params=data)

     except Exception as e:

            print(e)

     else:

            print(req.content)

    if __name__ == '__main__':

     phone = sys.argv[1]

     message ='【Zabbix】'+sys.argv[2]

     sendsms(phone,message.encode('gbk'))

     

    二、测试脚本,执行

    ./zabbix_sms 150XXXXXXX 测试

    看看手机是否收到短信

     

    三、zabbix管理平台配置

     

    1、创建一个新的媒介类型叫短信

     

    参数为手机号,和告警内容

    2、为用户设置短信告警媒体类型

     

    3、为需要短信告警的触发器创建新的动作

     

    ##告警
    主机名称:{HOST.NAME}
    IP地址 :{HOST.IP}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警信息:{TRIGGER.NAME}
    告警级别:{TRIGGER.SEVERITY}
    检查项 :{TRIGGER.KEY1}
    当前状态:{TRIGGER.STATUS}
    值={ITEM.LASTVALUE}
    故障已持续{EVENT.AGE}

    ##恢复
    主机名称:{HOST.NAME}
    IP地址 :{HOST.IP}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
    故障时长:{EVENT.AGE}
    告警信息:{TRIGGER.NAME}
    告警级别:{TRIGGER.SEVERITY}
    检查项 :{TRIGGER.KEY1}
    当前状态:{TRIGGER.STATUS}
    值={ITEM.VALUE}

      

    动作设置完毕,就可以测试了

  • 相关阅读:
    嵌入式开发杂谈
    C#连接数据库
    C软件机密解密之动态跟踪
    navicat连接mysql8报错
    tomcat 服务版本内存设置
    python2/python3 升级pi版本
    各种源文件和目录
    Day 2 : 变量、JAVA基本类型、运算符和表达式1
    猜字母游戏
    Day 1 : 行业概述、JAVA开发环境
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/10565334.html
Copyright © 2011-2022 走看看