告警系统邮件引擎、运行告警系统

简介:

告警系统邮件引擎

创建发邮件的脚本——mail.py
[root@centos7 mon]# cat mail/mail.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.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('jacker@163.com','12345','jacker@163.com',to,subject,content)
if name == "main":
main()

#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

创建邮件引擎的配置文件

[root@centos7 mon]# vi mail/mail.sh
#本脚本用于做告警收敛
#这个在main.sh主函数中定义了$log
log=$1
t_s=date +%s
#时间戳1
t_s2=date -d "2 hours ago" +%s
#时间戳2(两个小时之前的时间)
#定义该时间戳的目的是保证第一次执行该脚本时v大于一小时
#保证第一次执行的时候能报警
#因为只有发生故障的时候才会执行该脚本,所以第一次执行必须要报警
if [ ! -f /tmp/$log ]
then
echo $t_s2 > /tmp/$log
fi
#创建记录时间戳的日志文件
t_s2=tail -1 /tmp/$log|awk '{print $1}'
echo $t_s>>/tmp/$log
v=$[$t_s-$t_s2]
#两个时间戳的间隔时间
echo $v
#计时器:
if [ $v -gt 3600 ]
then
#如果时间间隔大于1小时,则启动报警系统
./mail.py $1 $2 $3
echo "0" > /tmp/$log.txt
#$log.txt为计数器文件:
else
if [ ! -f /tmp/$log.txt ]
then
echo "0" > /tmp/$log.txt
fi
#查看计数器文件中的数字
nu=cat /tmp/$log.txt
nu2=$[$nu+1]
echo $nu2>/tmp/$log.txt
#重置$log.txt数值
if [ $nu2 -gt 10 ]
then
#告警收敛:该故障持续十分钟,开始报警
./mail.py $1 "trouble continue 10 min $2" "$3"
echo "0" > /tmp/$log.txt
#告警结束后重新开始计数
fi
fi

运行告警系统

[root@centos7 mon]# crontab -e
#每分钟执行一次

相关文章
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
814 22
|
存储 监控 安全
邮件告警通知
【10月更文挑战第20天】
|
监控 Unix Shell
Nightingale——夜莺监控系统部署邮件告警系统【三】
Nightingale——夜莺监控系统部署邮件告警系统【三】
409 1
Nightingale——夜莺监控系统部署邮件告警系统【三】
|
Prometheus 运维 Cloud Native
【2023】Prometheus-接入Alertmanager并实现邮件告警通知
【2023】Prometheus-接入Alertmanager并实现邮件告警通知
1489 0
|
监控 关系型数据库 MySQL
zabbix监控所有机器端口、邮件告警
监控的意义 在发生问题时,能够让我们及时获知 监控的对象: 1、服务器监控:内存,cpu负载,磁盘使用率,进程数。。。。 2、应用程序监控:应用程序状态,相应时间, 3、数据库监控:数据库状态,表或者表空间大小,错误日志,死锁等现象 4、网络监控:网络状态 ,流量监控,端口,网络连接数。。。。 zabbix——企业级分布式开源监控解决方案 zabbix优点: 1、开源,无成本投入 2、server端对于机器性能要求低 3、支持设备多,自带监控模板 4、提供Api接口,可以与其他系统结合使用 zabbix缺点: 1、被监控机器需要安装agent 2、社区成熟,中文资料少 3、批量修改麻烦
zabbix监控所有机器端口、邮件告警
|
监控 Java 数据安全/隐私保护
zabbix添加自定义监控项&告警(邮件)
有的时候zabbix提供的监控项目,不能满足我们生产环境下的监控需求,此时我们就要按照zabbix的规范自定义监控项目,来达到监控的目的。
732 0
zabbix添加自定义监控项&告警(邮件)
|
数据安全/隐私保护 C++ Perl
07-rsync企业真实项目备份案例实战(需求收集--服务器配置---客户端配置---报警机制---数据校验---邮件告警)
2.需求描述 客户端需求: 1.客户端每天凌晨1点在服务器本地打包备份(系统配置文件、日志文件、其他目录、应用配置文件) 2.客户端备份的数据必须存放至以主机名IP地址当前时间命名的目录中,例如/backup/nfs_192.168.81.210_2020-05-26,其实更好的备份方式/backup/192.168.81.210/nfs_2020-05-26,一会采用后者,要求不只是备份文件,要求连上级目录一并拷过来
351 0
07-rsync企业真实项目备份案例实战(需求收集--服务器配置---客户端配置---报警机制---数据校验---邮件告警)
|
运维 DataWorks
DataWorks百问百答62:在运维中心设置了告警以后,没有收到告警的短信/邮件,如何解决?
在运维中心设置了告警以后,没有收到告警的短信/邮件,如何解决
2060 0
DataWorks百问百答62:在运维中心设置了告警以后,没有收到告警的短信/邮件,如何解决?
|
监控 数据安全/隐私保护 机器学习/深度学习
zabbix4.0配置发送告警邮件
zabbix4.0配置发送告警邮件
7248 0
|
SQL Go 数据库
SQL Server Alert发送告警邮件少了的原因
原文:SQL Server Alert发送告警邮件少了的原因 最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQL Server Severity Event 14”   USE [msdb] GO     IF NOT EXISTS(SELECT 1 FROM msdb.
1010 0

热门文章

最新文章