zabbix增加手机短信、邮件监控的注意要点,SSL邮件发送python脚本
1、短信接口文档:
URL
Method
Description
Request Param List
| Name | Identifier | Type | Remark |
|---|---|---|---|
| 短信签名 | sign | string | 格式为 【某某平台】 中文括号不可少 |
| 信息内容 | msg | string | |
| 手机号 | phoneNumber | string |
Response Param List
| Name | Identifier | Type | Remark |
|---|---|---|---|
| 返回值 | string | 提交失败 {"msg":"","success":"F"} 提交成功 {"msg":"","success":"T"} |
2、自定义端口post方式以及python脚本:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#Author:lzd import sys import urllib.request
import urllib.parse #请求
msg = sys.argv[2]
phoneNumber = sys.argv[1]
data = {
'msg':msg,
'phoneNumber':phoneNumber,
}
data = urllib.parse.urlencode(data).encode('utf-8')
resu = urllib.request.urlopen('http://xxx.com/interfaces/sendVoice.htm', data = data) #指定编码请求
#print(resu.read().decode('utf-8'))
a=open('/tmp/abc.log','a')
a.write(sys.argv[1]+resu.read().decode('utf-8')+'\n' )
a.close()
3、将sms2.py拷贝到路径/usr/lib/zabbix/alertscripts
4、设置sms2.py的权限为chmod 777 sms2.py
把日志文件abc.log也要chmod 777 abc.log
5、注意sms2.py在centos一定要可以直接执行,而不是python sms2.py这种方式直接。后面加两个参数手机号码+内容
6、设置zabbix里的triggers
7、设置media type,注意这里的三个变量一定要加进去。

8、最后设置动作:actions
当triggers名称为,或者安全级别为什么的时候就触发动作,直接发送短信,选择对应的人和动作!
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.189.cn'
mail_user = '13913913913'
mail_pass = 'xxxxx'
mail_postfix = '189.cn'
def send_mail(to_list,subject,content):
me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception as e:
print (e)
return False
#if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
SSL邮件发送python代码:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#Author:lzd import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
from email.header import Header
import sys # 设置默认字符集为UTF8 不然有些时候转码会出问题
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding) # 发送邮件的相关信息,根据你实际情况填写
smtpHost = 'smtp.exmail.qq.com'
smtpPort = ''
sslPort = ''
fromMail = 'xxx@17of.com'
# toMail = '997939@qq.com'
username = 'xxx@17of.com'
password = 'xxxxx' def send_mail(to_list, subject, content):
# 邮件标题和内容
# subject = u'[Notice]hello'
# body = u'hello,this is a mail from ' + fromMail # 初始化邮件
encoding = 'utf-8'
mail = MIMEText(content.encode(encoding), 'plain', encoding)
mail['Subject'] = Header(subject, encoding)
mail['From'] = fromMail
mail['To'] = to_list
mail['Date'] = formatdate() try:
# 连接smtp服务器,明文/SSL/TLS三种方式,根据你使用的SMTP支持情况选择一种
# 普通方式,通信过程不加密
# smtp = smtplib.SMTP(smtpHost, smtpPort)
# smtp.ehlo()
# smtp.login(username, password) # tls加密方式,通信过程加密,邮件数据安全,使用正常的smtp端口
# smtp = smtplib.SMTP(smtpHost,smtpPort)
# smtp.set_debuglevel(True)
# smtp.ehlo()
# smtp.starttls()
# smtp.ehlo()
# smtp.login(username,password) # 纯粹的ssl加密方式,通信过程加密,邮件数据安全
smtp = smtplib.SMTP_SSL(smtpHost,sslPort)
smtp.ehlo()
smtp.login(username,password) # 发送邮件
smtp.sendmail(fromMail, to_list, mail.as_string())
smtp.close()
print("OK")
except Exception as e:
print("e") send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
zabbix增加手机短信、邮件监控的注意要点,SSL邮件发送python脚本的更多相关文章
- server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh
宕机监控报警程序 一. 需求来源 宕机对运维人员来说,最痛苦了.怎样检測一台server是否还在正常执行,假设该server宕机,怎样在第一时间监測到并通知一线运维人员进行维护,最大化降低损失. ...
- CentOS 6.2+Nginx+Nagios,手机短信和qq邮箱提醒
http://chenhao6.blog.51cto.com/6228054/1323192 标签:软件包 配置文件 nagios 服务端 监控 原创作品,允许转载,转载时请务必以超链接形式标明文章 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 忘记密码功能改进、手机短信、电子邮件
由于我们的系统接近有100000个用户账户,经常会有忘记密码的时候,用户多了,很小的一个功能,每天都会有很多人在用,每个功能都非常友善,会提高提系统的效率,提高用户体验. 一天最多能返回3次手机短信, ...
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
装饰者模式的学习(c#) 案例转自https://www.cnblogs.com/stonefeng/p/5679638.html //主体基类 using System;using System.C ...
- 循序渐进VUE+Element 前端应用开发(32)--- 手机短信动态码登陆处理
在一些系统中,有时候用户忘记密码,可以通过向自己手机发送动态验证码的方式实现系统登录功能.本篇随笔介绍如何结合后端ABP框架的短信发送和缓存模块的处理,实现手机短信动态码登陆处理. 一般的登录方式,分 ...
- Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_152 短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务 ...
- Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结
Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码 用户操作 ,比如 ...
- C#.NET 大型信息化系统集成快速开发平台 - 手机短信开发接口 4.0
可以批量发信息给手机,相同的信息发给多个手机号码的效果图 已发送手机短信列表 可以批量发手机的功能,可以把先有的待发信息列表,直接通过批量发送功能发出 这个是设置发送模板公式的功能展示,可以设置发送的 ...
- SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework
1.调用前组装参数 2.调用发送信息服务脚本 .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...
随机推荐
- web自动化流程总结
一. 了解需求,什么是系统的核心业务 二. 编写测试用例:用例名称,前置条件,测试数据,测试步骤,期望结果 三. 自动化代码的初步构建:所有的元素定位.元素操作.测试用例都写在一个模块中 问题: 1. ...
- java String转Long两种方法区别
第一种:包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8种 Long.valueOf("String")返 ...
- 牛客比赛-假的字符串-Trie+拓扑
链接:https://www.nowcoder.com/acm/contest/59/B来源:牛客网 题目描述 给定n个字符串,互不相等,你可以任意指定字符之间的大小关系(即重定义字典序),求有多少个 ...
- volatile关键字与内存可见性
前言 首先,我们使用多线程的目的在于提高程序的效率,但是如果使用不当,不仅不能提高效率,反而会使程序的性能更低,因为多线程涉及到线程之间的调度.CPU上下文的切换以及包括线程的创建.销毁和同步等等,开 ...
- Codeforces Round #394 (Div. 2) E. Dasha and Puzzle
E. Dasha and Puzzle time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...
- 地图之CoreLocation
1. 在Info.plist文件中添加下面两句话 NSLocationAlwaysUsageDescription —> 确定定位吗?亲 (或者改参数类型为BOOL类型 值为Y) 请求的授权, ...
- UI - 视图控制器跳转另一个视图控制器特效总结
1. 从一个视图控制器跳转另一个视图控制器的方式是可以进行设置的 CATransition *animation = [[CATransition alloc]init]; animation.dur ...
- sql server显示行号
-- 工具-> -- 选项-> -- 文本编辑器-> -- 所有语言-> -- 常规-> -- 显示-> -- 行号
- 【转载】VC获取MAC地址的4种方法
From:http://blog.csdn.net/pdfmaker/article/details/465748 有需求才有创造,有了问题才会想着去解决,那么我这里的获取MAC地址的第4种方法也是在 ...
- 【前端】HTML入门笔记
教程 HTML 指的是超文本标记语言 (Hyper Text Markup Language).使用标记标签来描述网页 HTML 提示:使用小写标签\属性\属性参考手册\HTML颜色\HTML颜色名 ...