zabbix的短信与邮件报警脚本

#!/usr/bin/python
# -*- coding: utf-8 -*

import sys
import smtplib
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr

def send_email(to_addr,subject,body):
    msg = MIMEText(body,'html','utf-8')
    msg['From'] = '<18611819511@163.com>'
    msg['To'] = '<%s>' % to_addr
    msg['Subject'] = subject

    smtp = smtplib.SMTP_SSL('smtp.163.com', 465)
    smtp.set_debuglevel(1)
    smtp.ehlo("smtp.163.com")
    smtp.login('18611819511@163.com','************')
    smtp.sendmail('18611819511@163.com', [to_addr], msg.as_string())


if __name__ == "__main__":
    # 这里的密码是开启smtp服务时输入的客户端登录授权码,并不是邮箱密码
    # 现在很多邮箱都需要先开启smtp才能这样发送邮件
    send_email(sys.argv[1],sys.argv[2],sys.argv[3])

zabbix为3.2版本。python版本为2.7,然后在zabbix上进行设置。

#!/usr/bin/python
# -*- coding: utf-8 -*
import top.api
import json,sys
appkey = '*********'
secret = '***************************'
url = 'gw.api.taobao.com'
port='80'
req = top.api.AlibabaAliqinFcSmsNumSendRequest(url,port)
#port可以不传参,因为方法中自带了port=80的参数 req.set_app_info(top.appinfo(appkey, secret)) content
= sys.argv[2] #短信类型 req.sms_type = "normal" #sign_name req.sms_free_sign_name = "***" #传参的是看需要看你们的模板中是要传递参数,我这边传递的参数名为'usingPercent'这个是动态的还是看自己,然后进行json格式化 data = {"usingPercent":content} req.sms_param = json.dumps(data) #收件人手机号 req.rec_num = sys.argv[1] #短信模板 req.sms_template_code = "SMS_*******" resp = req.getResponse()

运行之前请安装依赖 pip install top

zabbix为3.2版本。python版本为2.7,然后在zabbix上进行设置。此短信脚本是阿里大于的如果 是别的运营商的话请查看文档api

这里我要说一下,短信不是邮件没有主题,那么你有两个选择一个是{ALERT.SUNJECT}只是单纯的一个主题信息,可以看出问题一个大概的情况,你可以把第二的参数换成{ALERT.MESSAGE},当然就比较详细的东西的,但是由于平台的不同可能会有相应的字数限制,对于我来讲,可能一个主题就够了,然后我可以登录进去看。如果不懂的叫我qq469910799

我还想说一下其实报警发送很简单,首先就是本地测试是否可以使用发送。其次就是传参,然后再zabbix 修改传递的参数就这样

转载于:https://www.cnblogs.com/baifumei/p/7325938.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值