背景:AWS在遇到系统升级、系统故障等问题的时候,会在其官方论坛发布通知,并同步到RSS

前言:我们在项目中遇到几次AWS的RDS出现故障导致系统受影响,当系统故障时,我们的监控系统会发送一堆告警出来,提示数据库异常。

正常来讲,AWS的RDS很少出现问题,所以我们排查问题的重心就在我们自己的系统中,结果也没有找到问题,最后在AWS中开启技术支持才知道是RDS的问题。

其实,当RDS出现技术性故障的时候,AWS会在论坛发布通知。作为运维,我们不希望每天都去刷论坛查看是否有新的公告,如果有一种方式,当论坛发布通知时,自动提醒我们就好了。为此,我们研究了一种办法,即订阅AWS论坛的RSS,当论坛有新的通知时,RSS订阅会更新,我们的程序定时去获取RSS最新信息即可。

有了这套程序,当数据库异常时,我们就可以判断时AWS的RDS异常导致的,还是我们自己的程序导致的。

实现代码如下:

注意:RSS中的时间为UTC时间,故脚本中获取当前时间使用的是datetime.datetime.utcnow()

#auther by zls
#_*_coding:utf-8_*_
import feedparser
import datetime
#获取RDS论坛的通知
d = feedparser.parse('https://forums.aws.amazon.com/rss/rssannounce.jspa?forumID=60')
#解析通知
for item in d.entries:
#获取论坛通知的发布事件
rss_day = item.jf_date
#获取本地事件
local_day = datetime.datetime.utcnow().strftime('%b %d, %Y')
#判断该通知是否为今天发布的
if rss_day == local_day:
#如果是今天发布的,可以定义您自己的通知方式,这里只是打印出来
print "公告标题:%s" %(item.title)
print "公告链接:%s" %(item.link)
print "公告简介:%s" %(item.description)
print "公告时间:%s" %(item.jf_date)

最新文章

  1. 【JAVA并发编程实战】6、中断
  2. JAVA Web day03--- Android小白的第三天学习笔记
  3. exec
  4. flexbox布局模式-- 浅谈
  5. supervisor:进程管理工具
  6. cocos2d-x精灵移动的方法
  7. Visual Studio的ASP.NET修改默认打开浏览器
  8. 线程:Semaphore实现信号灯
  9. VHDL设计问题
  10. jQuery之文档处理
  11. c#(asp.net) 多线程示例,用于同时处理多个任务
  12. 如何排查CPU飙升的Java问题
  13. CSS引入
  14. 【Android Studio安装部署系列】十九、Android studio使用SVN
  15. Util6 MIS2.0 (优六信息化管理系统框架)
  16. dispatchers 设置
  17. HDU 1241 Oil Deposits(石油储藏)
  18. Webservice之axis
  19. python 基础 内置函数
  20. 26. The Greenhouse Effect and Its Consequences 温室效应及其后果

热门文章

  1. 不同的Linux之间copy文件常用方法
  2. UML结构体系简介
  3. grails email 发送邮件插件
  4. uasy-datetimebox的使用
  5. Hibernate体系结构
  6. Java sql server数据库连接成功
  7. Eclipse 任务管理
  8. git commit --amend用法
  9. ios代码实现时间设置NSDate
  10. conda 和 pip 安装,更新,删除