【AWS】订阅AWS论坛的RSS消息获取最新公告
背景: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)
【AWS】订阅AWS论坛的RSS消息获取最新公告的更多相关文章
- 订阅Jenkins的邮件列表,获取最新的信息
进入https://jenkins.io/content/mailing-lists/ 点击感兴趣的话题 选择[archive]跳转到谷歌讨论组 最后,点击左上角的[Subscribe]即可加入Goo ...
- shell命令获取最新文件的名称
最近有一个需求,在部署游戏战场服时,从程序包到部署需要做一些本地化的操作,手工操作费时费力,故写一个shell脚本,一键部署. 遇到的问题是每次要部署最新的程序包,因此需要shell命令获取最新的文件 ...
- Android网络开发之实时获取最新数据
在实际开发中更多的是需要我们实时获取最新数据,比如道路流量.实时天气信息等,这时就需要通过一个线程来控制视图的更新. 示例:我们首先创建一个网页来显示系统当前的时间,然后在Android程序中每隔5秒 ...
- IOS 获取最新设备型号方法
1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...
- SQL 去除重复、获取最新记录
应用中常会有需要去除重复的记录,或者获取某些最新记录(如:每个用户可以答题多次,每次答题时间不同,现在要获取所有用户的最新答题记录,即每个用户取最新的一条) 使用group 和max 即可实现上述功能 ...
- git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地
git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout ...
- [Jacky] 解决Ext.Net GridPanel 选择的行数据刷新后不能获取最新值
选择GridPanel中一行数据,当变更数据时并重新刷新之后不能获取最新值,需通过如下方式获取: var internalId = gridPanel.getSelectionModel().getL ...
- Git中从远程的分支获取最新的版本到本地
Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit l ...
- Swift - 文本输入框内容改变时响应,并获取最新内容
1,问题描述 有时我们开发的时候需要先把“确认”按钮初始设置为不可用,当文本框中输入文字以后,再将输入按钮变为可用. 2,实现原理 (1)要检测文本框内容的变化,我们需要让新界面的Controller ...
随机推荐
- 基于RocketIO的高速串行协议设计与实现
随着对信息流量需求的不断增长, 传统并行接口技术成为进一步提高数据传输速率的瓶颈.过去主要用于光纤通信的串行通信技术—SERDES正在取代传统并行总线而成为高速接口技术的主流.SERDES 是串行器) ...
- 深入剖析tomcat的类加载机制
1JVM类加载机制 JVM的ClassLoader通过Parent属性定义父子关系,可以形成树状结构.其中引导类.扩展类.系统类三个加载器是JVM内置的. 它们的作用分别是: 1)引导类加载器:使用n ...
- centos 7 下安装haproxy
1 haproxy 下载 从如下目录下载haproxy:http://www.haproxy.org/download/1.7/src/haproxy-1.7.1.tar.gz 2 haproxy 安 ...
- 机器人的运动范围 剑指offer66题
include "stdafx.h" #include<vector> #include<algorithm> #include<string> ...
- raw flash vs FTL
1. 区别 raw flash devices: NAND, NOR, OneNAND, etc,其被作为MTD设备处理(既不是字符设备,也不是块设备). FTL device:Flash Trans ...
- ftp 下载最近一小时的文件
#!/bin/bash #cd /home/ftptmp/ ftp -v -n 192.168.0.100 2121 <<EOF user test 2009 binary cd OU ...
- Eclipse 浏览(Navigate)菜单
浏览 Eclipse 工作空间 浏览(Navigate)菜单提供了多个菜单可以让你快速定位到指定资源. 上图中 Open Type, Open Type in Hierarchy 和 Open Res ...
- 如何用MathType编辑圆圈符号
数学往往是由很多的公式和符号组成的,一些用户朋友在写文章需要用到一些符号的时候,发现一般的编辑器很难满足一些比较专业的需求.这个时候就需要一款专业的数学公式编辑器.公式编辑器MathType就是这样诞 ...
- 这样就能用MathType编辑^符号
大家都知道数学公式中的符号有很多,有些符号的名称还很多,比如,^这个字符,可以是乘方.插入符号.插入符.托字符等.所以一些用户在使用过程中有点搞不清,但是Mathtype的符号模板有很多种,基本可以满 ...
- ng-model ng-show
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...