質(zhì)量是公司的生命線!這個(gè)口號(hào)喊出去容易票编,做起來還是有挑戰(zhàn)的褪储,很多公司的口頭禪也都是這個(gè)。
線上的產(chǎn)品成型慧域,涉及的角色有銷售乱豆,運(yùn)營,項(xiàng)目吊趾,產(chǎn)品宛裕,測試,研發(fā)论泛,運(yùn)維揩尸,客服等等。但是交付給用戶體驗(yàn)的最后一道關(guān)卡是運(yùn)維屁奏。
運(yùn)維負(fù)責(zé)將代碼放到機(jī)器上供用戶使用岩榆,一旦出現(xiàn)問題,運(yùn)維也是第一個(gè)收到消息坟瓢,他需要直接解決或者聯(lián)合其他人員一層一層的定位修復(fù)勇边。
服務(wù)的穩(wěn)定保障分三個(gè)階段:事前,事中折联,事后粒褒。要想SLA服務(wù)可靠性如99%,99.9%诚镰,99.99%奕坟,99.999%,那么必須在事前做的足夠好才行清笨,這也是告警體系需要發(fā)揮的的價(jià)值月杉。
為什么一定要建設(shè)告警體系?
地震來了抠艾,要不要先通知你跑人苛萎?這就是告警體系的作用。
事前考驗(yàn)的是我們的架構(gòu)能力和體系建設(shè)能力;事中考驗(yàn)的是我們的經(jīng)驗(yàn)和技術(shù)能力腌歉;事后就需要我們復(fù)盤吸取教訓(xùn)完善事前和事中蛙酪。
事故一般什么時(shí)候發(fā)生?
普通的正常的業(yè)務(wù)迭代研發(fā)上線究履,只要服務(wù)集群足夠不會(huì)有太多的沖擊,就算有也不會(huì)是致命的脸狸。
活動(dòng)沖擊才是致命的最仑,德魯克總結(jié)說企業(yè)有兩個(gè)基本職能:營銷和創(chuàng)新。
恰恰公司運(yùn)營活動(dòng)是經(jīng)常有的炊甲,這個(gè)大家應(yīng)該都遇到過泥彤。活動(dòng)前期準(zhǔn)備工作我們會(huì)考慮到各種因素卿啡,但是大型活動(dòng)心里還是有擔(dān)心的怕有遺漏的怕出事故吟吝。
因此一個(gè)活動(dòng)要做好,必須有動(dòng)員能力颈娜,戰(zhàn)備能力剑逃,后勤能力, 任何一個(gè)環(huán)節(jié)出現(xiàn)問題都是致命的官辽。
動(dòng)員能力:相關(guān)人員一定要參與核心會(huì)議蛹磺,比如明天活動(dòng)8點(diǎn)開始,沒通知運(yùn)維在崗就完蛋了同仆。
戰(zhàn)備能力:準(zhǔn)備方案萤捆,進(jìn)行方案的討論和對(duì)應(yīng)人負(fù)責(zé)落地。
后勤能力:除了相關(guān)的核心技術(shù)人員要在崗俗批,還有技術(shù)經(jīng)理俗或,運(yùn)維經(jīng)理,架構(gòu)師岁忘,甚至總監(jiān)都要在崗辛慰,因?yàn)橐坏┏隽藛栴},他們的經(jīng)驗(yàn)會(huì)發(fā)揮超級(jí)大的價(jià)值干像,加快服務(wù)恢復(fù)速度昆雀。
事前的告警能力?
有沒有發(fā)現(xiàn)蝠筑,這個(gè)時(shí)候忽略了一個(gè)很重要的工作要做狞膘,就是告警。你想想兄弟們要去干仗了什乙,家伙事帶齊準(zhǔn)備沖挽封,但是前面有地雷,你要不要得到告警做應(yīng)變臣镣,還是當(dāng)炮灰辅愿。知己知彼才能百戰(zhàn)不殆智亮,監(jiān)控體系的建設(shè)是至關(guān)重要的!
監(jiān)控體系建設(shè)
關(guān)于建設(shè)監(jiān)控體系可以分三個(gè)階段來建設(shè)点待,可根據(jù)輕重緩急和團(tuán)隊(duì)的配置來做并不斷完善
第1階段:主機(jī)監(jiān)控
參與角色:SYS系統(tǒng)運(yùn)維+DBA數(shù)據(jù)庫運(yùn)維阔蛉。
這個(gè)階段是最基礎(chǔ)的,你需要保障應(yīng)用process癞埠,port状原,機(jī)器負(fù)載,數(shù)據(jù)庫負(fù)載等苗踪,一定要做的100%的監(jiān)控到位且能發(fā)出報(bào)警信息颠区。
第2階段:應(yīng)用性能監(jiān)控
參與角色:SRE應(yīng)用運(yùn)維+DEV運(yùn)維研發(fā)
這個(gè)階段關(guān)注的應(yīng)用的可靠性,將應(yīng)用的性能發(fā)揮到最優(yōu)通铲,給予研發(fā)同學(xué)最直接的支持毕莱。比如找出頻繁GC的代碼,SlowSql颅夺,最大優(yōu)化tps朋截,rt等等
第3階段:日志監(jiān)控
參與角色:SRE應(yīng)用運(yùn)維+DEV運(yùn)維研發(fā)
這個(gè)階段關(guān)注的是業(yè)務(wù)數(shù)據(jù)全局觀,也就是上帝視角吧黄。如服務(wù)HTTP200成功率质和,失敗率,平均響應(yīng)時(shí)間稚字,日志歸集統(tǒng)一查看等等
第1-3階段:持續(xù)優(yōu)化
1,告警規(guī)則:
監(jiān)控面對(duì)的是不同的業(yè)務(wù)部門饲宿,不同的產(chǎn)品,那么要根據(jù)這些創(chuàng)建合適的觸發(fā)告警的規(guī)則胆描。
設(shè)定告警級(jí)別:1級(jí)瘫想,2級(jí), 3級(jí)昌讲,4級(jí)国夜。具體的1,2短绸,3车吹,4級(jí)重要程度,可以根據(jù)業(yè)務(wù)關(guān)注的點(diǎn)來設(shè)定醋闭。
設(shè)定閥值:將維度窄驹,指標(biāo),閥值與告警級(jí)別關(guān)聯(lián)证逻。
2,告警通知:
設(shè)置通知:郵件乐埠,IM,短信,電話丈咐。1瑞眼,2級(jí)別可以用電話+短信通知。 3級(jí)可以是短信+IM棵逊。4級(jí)可以只是IM伤疙。
設(shè)置告警分組:不同產(chǎn)品負(fù)責(zé)人只收到對(duì)應(yīng)產(chǎn)品的告警信息。如果你創(chuàng)建一個(gè)大群什么信息都往群里丟辆影,干擾消息多了大家會(huì)開啟免打擾模式徒像。
設(shè)置值班組:對(duì)應(yīng)的值班組的人員接收全部告警信息且需在崗并努力恢復(fù)服務(wù)解除告警。
3,業(yè)務(wù)可視化
這個(gè)非常重要秸歧!你需讓收到通知的人厨姚,點(diǎn)擊通知里面的鏈接能跳轉(zhuǎn)到一個(gè)可視化的頁面衅澈,從而幫助他分析問題键菱,快速解決問題。這個(gè)可視化是一個(gè)非常重要的監(jiān)控系統(tǒng)平臺(tái)今布,需要持續(xù)的去建設(shè)经备。
打比方,我們之前遇到個(gè)場景部默,用戶說登錄不了侵蒙,同時(shí)我們也收到了java服務(wù)掛掉的報(bào)警,我們先將日志記錄并將服務(wù)啟動(dòng)傅蹂。但是服務(wù)依然沒有恢復(fù)纷闺,這個(gè)時(shí)候經(jīng)過分析判斷可能是負(fù)載高接著去擴(kuò)容機(jī)器,發(fā)現(xiàn)依然沒有恢復(fù)份蝴,最后發(fā)現(xiàn)是數(shù)據(jù)庫掛了犁功。
這就是解決問題沒有解決在根本點(diǎn)上,白白浪費(fèi)了時(shí)間婚夫。當(dāng)然其中告警系統(tǒng)也故障了浸卦,理論來說數(shù)據(jù)庫掛掉你應(yīng)該收到消息。任何時(shí)候告警信息一旦收到案糙,你第一時(shí)間去看的應(yīng)該是大盤限嫌。用上帝視角去排查,會(huì)加快問題的解決速度时捌。這就是業(yè)務(wù)全局可視化的重要性怒医。
總結(jié):
告警體系是需要花精力花功夫持續(xù)建設(shè)的,所謂的養(yǎng)兵千日用兵一時(shí)真的是最好的形容了奢讨。
在穩(wěn)定時(shí)期你做的這些對(duì)業(yè)務(wù)方是無感的裆熙,也會(huì)覺得沒什么價(jià)值。 但是如果一旦出了事故,你努力3個(gè)月想拿一個(gè)A到頭來結(jié)果等來一個(gè)D入录,而且整個(gè)團(tuán)隊(duì)都是D蛤奥,那真是RILE!
運(yùn)維保障服務(wù)的穩(wěn)定性就是給公司創(chuàng)造的最大價(jià)值僚稿,做不了王凡桥,那就做王背后的男人吧。