zabbix设置QQ邮箱告警

zabbix环境搭建

zabbix设置163邮箱报警

zabbix设置QQ邮箱告警

  • 背景
    • 设置QQ邮箱告警
  • 实现(可以参考163邮箱设置告警)
  1. 首先在QQ邮箱中,开启POP3/SMTP服务 来获得授权码,QQ邮箱—>设置—>账户—>开启POP3/SMTP服务
  2. 进入到zabbix的web界面——> 管理——> 报警媒介类型——>创建媒体类型
  • 在py脚本参数下,三个参数都分布在py的脚本里
    • 参数的顺序不能乱
 {ALERT.SENDTO} 表示收件人
   {ALERT.SUBJECT} 表示邮件主题
   {ALERT.MESSAGE} 表示邮件内容
  1. 在服务端创建脚本email.py,QQ邮箱告警注意点
[root@hf-01 alertscripts]# cat /usr/lib/zabbix/alertscripts/qqmail.py
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = 'smtp.qq.com'
##定义发邮件类型
    gport = 465
    try:
        msg = MIMEText(unicode(content).encode('utf-8'))
        msg['from'] = mailfrom
        msg['to'] = mailto
        msg['Reply-To'] = mailfrom
        msg['Subject'] = subject
	#ssl连接,把下面改为smtp = smtplib.SMTP_SSL(gserver, gport)
        smtp = smtplib.SMTP_SSL(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)
        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err
def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
    sendqqmail('781851883@qq.com','mjjqsasaqxfwbcdj','781851883@qq.com',to,subject,content)

if __name__ == "__main__":
    main()
    
    
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
  1. 更改mail.py脚本的权限(很重要!!!),否则就会无法告警
[root@hf-01 ~]# chmod 755 /usr/lib/zabbix/alertscripts/qqmail.py
[root@hf-01 ~]# 
  1. 更改完端口号后,再来发送邮件,会发现没有报错,表示发送成功
[root@hf-01 ~]# cd /usr/lib/zabbix/alertscripts/
[root@hf-01 alertscripts]# python qqmail.py 781851883@qq.com "ssss" "dddd"
[root@hf-01 alertscripts]# 
  1. 查看QQ邮箱,会看到发送的邮件
  1. 创建一个接受告警邮件的用户(用户是用来接收邮件的),在创建用户的前提是创建一个用户组,用户组可以使用已经存在的, 所以这里直接创建用户,管理-->用户-->创建用户
  1. 再给刚刚的用户设置邮箱,管理-->用户-->报警媒介
  1. 更改用户的权限(默认用户是无),需要去修改群组,给予权限,管理-->用户群组
  1. 设置动作,配置-->动作-->创建动作
  • 配置-->动作-->操作
    • 默认信息:直接删除原有的(比较乱),粘贴下面的内容
    • 维护期间暂停操作:选择打勾(若不打对勾也可以,因为在动作的条件里定义了)
  • 配置-->动作-->恢复操作
    • 默认信息:直接删除原有的(比较乱),粘贴下面的内容(粘贴内容和操作里面复制进去的信息是相同的)
  • 最后确定 添加
  1. 测试告警和163邮箱一样,163邮箱测试告警

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和PYTHON有个约会

31.2企业级开发进阶3.2:接收电子邮件引入解析需要的模块解析邮件内容引入需要的模块定义解析邮件内容的函数decode_header解码操作函数

上一节内容中,我们通过Python进行了电子邮件发送功能的处理 本节内容内容主要讲解接收邮件功能的处理

702
来自专栏精讲JAVA

nginx+tomat https ssl 部署完美解决方案

转自:https://www.oschina.net/question/12_213459

1402
来自专栏西安-晁州

TortoiseGit记住用户名&密码

配置并安装好git之后鼠标右键: ? ? 在全局配置文件末尾添加一行: [credential]       helper = store *主意保存时以utf...

2240
来自专栏云计算教程系列

使用Debian 8进行初始服务器设置

当您第一次创建新的Debian 8服务器时,您应该尽早采取一些配置步骤作为基本设置的一部分。这将提高服务器的安全性和可用性,并为后续操作奠定坚实的基础。

2271
来自专栏云计算

Kubernetes的服务网格(第3部分):对通信进行加密

在本文中,我们将展示如何在不修改当前应用代码的前提下来为所有的服务到服务的(service-to-service) HTTP 调用提供 TLS 支持。

4018
来自专栏网络

一步步带你了解前后端分离利器之JWT

一、HTTP的无状态性 HTTP 是无状态协议,它不对之前发送过的请求和响应的状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理。假设要求登录认证的 ...

3185
来自专栏FreeBuf

任意用户密码重置(三):用户混淆

在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区...

2345
来自专栏云计算教程系列

如何在Ubuntu 14.04上保护Nginx

即使使用默认设置,Nginx也是一个非常安全可靠的Web服务器。但是,有很多方法可以进一步保护Nginx。

1562
来自专栏增长技术

Android应用apk的程序签名

在调试应用程序时,Android SDK工具会自动对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Rel...

2371
来自专栏SpiritLing

自己写的加密网页,与百度网盘私密很相似,需要密码才能访问(原创)

题记: 马上就要招聘了,所以我打算放置简历在自己的网页上,但是又不想给除了招聘的人,或者我指定的人外看,所以我需要对网页页面加密 我找了许多资料,查看了许多所谓...

5385

扫码关注云+社区

领取腾讯云代金券