背景:AWS在遇到系統升級、系統故障等問題的時候,會在其官方論壇發佈通知,並同步到RSS數據庫
前言:咱們在項目中遇到幾回AWS的RDS出現故障致使系統受影響,當系統故障時,咱們的監控系統會發送一堆告警出來,提示數據庫異常。運維
正常來說,AWS的RDS不多出現問題,因此咱們排查問題的重心就在咱們本身的系統中,結果也沒有找到問題,最後在AWS中開啓技術支持才知道是RDS的問題。jsp
其實,當RDS出現技術性故障的時候,AWS會在論壇發佈通知。做爲運維,咱們不但願天天都去刷論壇查看是否有新的公告,若是有一種方式,當論壇發佈通知時,自動提醒咱們就行了。爲此,咱們研究了一種辦法,即訂閱AWS論壇的RSS,當論壇有新的通知時,RSS訂閱會更新,咱們的程序定時去獲取RSS最新信息便可。spa
有了這套程序,當數據庫異常時,咱們就能夠判斷時AWS的RDS異常致使的,仍是咱們本身的程序致使的。code
實現代碼以下:blog
注意: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)