预警短信python_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}

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值