#!/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.163.com‘
gport = 25
try:
msg = MIMEText(unicode(content).encode(‘utf-8‘))
msg[‘from‘] = mailfrom
msg[‘to‘] = mailto
msg[‘Reply-To‘] = mailfrom
msg[‘Subject‘] = subject
smtp = smtplib.SMTP(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():br/>to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
sendqqmail(‘aliang678@163.com‘,‘liang123,‘aliang678@qq.com‘,to,subject,content)
if name == "main":
main()
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
发送邮件
python mail.py aliang678@163.com "aliang" "sfgsdfgssgf3543564356gfsdg"
查看邮箱是有收到邮件了
第一步到这里脚本创建完成
创建用户
再设置报警媒介
再看一下权限,显示无,如是没有权限是收不到告警邮件的,所以大家一定要请注意
要到用户组去更改权限,选择读写
再点选择,把所有组都选上,然后点添加,再点更新
这时候权限就变读写了
到这里用户配置完了
以下就配置动作
设置动作,“配置”,“动作”,“创建动作”,名称写“sendmail”
增加条件B
点操作
点新的
恢复操作
到这里告警的准备工作 做好了
下一步就是验证一下告警了
创建一条系统 负载告警
在监测中查看仪表板的最近20个问题里可以看到告警
查看动是完成还是失败或空的,空的很有可以是脚本没有权限
查看邮箱已收到邮件
再将告警的系统负载N值大于1
在监测中查看仪表板的最近20个问题里可以看到告警,这时候没有问题了,问题已恢复了
查看邮箱已收到邮件
更改主支与被动模式,在监控项里选择一种模式,点进去就可以配置了
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
原文地址:http://blog.51cto.com/13450039/2104149