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