在去年的世界杯比賽期間,Nate Silver和他在地窖里的通靈巫師也犯了錯(cuò)誤——他是如何做到如此精準(zhǔn)的預(yù)測(cè)呢?確實(shí)錯(cuò)了。他們完全預(yù)測(cè)錯(cuò)了德國(guó)與巴西的比賽結(jié)果。正如Silver所描述的,這是一場(chǎng)完全不可能預(yù)測(cè)準(zhǔn)確的比賽。
在體育和范圍更小的政治領(lǐng)域,遇到這種事情也只能是吞下苦果,接受這個(gè)偶然事件——統(tǒng)計(jì)行業(yè)中稱為黑天鵝,然后繼續(xù)原本的生活。
但是作為網(wǎng)絡(luò)管理員,我們知道在IT行業(yè)中不應(yīng)該采取這種方式。
按照我的經(jīng)驗(yàn),當(dāng)IT系統(tǒng)出現(xiàn)黑天鵝事件時(shí),管理層通常會(huì)對(duì)這種事件諱莫如深。隨后就會(huì)召開(kāi)一個(gè)“經(jīng)驗(yàn)總結(jié)會(huì)”,目的是傳遞精神保證以后不再發(fā)生類似的系統(tǒng)宕機(jī)事件。
不要花太多的時(shí)間去研究可能發(fā)生的事情
這里我并不是說(shuō),在發(fā)生故障之后,我們就可以無(wú)憂無(wú)慮地忽視所有已經(jīng)學(xué)到的經(jīng)驗(yàn)教訓(xùn)。相反,我們要遠(yuǎn)離它。在故障消失之后,你通常能夠發(fā)現(xiàn)未來(lái)避免問(wèn)題發(fā)生的方法。在發(fā)生意外事件之后,一個(gè)IT組織應(yīng)該做的第一件事就是未來(lái)是否能夠預(yù)測(cè)故障,或者說(shuō)是否有時(shí)候歷史數(shù)據(jù)不足以確定一種固定的概率。
如果是后者,那么我可以告訴你,你更應(yīng)該將精力投入到其他地方。更好的方法是什么?不要花時(shí)間都確定一種可能性是否存在,而應(yīng)該去發(fā)現(xiàn)和克服IT每天都會(huì)遇到的常見(jiàn)問(wèn)題。現(xiàn)在很多人都忽視了這種策略。
不信?那我們來(lái)看另一個(gè)例子,這不是一個(gè)虛構(gòu)的公司,我知道這個(gè)公司曾經(jīng)遇到一次嚴(yán)重的IT故障,因此遭受了近10萬(wàn)美元的損失。管理層當(dāng)然非常不安。公司很快建立了一個(gè)工作小組去確定故障的根源,然后推薦一些措施避免將來(lái)發(fā)生相同的故障。聽(tīng)起來(lái)很合理,是嗎?
這個(gè)工作小組由5位來(lái)自于服務(wù)器、網(wǎng)絡(luò)、存儲(chǔ)、數(shù)據(jù)庫(kù)和應(yīng)用程序團(tuán)隊(duì)的成員構(gòu)成。他們花了三個(gè)月時(shí)間和每個(gè)月超過(guò)100個(gè)人時(shí)的時(shí)間去調(diào)查問(wèn)題根源。保守地估算,假設(shè)這家公司的每小時(shí)人力成本為50美元。那么5人、100個(gè)小時(shí)、3個(gè)月折算過(guò)來(lái)就是近12.5萬(wàn)美元。
現(xiàn)實(shí)并非想象的那樣合理
是的,最終不僅所有根源問(wèn)題都找到了——至少找到了大部分,而且也添加了代碼,(可能)預(yù)測(cè)下次相同事件的爆發(fā)。聽(tīng)起來(lái)似乎并不差。但是要記住一點(diǎn):這家公司花費(fèi)了比原先故障的損失還多2.5萬(wàn)的資金去創(chuàng)建一個(gè)系統(tǒng)宕機(jī)解決方案,而這個(gè)方案還不一定能準(zhǔn)確地預(yù)報(bào)類似事件的發(fā)生。
似乎它并不是很合理。
你可能會(huì)想:“但是,你覺(jué)得我們應(yīng)該關(guān)注于什么呢?畢竟,我們的職責(zé)就是和公司其他同事一起守住底線(不讓系統(tǒng)宕機(jī))。”
我明白這一點(diǎn),我要強(qiáng)調(diào)的重點(diǎn)并不是這個(gè)。我們來(lái)對(duì)比一下前面的黑天鵝例子,一起來(lái)看看一個(gè)更常見(jiàn)的問(wèn)題:網(wǎng)絡(luò)接口卡(NIC)故障。
在這個(gè)例子中,另一個(gè)并非虛構(gòu)的公司發(fā)現(xiàn)帶寬使用峰會(huì)并且一直很高。當(dāng)傳輸速率下降到最低,然后NIC招聘錯(cuò)誤,并且最終卡死。問(wèn)題是,在監(jiān)控帶寬使用率時(shí),停止響應(yīng)或消失的網(wǎng)卡上并沒(méi)有發(fā)出警報(bào)(公司監(jiān)控了最后連接的IP,因此遠(yuǎn)程終端中斷時(shí)WAN鏈路并沒(méi)有發(fā)出警報(bào)。)
我們假設(shè)一個(gè)NIC故障平均需要一個(gè)小時(shí)才能被發(fā)現(xiàn)和正確診斷原因,然后網(wǎng)絡(luò)管理員需要兩個(gè)小時(shí)才能修復(fù)問(wèn)題,而他們的人力成本是53美元每小時(shí)。在線路中斷時(shí),公司每小時(shí)要損失1000美元的收入,并且還會(huì)失去市場(chǎng)機(jī)會(huì)等等。這意味著這樣的宕機(jī)會(huì)讓公司損失3106美元。
設(shè)置一個(gè)包含警報(bào)和監(jiān)控的框架
現(xiàn)在可以這樣考慮,按照我的經(jīng)驗(yàn),正確的監(jiān)控和警報(bào)可以將發(fā)現(xiàn)和診斷這種NIC故障問(wèn)題的時(shí)間縮短為15分鐘。僅此而已。不需要任何其他的措施,至少在這個(gè)案例中不需要。但是,這種簡(jiǎn)單的措施可以將宕機(jī)損失減少750美元。
我知道這些數(shù)字聽(tīng)起來(lái)并不太震撼。但是,要知道中等規(guī)模的公司可能每年就可能輕松遇到100次NIC故障。如果沒(méi)有監(jiān)控這些問(wèn)題,加起來(lái)就是30萬(wàn)美元的損失,而如果部署警報(bào)則每天可以節(jié)省7.5萬(wàn)美元。
這還不算預(yù)測(cè)NIC故障和提前更換網(wǎng)卡所避免的損失。如果我們估計(jì)使用預(yù)測(cè)監(jiān)控能夠避免掉50%的故障,那么可能節(jié)省的費(fèi)用可能在19萬(wàn)美元以上。
同樣,我并不是說(shuō)不應(yīng)該去做好應(yīng)付黑天鵝事件的準(zhǔn)備工作,但是如果預(yù)算比較緊張,有時(shí)候一些針對(duì)常見(jiàn)問(wèn)題的簡(jiǎn)單警報(bào)所能避免的損失要高于去預(yù)測(cè)和防止可能不出現(xiàn)的“大問(wèn)題”。
畢竟,NIC故障并不是大問(wèn)題。甚至我認(rèn)為Nate Silver也認(rèn)同這一點(diǎn)。