大数据分析工具构建智能监测与异常预警
前言:
微服務(wù)架構(gòu)在給我們提供強(qiáng)大業(yè)務(wù)技術(shù)支持的同時(shí),給系統(tǒng)運(yùn)維管理也增加了難度。傳統(tǒng)人工系統(tǒng)運(yùn)維,主要有以下兩個(gè)弊端:
?及時(shí)性比較差,大多都是遇到問題才去分析排查;
?微服務(wù)架構(gòu)下應(yīng)用服務(wù)之間關(guān)系錯(cuò)綜復(fù)雜,導(dǎo)致問題排查很難精準(zhǔn)找到問題點(diǎn),過程費(fèi)時(shí)費(fèi)力。
往往等問題出現(xiàn)了再去排查處理,已經(jīng)對(duì)業(yè)務(wù)流程產(chǎn)生了影響,嚴(yán)重的可能會(huì)阻塞生產(chǎn)過程,造成不可估量的損失。因此如何對(duì)程序進(jìn)行持續(xù)監(jiān)測(cè)、自動(dòng)化分析潛在風(fēng)險(xiǎn),快速通知相關(guān)運(yùn)維人員規(guī)避風(fēng)險(xiǎn),就成了微服務(wù)架構(gòu)體系下一個(gè)亟需解決的重點(diǎn)和難點(diǎn)。
本文詳細(xì)描述了程序監(jiān)測(cè)和異常預(yù)警的架構(gòu)體系設(shè)計(jì),包括程序監(jiān)測(cè)分析方法及異常預(yù)警范圍。
微服務(wù)應(yīng)用程序部署完成后,保障系統(tǒng)能夠持續(xù)可靠、穩(wěn)定,需要考慮兩方面影響因素:
?環(huán)境穩(wěn)定性。如網(wǎng)絡(luò)連通性、操作系統(tǒng)配置、內(nèi)存占用情況、磁盤使用率等;
?服務(wù)健康狀態(tài)。如Nginx、Redis、Mysql、Nacos、網(wǎng)關(guān)等服務(wù),實(shí)時(shí)監(jiān)測(cè)服務(wù)運(yùn)行狀態(tài),通過監(jiān)測(cè)數(shù)據(jù)分析服務(wù)的健康狀態(tài)。
通過對(duì)環(huán)境和服務(wù)兩方面監(jiān)測(cè)分析,可以明確已經(jīng)發(fā)生的異常和潛在的風(fēng)險(xiǎn),例如環(huán)境配置改變、服務(wù)器網(wǎng)絡(luò)不穩(wěn)定、服務(wù)異常下線、服務(wù)負(fù)載過高等,將這些異常信息通過多種渠道及時(shí)通知運(yùn)維人員,并提供處理建議和方法指引,快速處理異常,保證系統(tǒng)服務(wù)正常運(yùn)行。
因此,程序監(jiān)測(cè)和異常預(yù)警就是來保障系統(tǒng)服務(wù)持續(xù)可用的兩大舉措,一方面需要對(duì)故障和異常及時(shí)發(fā)現(xiàn),另一方面及時(shí)通知并提供處理措施和方法,及時(shí)處理故障和異常。本文將從架構(gòu)設(shè)計(jì)及建設(shè)內(nèi)容兩個(gè)角度出發(fā)來闡述所建設(shè)的智能監(jiān)測(cè)體系。
△故障診斷和異常預(yù)警導(dǎo)圖系統(tǒng)智能監(jiān)測(cè)與異常預(yù)警,主要從三個(gè)方面入手,分別是:運(yùn)行環(huán)境監(jiān)測(cè)、服務(wù)狀態(tài)監(jiān)測(cè)、服務(wù)性能監(jiān)測(cè)。
一.智能監(jiān)測(cè)
?(1)運(yùn)行環(huán)境監(jiān)測(cè)
程序運(yùn)行環(huán)境的狀況關(guān)系到微服務(wù)架構(gòu)中的每個(gè)服務(wù)的運(yùn)行狀態(tài)和可用性。運(yùn)行環(huán)境監(jiān)測(cè)主要從三個(gè)方面入手:
1)網(wǎng)絡(luò)環(huán)境:如服務(wù)器連通性,檢查是否有服務(wù)器節(jié)點(diǎn)是宕機(jī)狀態(tài)或者網(wǎng)絡(luò)環(huán)境有變化導(dǎo)致主機(jī)連通性異常,網(wǎng)絡(luò)連通性異常會(huì)導(dǎo)致服務(wù)不能注冊(cè)到Nacos中或者服務(wù)訪問不到;
2)系統(tǒng)配置: 操作系統(tǒng)配置往往會(huì)影響智能運(yùn)維平臺(tái)自身功能的使用,如用戶名密碼被改變了,h2數(shù)據(jù)庫中的密碼沒有同步修改,會(huì)導(dǎo)致遠(yuǎn)程文件拷貝操作出錯(cuò);expect等組件缺失會(huì)導(dǎo)致shell腳本調(diào)用業(yè)務(wù)失敗;ssh連接數(shù)、文件句柄數(shù)、目錄用戶權(quán)限都會(huì)影響文件拷貝的成功與否;
3)硬件資源監(jiān)控:硬件資源會(huì)直接影響服務(wù)的執(zhí)行效率或者直接導(dǎo)致服務(wù)不可用,一般從cup、內(nèi)存、磁盤等方面進(jìn)行監(jiān)控。由于cpu、內(nèi)存、磁盤的使用情況會(huì)不斷動(dòng)態(tài)變化,因此需要對(duì)這些數(shù)據(jù)進(jìn)行收集、統(tǒng)計(jì)、圖表展示,實(shí)時(shí)監(jiān)控,通過實(shí)時(shí)統(tǒng)計(jì),可以分析出來哪臺(tái)機(jī)器的硬件資源比較緊張,如果硬件資源長(zhǎng)期處于緊張狀態(tài),建議及時(shí)處理。比如增減硬件資源配置,或者卸載部分服務(wù),服務(wù)遷移等。
?(2)中間件監(jiān)測(cè)
中間件服務(wù)在微服務(wù)架構(gòu)體系中起著至關(guān)重要的作用,是微服務(wù)產(chǎn)品服務(wù)能夠正常運(yùn)行的基礎(chǔ),包括文件共享NFS、代理服務(wù)Nginx、內(nèi)存數(shù)據(jù)庫Redis、關(guān)系型數(shù)據(jù)庫Mysql和Oracle、注冊(cè)中心Nacos、文件傳輸服務(wù)sftp、分布式查詢引擎Presto、圖數(shù)據(jù)庫Neo4j、文檔數(shù)據(jù)庫MongoDB。架構(gòu)如圖中間件架構(gòu)圖所示:
?(3) 應(yīng)用服務(wù)監(jiān)測(cè)
應(yīng)用服務(wù)指的是除中間件外的所有產(chǎn)品服務(wù),應(yīng)用服務(wù)異常監(jiān)測(cè)和分析從三方面入手:服務(wù)狀態(tài)、服務(wù)接口及服務(wù)性能,具體內(nèi)容如下:
1)服務(wù)狀態(tài)方面的監(jiān)控分析:目標(biāo)是分析出來一些問題,比如主機(jī)的服務(wù)經(jīng)常掛掉,由此可以推斷出來這個(gè)主機(jī)性能比較差,不穩(wěn)定;再比如某些服務(wù)在某一天經(jīng)常掛掉,可能是那一天系統(tǒng)訪問量特別大,需要及時(shí)采取措施緩解系統(tǒng)訪問壓力。
2)接口訪問監(jiān)測(cè):主要是捕獲執(zhí)行異常的接口數(shù)據(jù),比如響應(yīng)非常慢的接口,調(diào)用出錯(cuò)的接口,哪些接口調(diào)用次數(shù)比較多等。可能需要存儲(chǔ)大量接口請(qǐng)求數(shù)據(jù),通過圖表統(tǒng)計(jì)來可視化反映接口響應(yīng)情況。
3)服務(wù)性能監(jiān)控:主要是對(duì)服務(wù)代碼運(yùn)行時(shí)數(shù)據(jù)區(qū)的一個(gè)動(dòng)態(tài)監(jiān)測(cè)。比如線程數(shù)監(jiān)控、JVM內(nèi)存使用情況分析、垃圾收集器工作情況等。同樣需要?jiǎng)討B(tài)收集大量時(shí)間點(diǎn)JVM各指標(biāo)數(shù)據(jù),以時(shí)間維度做數(shù)據(jù)可視化統(tǒng)計(jì)分析。并通過數(shù)據(jù)分析,及時(shí)發(fā)現(xiàn)問題。
二.異常預(yù)警
異常預(yù)警智能監(jiān)測(cè)和異常分析的最終目標(biāo)是及時(shí)反饋用戶或運(yùn)維人員,并通過提供的解決措施及方法快速解除異常,讓系統(tǒng)在最短的時(shí)間內(nèi)恢復(fù)正常狀態(tài)。
? (1)運(yùn)行環(huán)境預(yù)警
運(yùn)行環(huán)境異常一般不能系統(tǒng)自動(dòng)修復(fù),需要運(yùn)維人員手動(dòng)處理,比如服務(wù)器網(wǎng)絡(luò)環(huán)境異常、磁盤爆滿等需要提示出來,運(yùn)維人員自行處理即可。有些異常需要說明處理措施,比如登錄密碼改變了,需要同步修改h2數(shù)據(jù)里面存的密碼密文。
? (2)中間件預(yù)警
中間件異常一般分這樣幾種情況:集群中某節(jié)點(diǎn)服務(wù)不可用,集群配置異常(如Mysql主、主同步異常、Redis哨兵異常、Nacos同步異常)。這些異常需要及時(shí)提示出來,運(yùn)維人員線下處理或者通過智能運(yùn)維平臺(tái)提供的功能進(jìn)行處理。
? (3)應(yīng)用預(yù)警
應(yīng)用異常故障分為三類:服務(wù)狀態(tài)、接口響應(yīng)情況、服務(wù)性能。
1)服務(wù)狀態(tài),指的是應(yīng)用服務(wù)的啟停狀態(tài),比如某個(gè)應(yīng)用服務(wù)掛了,提示出來即可,運(yùn)維人員可以通過智能運(yùn)維平臺(tái)的功能或者后臺(tái)啟動(dòng)服務(wù)即可。但是更為重要的是需要通過長(zhǎng)時(shí)間監(jiān)控分析出來哪個(gè)主機(jī)的哪些服務(wù)經(jīng)常掉線,哪些時(shí)間段經(jīng)常掉線等。
2)接口響應(yīng)預(yù)警,是通過大量接口響應(yīng)時(shí)間數(shù)據(jù),過濾出經(jīng)常響應(yīng)比較慢的接口,這些接口應(yīng)該及時(shí)反饋給開發(fā)人員進(jìn)行接口性能優(yōu)化。
3)服務(wù)性能狀態(tài)指的是服務(wù)所在的JVM實(shí)例中資源使用情況,比如老年代內(nèi)存快滿了,需要提示出來,及時(shí)調(diào)整JVM資源配置參數(shù)或者重新啟動(dòng)服務(wù)。
通過智能監(jiān)測(cè)和異常預(yù)警,提高系統(tǒng)運(yùn)維效率,減少系統(tǒng)故障率,可以讓用戶在體驗(yàn)微服務(wù)架構(gòu)的便利性的同時(shí),讓系統(tǒng)運(yùn)維工作更加輕松,不斷提升用戶體驗(yàn)。
美林?jǐn)?shù)據(jù)——釋放數(shù)據(jù)潛能,激發(fā)企業(yè)活力
為你帶來最新大數(shù)據(jù)資訊
歡迎關(guān)注與評(píng)論!
總結(jié)
以上是生活随笔為你收集整理的大数据分析工具构建智能监测与异常预警的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【湍流】基于kolmogorov结合次谐
- 下一篇: 大一生活怎么过,一个爱学习的孩子是这么想