什么類(lèi)型的監(jiān)控,才決定我凌晨要不要起床處理?
之前聊的《多維度立體化監(jiān)控)》,是非常完善的監(jiān)控體系,但其中還缺了一環(huán)“用戶(hù)視角的監(jiān)控”,這一環(huán),一定程度上決定了:凌晨收到告警,我要不要立刻起床處理。
什么是用戶(hù)視角的監(jiān)控?
把系統(tǒng)內(nèi)部當(dāng)作黑盒:
- 用戶(hù)怎么訪問(wèn)系統(tǒng),用戶(hù)視角的監(jiān)控就怎么訪問(wèn)系統(tǒng);
- 用戶(hù)調(diào)用哪些接口,用戶(hù)視角的監(jiān)控就調(diào)用哪些接口;
用戶(hù)視角的監(jiān)控有什么特點(diǎn)?
此類(lèi)監(jiān)控的粒度較粗,并不直接監(jiān)控web-server, service, db, cache…
為什么要有用戶(hù)視角的監(jiān)控?
非用戶(hù)視角進(jìn)行的監(jiān)控有什么不足?
如上圖所示,立體化監(jiān)控的八大維度,除了用戶(hù)視角的監(jiān)控,另外七大維度,不管是機(jī)器監(jiān)控,日志監(jiān)控,接口監(jiān)控,都是系統(tǒng)內(nèi)部發(fā)起的,當(dāng)系統(tǒng)外部與系統(tǒng)之間出現(xiàn)問(wèn)題的時(shí)候,例如:
- “某個(gè)省的光纖被挖斷”;
- “某條網(wǎng)絡(luò)鏈路出現(xiàn)丟包”;
- “某個(gè)地域供應(yīng)商往頁(yè)面里又插入小廣告了”;
常態(tài)監(jiān)控是檢測(cè)不出來(lái)的。
只有站在用戶(hù)視角的監(jiān)控,才能檢測(cè)出類(lèi)似的問(wèn)題。
凌晨三點(diǎn),告警短信響了,到底要不要起床檢查系統(tǒng)?
這個(gè)問(wèn)題,是和技術(shù)人密切相關(guān)的問(wèn)題。
如何系統(tǒng)設(shè)計(jì)的合理,不管是任何一臺(tái) nginx, tomcat, service, cache, db 掛了,由于系統(tǒng)的高可用架構(gòu)設(shè)計(jì),理論上都不應(yīng)該影響一線用戶(hù)的訪問(wèn)。
于是乎,只要用戶(hù)視角的監(jiān)控不告警,是可以第二天再起床處理其他監(jiān)控的告警的。
畫(huà)外音:這幫不靠譜的架構(gòu)師,每次都說(shuō)能高可用,任何一個(gè)地方掛了,用戶(hù)就受影響了。
如何進(jìn)行用戶(hù)視角的監(jiān)控?
主要有三類(lèi)方法:
- 用戶(hù)所在的地方,租機(jī)房布點(diǎn)監(jiān)控;
- 端(APP/browser)上布點(diǎn)監(jiān)控;
- 使用第三方監(jiān)控平臺(tái);
如何租機(jī)房布點(diǎn)監(jiān)控?
如上圖所示,在用戶(hù)所在城市租賃機(jī)房(只需要一臺(tái)服務(wù)器),部署監(jiān)控小程序,對(duì)系統(tǒng)進(jìn)行外網(wǎng)訪問(wèn)監(jiān)控,就能夠檢測(cè)網(wǎng)絡(luò)鏈路,路由延時(shí)。
缺點(diǎn):額,各個(gè)城市租賃一臺(tái)服務(wù)器,成本有點(diǎn)高(不止費(fèi)用,管理成本也高)。
如何端上布點(diǎn)監(jiān)控?
如上圖所示,假設(shè)用戶(hù)使用的是APP產(chǎn)品,可以在APP上部署一個(gè)小的監(jiān)控sdk,定期上報(bào)一些數(shù)據(jù),根據(jù)地域IP訪問(wèn)的同比環(huán)比“趨勢(shì)”判定某個(gè)地域用戶(hù)的網(wǎng)絡(luò)情況。
缺點(diǎn):會(huì)損耗用戶(hù)一些流量。另外,既然是“趨勢(shì)判定”,沒(méi)有在自己機(jī)房?jī)?nèi)布點(diǎn)那么精確。
如何使用第三方監(jiān)控平臺(tái)?
既然是每個(gè)公司都有的痛點(diǎn),實(shí)施起來(lái)又這么麻煩,自然有創(chuàng)業(yè)公司做這個(gè)事情。
可以購(gòu)買(mǎi)第三方監(jiān)控平臺(tái)的服務(wù),在配置后臺(tái)配置:
- 待監(jiān)控的頁(yè)面,或者h(yuǎn)ttp接口;
- 頻率,閾值;
- 告警接收人;
等信息,就能夠快速實(shí)時(shí)全國(guó)各城市,甚至全世界各個(gè)國(guó)家的用戶(hù)視角監(jiān)控了,非常帥氣。
第三方監(jiān)控平臺(tái)是怎么實(shí)現(xiàn)全國(guó),全世界布點(diǎn)監(jiān)控的?
額,他們租了機(jī)房。
缺點(diǎn):有點(diǎn)貴,一般是按照調(diào)用次數(shù)來(lái)收費(fèi)的。
簡(jiǎn)單總結(jié):
- 用戶(hù)視角監(jiān)控,把系統(tǒng)當(dāng)作黑盒的一種粗粒度監(jiān)控;
- 用戶(hù)視角監(jiān)控,能檢測(cè)出局部地域的用戶(hù)訪問(wèn)異常;
- 用戶(hù)視角監(jiān)控,有自主租賃機(jī)房布點(diǎn),端上布點(diǎn)趨勢(shì)檢測(cè),使用第三方服務(wù)三種方式;
知其然,知其所以然。
思路比結(jié)論更重要。