云計(jì)算保障系統(tǒng)SLA之線上打樁

時(shí)間是我們最大的敵人 --奇異博士

云計(jì)算一個(gè)難點(diǎn)在于保障系統(tǒng)的高可用烙如,當(dāng)在發(fā)生故障的時(shí)候产上,能夠盡快的恢復(fù)(參考最近的gitlab和亞馬遜s3故障教訓(xùn))能颁。如同奇異博士所說次慢,工程師是在和時(shí)間作斗爭(zhēng)。監(jiān)控和報(bào)警是工作的重中之重粱檀。一般來(lái)說,我們肯定會(huì)做好宿主機(jī)層面和服務(wù)層面的監(jiān)控報(bào)警漫玄,否則系統(tǒng)形如裸奔茄蚯。

然而,某些場(chǎng)景中睦优,宿主機(jī)和服務(wù)運(yùn)行正常渗常,但是上面的虛擬機(jī)被異常關(guān)機(jī)或者重啟,抑或網(wǎng)絡(luò)連通性出現(xiàn)問題(包括私有網(wǎng)汗盘,外網(wǎng)皱碘,以及不帶外網(wǎng)的情況下通過L3訪問外網(wǎng)等),上述情況下現(xiàn)有的監(jiān)控覆蓋不到隐孽,不能及時(shí)發(fā)現(xiàn)問題癌椿;另外,每次線上更新主機(jī)和網(wǎng)絡(luò)的服務(wù)菱阵,需要觀察升級(jí)對(duì)已有云主機(jī)的影響踢俄。基于上述問題晴及,從用戶角度出發(fā)都办,有了這個(gè)線上打樁監(jiān)控的方案,切實(shí)提升系統(tǒng)可用性和服務(wù)SLA虑稼。

背景

由于目前的環(huán)境部署中琳钉,部分線上以及線下環(huán)境存在較大的配置和環(huán)境差異,導(dǎo)致部分問題線下測(cè)試中不存在蛛倦,無(wú)法提前發(fā)現(xiàn)歌懒,但是上線以后卻會(huì)對(duì)線上的業(yè)務(wù)運(yùn)行造成影響;

為了可以更好的進(jìn)行線上環(huán)境升級(jí)過程中虛擬機(jī)網(wǎng)絡(luò)連通性胰蝠,以及升級(jí)以后的業(yè)務(wù)正確性檢查歼培,考慮通過線上預(yù)埋部分打樁虛擬機(jī)震蒋,并在虛擬機(jī)內(nèi)部部署自動(dòng)化測(cè)試腳本的方式來(lái)實(shí)現(xiàn);在發(fā)現(xiàn)問題以后躲庄,可以通過郵件或IM報(bào)警的方式及時(shí)進(jìn)行日志推送查剖,及時(shí)發(fā)現(xiàn)問題和風(fēng)險(xiǎn),更好的保障線上的穩(wěn)定性和對(duì)外版本質(zhì)量噪窘。

實(shí)現(xiàn)思路概述

線上所有節(jié)點(diǎn)部署一臺(tái)虛擬機(jī)笋庄,虛擬機(jī)內(nèi)部部署測(cè)試工具進(jìn)行線上業(yè)務(wù)的網(wǎng)絡(luò)監(jiān)控,主要實(shí)現(xiàn)的功能包括:
1)同用戶私有網(wǎng)互聯(lián)倔监,所有節(jié)點(diǎn)之間直砂,虛擬機(jī)的私有網(wǎng)采用固定ip的形式
2)機(jī)房網(wǎng)互連,部分節(jié)點(diǎn)間進(jìn)行浩习,包括同用戶和跨用戶均包含(跨租戶主要進(jìn)行acl的功能檢查)
3)私有網(wǎng)訪問外網(wǎng)連通性/dns解析功能静暂,部分節(jié)點(diǎn)中的部分虛擬機(jī)(dns-server功能驗(yàn)證、L3功能檢查)
4)外網(wǎng)訪問外網(wǎng)連通性/dns解析功能谱秽,部分節(jié)點(diǎn)中的部分虛擬機(jī)(外網(wǎng)檢查洽蛀、dns-server功能驗(yàn)證)
5)公共服務(wù)訪問/優(yōu)先路由驗(yàn)證(虛擬機(jī)路由推送功能驗(yàn)證)

其中,網(wǎng)絡(luò)連通性方面通過ping進(jìn)行檢查疟赊,時(shí)間間隔為0.2s郊供,結(jié)果方式采用如下的形式進(jìn)行記錄:
[date] [src_ip] [dst_ip] [state] 例如:07/14/15---15:39:43 10.180.164.230 10.180.164.231 ok

網(wǎng)絡(luò)方面無(wú)異常出現(xiàn)的情況不做任何推送操作,僅打印日志記錄近哟;在網(wǎng)絡(luò)出現(xiàn)異常后驮审,打印日志,同時(shí)通過IM或郵件的形式進(jìn)行實(shí)施告警推送吉执。

此部分為了應(yīng)對(duì)一些維護(hù)場(chǎng)景導(dǎo)致的網(wǎng)絡(luò)異常出現(xiàn)疯淫,實(shí)現(xiàn)中可配置業(yè)務(wù)開關(guān)來(lái)設(shè)置是否推送告警,如確定為維護(hù)操作或其他已知人為操作導(dǎo)致的異常鼠证,可關(guān)閉開關(guān)停止告警峡竣;并且可以在業(yè)務(wù)恢復(fù)后打開開發(fā)繼續(xù)進(jìn)行監(jiān)控。

由于實(shí)現(xiàn)中量九,需要在每個(gè)節(jié)點(diǎn)進(jìn)行虛擬機(jī)的預(yù)埋适掰,所以會(huì)占用部分線上的資源,使用中會(huì)選取最小的規(guī)格(1v1e,512M內(nèi)存)來(lái)進(jìn)行驗(yàn)證荠列,盡量少的占用系統(tǒng)資源类浪。

實(shí)現(xiàn)

主要通過python fabric模塊,進(jìn)行打樁機(jī)腳本與配置文件的下發(fā)和服務(wù)的部署肌似。

Paste_Image.png

另外需要考慮到日志回滾费就,進(jìn)程守護(hù)等問題。進(jìn)行好logrotate川队,和supervisor配置文件的準(zhǔn)備力细。

配置說明

  • 本程序是通過讀取 private_network.list 進(jìn)入對(duì)應(yīng)的云主機(jī)(用root登錄)
  • 另外需要準(zhǔn)備這些 云主機(jī) root 賬戶的ssh私鑰睬澡。并在 remote_test.py 中進(jìn)行配置
  • 在 /config 目錄下的 global.conf 進(jìn)行全局配置。包括郵件報(bào)警是否開啟眠蚂,收件人煞聪,測(cè)試的環(huán)境等

ip_list 目錄下,各個(gè)需要 check 的 ip list 準(zhǔn)備好

  • 私有網(wǎng)
  • 機(jī)房網(wǎng)
  • 外網(wǎng)ip
  • dns 連通性測(cè)試ip

運(yùn)行

執(zhí)行一次逝慧,在命令行下看連通性結(jié)果昔脯。

fab -f network_check.py dry_run

拉起所有節(jié)點(diǎn)云主機(jī)測(cè)試連通性服務(wù)。

fab -f network_check.py start

停止所有節(jié)點(diǎn)測(cè)試連通性服務(wù)笛臣。

fab -f network_check.py stop

抓回所有節(jié)點(diǎn)的日志云稚。

fab -f network_check.py get_log

并行執(zhí)行,可以加上 -P 參數(shù)。

fab -f network_check.py start -P

實(shí)現(xiàn)效果展示

報(bào)警消息

Paste_Image.png

登錄到哨兵監(jiān)控節(jié)點(diǎn)看一下日志沈堡,果然在10:40左右10.173.32.77網(wǎng)絡(luò)連通性異常静陈。


Paste_Image.png

通過私有網(wǎng)ip反查對(duì)應(yīng)宿主機(jī)所在節(jié)點(diǎn)。


Paste_Image.png

查看宿主機(jī)對(duì)應(yīng)的監(jiān)控诞丽,果然在該段時(shí)間內(nèi)有異常產(chǎn)生窿给。

Paste_Image.png

結(jié)論

通過在物理機(jī)上部署打樁的云主機(jī),進(jìn)行網(wǎng)絡(luò)連通性檢測(cè)率拒,能夠更早的發(fā)現(xiàn)某些異常場(chǎng)景,為問題排查與服務(wù)恢復(fù)爭(zhēng)取更多時(shí)間禁荒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末猬膨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子呛伴,更是在濱河造成了極大的恐慌勃痴,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件热康,死亡現(xiàn)場(chǎng)離奇詭異沛申,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)姐军,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門铁材,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人奕锌,你說我怎么就攤上這事著觉。” “怎么了惊暴?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵饼丘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我辽话,道長(zhǎng)肄鸽,這世上最難降的妖魔是什么卫病? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮典徘,結(jié)果婚禮上蟀苛,老公的妹妹穿的比我還像新娘。我一直安慰自己烂斋,他們只是感情好屹逛,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汛骂,像睡著了一般罕模。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帘瞭,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天淑掌,我揣著相機(jī)與錄音,去河邊找鬼蝶念。 笑死抛腕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的媒殉。 我是一名探鬼主播担敌,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼廷蓉!你這毒婦竟也來(lái)了全封?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桃犬,失蹤者是張志新(化名)和其女友劉穎刹悴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攒暇,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡土匀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了形用。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片就轧。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖尾序,靈堂內(nèi)的尸體忽然破棺而出钓丰,到底是詐尸還是另有隱情,我是刑警寧澤每币,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布携丁,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梦鉴。R本人自食惡果不足惜李茫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肥橙。 院中可真熱鬧魄宏,春花似錦、人聲如沸存筏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)椭坚。三九已至予跌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間善茎,已是汗流浹背券册。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留垂涯,地道東北人烁焙。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像耕赘,于是被迫代替她去往敵國(guó)和親骄蝇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容