獨立經(jīng)營福州,福州,福州,電信高防機房
服務(wù)器“異?!钡膸讉€可能性預(yù)警請重視!
提到服務(wù)器宕機檢測,大家會想到,宕機能夠很快知道,這個有可做的?實際上,很多時候服務(wù)器宕機,并不總是被及時感知。服務(wù)器宕機,ping或者ssh這是的做法,但真正的工程實踐,沒這么簡單。
想要獲知服務(wù)器宕機么辦?可以通過服務(wù)器宕機實時檢測:
1)發(fā)現(xiàn)宕機
2)提前告警。
3)告知宕機的詳細(xì)原因,如硬件故障,內(nèi)核bug,網(wǎng)絡(luò)異常等等。
4)自動報修生成工單。
我們知道,進行全網(wǎng)物理機宕機準(zhǔn)確探測與實時發(fā)現(xiàn),可以給宕機分析提供現(xiàn)場,獲取現(xiàn)場的日志。也可以盡早將宕機數(shù)據(jù)推送給業(yè)務(wù)或運營感知并處理,如自動報修,業(yè)務(wù)遷移等,從而盡可能將業(yè)務(wù)影響降到較低。
更重要的是,準(zhǔn)確的宕機發(fā)現(xiàn)數(shù)據(jù)可以為宕機預(yù)測提供準(zhǔn)確的標(biāo)注數(shù)據(jù),為后期宕機預(yù)測提供數(shù)據(jù)基礎(chǔ),并且這些數(shù)據(jù)提供給運營部門進行整體分析,提升處理效率。
那么,可以準(zhǔn)確發(fā)現(xiàn)宕機,減少誤報呢?我們可以有以下操作,比如:
心跳源檢測異常
顧名思義,通過心跳源,初步發(fā)現(xiàn)異常。通常心跳變化會有三類消息,update消息,delete消息和insert消息。心跳邏輯在于,正常情況下SA服務(wù)端與NC建立長連接,每數(shù)秒緩存一次心跳,每幾分鐘打包上報一次,但當(dāng)NC異常時,長連接感知后,立即上報異常,并修改路由表。所以心跳異常做到秒級感知。
update消息,在有心跳發(fā)生變化情況下都會有,心跳異常和心跳恢復(fù)正常時都會發(fā)起,是主要的心跳來源。
delete消息,在心跳異常,并且SA判斷ping不通,且ssh不通情況下發(fā)起,刪除該條消息,避免延遲太長。
insert消息,在新增加機器, 或者重裝后重新上位的機器發(fā)起,該消息對宕機發(fā)現(xiàn)價值不大,配合uptime使用。
心跳源檢測任務(wù)邏輯,主要是監(jiān)聽并緩存uptime消息,同時避免時間窗內(nèi)多次消息沖突,導(dǎo)致信息被覆蓋。
異常排除
排除非物理機器,將系統(tǒng)中暫時不關(guān)注的VM等產(chǎn)生的異常信息排除掉。
排除非業(yè)務(wù)狀態(tài)的機器,如裝機狀態(tài)中的,包括生產(chǎn)中,維修中,遷移中,重裝中,銷毀中,重啟中,無管控狀態(tài),只監(jiān)控正常狀態(tài)的機器。
排除非正在工作的機器,如非working狀態(tài)機器。
網(wǎng)絡(luò)干擾排除
宕機分析中,較多誤報是由于網(wǎng)絡(luò)問題干擾,無法準(zhǔn)確判斷出物理機宕機,有可能是網(wǎng)絡(luò)問題。
排除上聯(lián)網(wǎng)絡(luò)設(shè)備異常導(dǎo)致的誤報,包括機房斷網(wǎng)演練,小面積網(wǎng)絡(luò)故障,上聯(lián)網(wǎng)絡(luò)故障,如通過探測丟包情況,使用一些邏輯初步判斷網(wǎng)絡(luò)問題。
服務(wù)器本身未丟包的誤報,除了需要過濾出網(wǎng)絡(luò)問題,還要通過丟包數(shù)據(jù)分析,過濾掉SA誤報問題, SA異常會上報心跳異常,被誤理解為宕機。