在日常运维中经常用到监控,其常用的是短信报警、邮件报警等。相比短信报警,邮件报警是一个非常低成本的解决方法,无须付给运营商短信费用,一条短信有字数限制,而邮件无此限制,因此邮件报警可以看到更多告警信息。

下面使用Python发送邮件的功能来实现报警信息实时发送至邮箱,具体需求说明如下。

(1)文本文件txt约定格式:

第一行为收件人列表,以逗号分隔;

第二行为主题;

第三行至最后一行为正文内容;

最后一行如果是文件,则作为附件发送,支持多个附件,以逗号分隔。

下面是一个完整的例子。

xxx@163.com , yyy@163.com

xxx程序报警

报警信息。。。。

。。。。

/home/log/xxx.log, /tmp/yyy.log

(2)持续监控一个目录A下的txt文件,如果有新增或修改,则读取文本中的内容并发送邮件。

(3)有报警需求的程序可生成(1)中格式的文本文件并传送至目录A即可。任何程序基本都可以实现本步骤。

现在我们就使用Python来实现上述需求,涉及的Python知识点有:文件编码、读文件操作、watchdog模块应用及发送邮件。

【示例 1 】首先编写一个发送邮件的类,其功能是解析文本文件内容并发送邮件。

文件txt2mail.py内容如下:

21. 将报警信息实时发送至邮箱相关推荐

  1. 【Web技术】网站留言系统开发,及留言信息实时发送至指定邮箱

    [Web技术]网站留言系统开发,及留言信息实时发送至指定邮箱 关键字:HTML PHP JavaScript CSS 文章目录 [Web技术]网站留言系统开发,及留言信息实时发送至指定邮箱 0 简述 ...

  2. WinCC Alarmhelper,帮助将WinCC报警信息实时推送至用户微信端

    提示:WinCC报警即时提醒工具(WinCC AlarmHelper),可帮助自动化工程师快速实现WinCC监控系统下产生的故障.报警等信息,实时推送至指定用户的微信端,实现在公众号下的即时报警信息查 ...

  3. .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

    前言 大家好,我是晓晨.许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具.比如我在2018年2月14日,9点来到公司我就 ...

  4. nagios报警信息,发送到微信端

    [url]http://www.oschina.net/code/snippet_2002927_54900[/url]

  5. 企业实战zabbix(7)--结合qqmail(报警信息发给qq用户)

    启用电子邮件,停用sms 方式一:设置qq邮箱,选择标准版的(目前已不可用) 方式二: 用手机下载qq邮箱app,进行以上相同的步骤. 注意: 配置zabbix-server虚拟机上网,使出现问题的时 ...

  6. rancher2.x设置邮件通知,使用163邮箱来接收k8s集群中的报警信息以及来自rancher的通知信息

    之前搭建了几个k8s集群然后使用了rancher来管理多个k8s集群,之前选择使用rancher主要是考虑从rancher应用商店中安装部署各种服务比较方便.但是,在我部署安装efk服务的时候(我自己 ...

  7. zabbix入门之使用QQ邮箱接受报警信息

    首先说明我使用的是3.2版本的zabbix 既然要发邮件到QQ邮箱报警,那么在centos7上就肯定需要安装发送邮件的软件了 安装应用 yum install mailx sendmail -y 接着 ...

  8. SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)

    SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊) 目录 SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊) 1.概述 2.最佳实践 2.1创建项目引入依赖(mail) ...

  9. 爬取游戏优惠信息,并且将结果发送到邮箱

    需求分析 昨天,我制作了爬取游戏优惠信息的程序,很快啊,一个朋友私信我说,你这个没用.这个话好像很耳熟啊,前两天就有朋友说我这个没用,主要因为是当时爬到的内容是外文的,看不懂,现在这个问题已经解决了, ...

最新文章

  1. 使用Zabbix自带MySQL模板监控MySQL
  2. 功能详细说明_广东税务产业链智联平台操作说明(电子税务局版)
  3. 可视化Python设计工具
  4. python 画三角函数_python,将三角函数绘制成二维数组
  5. python request处理_python requests异常处理
  6. struct sk_buff与struct socket及struct sock 结构体分析
  7. 使用NoSQL Manager for MongoDB客户端连接mongodb
  8. python引入pytesseract报错:ValueError: Attempted relative import in non-package
  9. MySQL Shell 教程
  10. 百度开源的 71 个项目,你用过几个 ?
  11. 【Python建模环境搭建】PyCharm的安装配置以及建模插件Matplotlib的安装
  12. node文件上传插件formidable的使用
  13. 产品经理需要了解的宏观趋势(共享经济专题)1/7
  14. 基于UML软件建模的企业人事管理系统
  15. OpenCV曝光参数和快门时间的对应关系
  16. Big Endian 和 Little Endian 详解
  17. OSPF 之 6类LSA详解
  18. set, setenv, export的区别
  19. 废旧光驱拆解与丝杆测试
  20. 仓鼠找sugar II

热门文章

  1. 如何修改计算机网络时间,在Win7系统中,电脑时间改不了怎么办?
  2. java 反编译 手游_Java反编译器(DJ Java Decompiler)
  3. linux 内核3.1,NVIDIA发布了新的Tegra Linux开发包,内核为3.1.x
  4. linux 有线网卡,linux下有线网卡出现ADDRCONF(NETDEV_UP): eth0: link is not ready的解决方法...
  5. 快速定位代码位置的IDEA小插件
  6. Spring Cloud构建微服务架构:分布式服务跟踪(入门)
  7. 应用宝上架审核要求_【建议收藏】安卓应用商店上架经验,含流程,方法
  8. vlc集成c#_C# Winform开发程序调用VLC播放器控件播放视频.
  9. python eve mysql_python连接 MySQ 数据库
  10. terminating with uncaught exception of type std::bad_cast: std::bad_cast