李佳華
摘要:隨著敏捷運(yùn)維產(chǎn)業(yè)鏈的逐步成熟,系統(tǒng)健康度的集中化、整體化、透明化需求越來越強(qiáng)烈。該文為企業(yè)級自動(dòng)化運(yùn)維架構(gòu)中的系統(tǒng)健康度評估建設(shè)實(shí)戰(zhàn),通過智能算法,實(shí)現(xiàn)企業(yè)業(yè)務(wù)系統(tǒng)運(yùn)行狀態(tài)的可視化管理,通過各層級健康度指標(biāo),顆粒度細(xì)化到組件端口,從四個(gè)維度輕松掌握系統(tǒng)運(yùn)行狀況。
關(guān)鍵詞:維度;層級;可用性;權(quán)重;關(guān)鍵性能指標(biāo)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)29-0111-02
科技時(shí)代,信息技術(shù)日新月異。隨著大數(shù)據(jù)技術(shù)的快速滲透、云生態(tài)鏈的日益完善,人工智能遍地生花,敏捷運(yùn)維體系架構(gòu)正穩(wěn)步成長。自動(dòng)化運(yùn)維管理提供完整的監(jiān)控告警、大數(shù)據(jù)日志分析以及智能運(yùn)維修復(fù),卻缺乏一個(gè)系統(tǒng)的全局視角,以健康度數(shù)據(jù)指標(biāo)動(dòng)態(tài)感知系統(tǒng)的能力。
1 健康度算法模型
以技術(shù)的視角選擇一個(gè)科學(xué)的架構(gòu)來評估系統(tǒng)的健康程度,是我們構(gòu)建業(yè)務(wù)系統(tǒng)健康度的目標(biāo)。原生的CMDB數(shù)據(jù)模型就是它架構(gòu)的強(qiáng)力支撐。
1)CMDB
即Configuration Management Database (配置管理數(shù)據(jù)庫),它存儲(chǔ)與管理企業(yè)IT架構(gòu)中設(shè)備的各種配置信息。
2)節(jié)點(diǎn)與服務(wù)端口
企業(yè)“互聯(lián)網(wǎng)+”轉(zhuǎn)型后,基礎(chǔ)設(shè)施云資源化。云計(jì)算離不開底層虛擬化技術(shù)的支持。這里的節(jié)點(diǎn)指一個(gè)虛擬化操作系統(tǒng)(OS)或者類似操作系統(tǒng)的父、子分區(qū)(虛機(jī)),它能實(shí)現(xiàn)虛擬機(jī)內(nèi)部存儲(chǔ)資源、計(jì)算資源以及網(wǎng)絡(luò)資源的調(diào)度與管理,能作為一臺(tái)獨(dú)立的虛擬主機(jī)對外提供服務(wù)。比如一個(gè)vmware的VirtualCenter管理下的多個(gè)虛機(jī)(LINUX操作系統(tǒng))。
服務(wù)端口是業(yè)務(wù)系統(tǒng)運(yùn)行情況采集的最小單位。例如ORACLE數(shù)據(jù)庫缺省運(yùn)行在1521端口上(運(yùn)行端口號(hào)可以更改)。數(shù)據(jù)庫的各種性能指標(biāo),比如鎖、進(jìn)程、用戶,最終健康與否,都體現(xiàn)在服務(wù)端口能否提供服務(wù)上。
3)關(guān)鍵性能指標(biāo)
當(dāng)CMDB將網(wǎng)絡(luò)、中間件、數(shù)據(jù)庫、服務(wù)器等作為配置項(xiàng)進(jìn)行統(tǒng)一管理后,根據(jù)實(shí)際需要,建立起各配置項(xiàng)之間的關(guān)系模型,然后抽象出配置項(xiàng)的關(guān)鍵性能指標(biāo),并建立之間的關(guān)系。
比如一個(gè)節(jié)點(diǎn)的關(guān)鍵性能指標(biāo)一般取CPU、內(nèi)存、磁盤IO、網(wǎng)卡流量、文件系統(tǒng)、進(jìn)程等。
4)層級和權(quán)重
層級就是不同的層次,是為了滿足不同角色從不同的角度看健康度指標(biāo)的需求而定義。在其位,負(fù)其責(zé),所處層級不同,權(quán)重也有高低,是目標(biāo)對象在IT系統(tǒng)架構(gòu)中的作用大小、地位高低決定的。
權(quán)重則是指重要性程度。簡單來說,它是一個(gè)比較在本層級內(nèi)作用大小、地位高低程度的數(shù)值。各關(guān)鍵性能指標(biāo)的重要等級不同,它的權(quán)重也會(huì)不同。
對于一個(gè)節(jié)點(diǎn)來說,它可以處在OS層,OS下的liunx層,它可以屬于數(shù)據(jù)庫層,PAAS層,還可以是自動(dòng)化運(yùn)維這個(gè)業(yè)務(wù)系統(tǒng)層,這個(gè)系統(tǒng)下的監(jiān)控模塊層等等,但因?yàn)樗诟鲗蛹壍闹匾圆煌诟鲗蛹壍臋?quán)重會(huì)有所不同。比如節(jié)點(diǎn)1在OS層它和其他節(jié)點(diǎn)權(quán)重一致,但因?yàn)樗休d數(shù)據(jù)庫,因此在業(yè)務(wù)系統(tǒng)層級它的權(quán)重會(huì)比其他節(jié)點(diǎn)高。
5)算法模型
確定節(jié)點(diǎn)關(guān)鍵性能指標(biāo)和權(quán)重:如果一個(gè)節(jié)點(diǎn)設(shè)定關(guān)鍵性能指標(biāo)(CPU,內(nèi)存,磁盤IO,網(wǎng)絡(luò)流量)和權(quán)重(例如CPU使用率的權(quán)重為25,內(nèi)存為25,磁盤IO為25,網(wǎng)絡(luò)流量為25)
設(shè)置性能指標(biāo)扣分規(guī)則,可和自動(dòng)化運(yùn)維監(jiān)控告警規(guī)則同步設(shè)置。例如重要告警20分,嚴(yán)重警告扣50分,性能指標(biāo)=(指標(biāo)1扣分*指標(biāo)1權(quán)重+指標(biāo)N扣分*指標(biāo)N權(quán)重)/權(quán)重總和
例如,一個(gè)節(jié)點(diǎn)的cpu使用率發(fā)生了嚴(yán)重警告,這個(gè)節(jié)點(diǎn)的性能指標(biāo)扣分為:
性能指標(biāo)扣分=(50*25+0+0+0)/(25+25+25+25)=12.5分
節(jié)點(diǎn)健康度指標(biāo)=100-12.5=87.5分
設(shè)置可用性指標(biāo)扣分規(guī)則,不可用整個(gè)設(shè)備直接扣100分
比如節(jié)點(diǎn)不可用,操作系統(tǒng)掛死,網(wǎng)絡(luò)不通
節(jié)點(diǎn)健康度=100-100=0分
集群可調(diào)整設(shè)置。假設(shè)雙機(jī)高可用集群,一臺(tái)宕機(jī),扣50分
高可用集群的健康度=100-50=50分
健康度的算法:最低0分,扣完為止
系統(tǒng)健康度指標(biāo)=100-可用性指標(biāo)扣分-性能指標(biāo)扣分
2 健康度可用性算法
為了保障服務(wù)提供的高可用性,企業(yè)級業(yè)務(wù)系統(tǒng)服務(wù)框架一般為集群部署。假設(shè)一個(gè)提供服務(wù)的集群共10個(gè)節(jié)點(diǎn),當(dāng)服務(wù)訪問達(dá)到峰值時(shí),日常運(yùn)行中每個(gè)節(jié)點(diǎn)的負(fù)載達(dá)到80%運(yùn)行能穩(wěn)定高效。當(dāng)某個(gè)節(jié)點(diǎn)因各種原因出現(xiàn)故障,無法提供服務(wù)時(shí),它的壓力、服務(wù)職能會(huì)落到剩下的9個(gè)節(jié)點(diǎn)上,此時(shí)每個(gè)節(jié)點(diǎn)的負(fù)載水平就超過88%,個(gè)別節(jié)點(diǎn)可能更高(因?yàn)闊o法確保分?jǐn)偟姆?wù)負(fù)載完全平均),在節(jié)點(diǎn)處于高水位運(yùn)行時(shí),它出現(xiàn)問題的概率將大大提高,實(shí)際權(quán)重也就更大。我們提供了這種模式下層級的可用性算法:
層級可用性=(1-不可用節(jié)點(diǎn)權(quán)重總和/權(quán)重總和)=1-[總權(quán)重/n+總權(quán)重/(n-1)+總權(quán)重/(n-2)+總權(quán)重+…]/總權(quán)重
通過節(jié)點(diǎn)可用性指標(biāo)來判斷層級整體的承載能力和服務(wù)能力,使系統(tǒng)健康度指標(biāo)更加科學(xué)。
3 健康度層級
層級健康度算法在原層次健康度的基礎(chǔ)之上乘以可用設(shè)備的權(quán)重比例,即可在不可用設(shè)備比較多時(shí)健康度下降較快
層級的健康度算法
PAAS層健康度=(節(jié)點(diǎn)1健康度*節(jié)點(diǎn)1權(quán)重+節(jié)點(diǎn)N健康度*節(jié)點(diǎn)N權(quán)重)/(節(jié)點(diǎn)權(quán)重總和)
健康度 = (1-不可用節(jié)點(diǎn)權(quán)重總和/權(quán)重總和) *PAAS層健康度
分層計(jì)算(PAAS層,IAAS層,SAAS層)后,業(yè)務(wù)系統(tǒng)總體健康度
通過層級(PAAS層,IAAS層,SAAS層)的權(quán)重等級和健康度計(jì)算出系統(tǒng)總體健康度。
設(shè)置層級權(quán)重,例如IAAS權(quán)重100,PAAS權(quán)重80,SAAS權(quán)重60
系統(tǒng)健康度=(IAAS健康度*IAAS層權(quán)重+PAAS健康度*PAAS層權(quán)重+SAAS健康度*SAAS層權(quán)重)/(節(jié)點(diǎn)權(quán)重總和)
4 系統(tǒng)健康度展示維度
健康度分為四個(gè)個(gè)維度進(jìn)行展示:
PaaS(Platform as a Service),平臺(tái)即服務(wù):首頁按Tomcat、Webligic、Nginx、MQ、Zookeeper、Mysql、OS、redis等等層級展示健康度分值,點(diǎn)擊分值,能得到按系統(tǒng)明細(xì)層級展示的扣分明細(xì)。分不出系統(tǒng)的,比如Nginx,則以集群展示,具體層級以cmdb配置模型為準(zhǔn)。
IaaS層(Infrastructure as a Service)基礎(chǔ)設(shè)施即服務(wù):首頁按主機(jī)、存儲(chǔ)、安全設(shè)備、防火墻、交換機(jī)層次展示健康度分值,點(diǎn)擊分值,直接展示具體物理設(shè)備扣分明細(xì)
SAAS層(SoftwareasaService)軟件即服務(wù):首頁按業(yè)務(wù)系統(tǒng)應(yīng)用層級展示健康度分值,點(diǎn)擊分值,直接展示該系統(tǒng)下業(yè)務(wù)模塊的扣分明細(xì)。比如客戶關(guān)系管理系統(tǒng)竣工模塊未執(zhí)行工單數(shù)大于1000扣分20分。
業(yè)務(wù)系統(tǒng)健康度:首頁按電信企業(yè)業(yè)務(wù)域?qū)蛹墸∕BOSS)展示,點(diǎn)擊分值,按系統(tǒng)名稱展示各業(yè)務(wù)系統(tǒng)根據(jù)各層級計(jì)算出的業(yè)務(wù)系統(tǒng)總健康度。
5 結(jié)束語
無疑,系統(tǒng)健康度指標(biāo)是企業(yè)業(yè)務(wù)發(fā)展后,系統(tǒng)需要提供服務(wù)能力的與時(shí)俱進(jìn)的產(chǎn)物。它覆蓋系統(tǒng)全部關(guān)鍵要素,可供運(yùn)維人員波動(dòng)分析系統(tǒng)性能關(guān)鍵指標(biāo)、了解故障來源,大大提高了運(yùn)維人員工作效率。同時(shí)可供企業(yè)管理人員實(shí)時(shí)、動(dòng)態(tài)、快速掌握系統(tǒng)運(yùn)行情況,很好地滿足了一鍵看數(shù)需求,為精準(zhǔn)調(diào)度資源提供有效依據(jù)。
本文所敘已在中國電信湖南分公司自動(dòng)化運(yùn)維管理平臺(tái)驗(yàn)證,具有巨大的市場前景,產(chǎn)生了可觀的經(jīng)濟(jì)價(jià)值。
參考文獻(xiàn):
[1] 梁奐陳春華,李軍. IT健康度模型設(shè)計(jì)與實(shí)踐[J].移動(dòng)通信, 2014(24).
[2] 劉博元,王煥鋼,范文慧,等.基于大數(shù)據(jù)的復(fù)雜生產(chǎn)線系統(tǒng)健康度度實(shí)時(shí)評估方法[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2014,54(10).
[3] 鄭聲俊,王國仕,董衛(wèi),魏馮世,等.基于運(yùn)行監(jiān)控技術(shù)的信息協(xié)同健康度評價(jià)體系[J].自動(dòng)化應(yīng)用, 2015(9):105-106.
[4] 梁浩波. IT一體化運(yùn)維管控技術(shù)與管理研究[J].計(jì)算機(jī)安全, 2014(4).
[5] 馬銳,張文濤,孫四明.指標(biāo)評價(jià)體系中關(guān)于指標(biāo)權(quán)重確定方法的研究[J].計(jì)算機(jī)科學(xué), 2009,36(8).
【通聯(lián)編輯:唐一東】