国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

服務(wù)可用性監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2016-04-08 02:30侯興林王曉云
軟件 2016年2期
關(guān)鍵詞:可用性報(bào)警監(jiān)控

侯興林++王曉云

摘要:隨著互聯(lián)網(wǎng)服務(wù)研究的不斷深入,人們對(duì)網(wǎng)絡(luò)服務(wù)的依賴程度也日漸增加。尤其在一些實(shí)時(shí)性要求較高的網(wǎng)絡(luò)服務(wù)應(yīng)用上,服務(wù)的后臺(tái)核心系統(tǒng)是否具備高可用性,已經(jīng)是影響該服務(wù)質(zhì)量的關(guān)鍵因素。本文研究了針對(duì)服務(wù)可用性監(jiān)控的服務(wù)可用性監(jiān)控系統(tǒng)架構(gòu),提出了一個(gè)基于分層架構(gòu)實(shí)現(xiàn)的多模塊服務(wù)可用性監(jiān)控系統(tǒng),架構(gòu)可以對(duì)接入的服務(wù)進(jìn)行實(shí)時(shí)的監(jiān)控,并展示該服務(wù)的實(shí)時(shí)可用性數(shù)據(jù),從而可以在服務(wù)出現(xiàn)故障的時(shí)候快速的對(duì)其報(bào)警。

關(guān)鍵詞:可用性;監(jiān)控;報(bào)警

中圖分類號(hào):TP393.08

文獻(xiàn)標(biāo)識(shí)碼:A

DOI:10.3969/j.issn.1003-6970.2016.02.018

引言

隨著計(jì)算機(jī)技術(shù)與人們生活的緊密結(jié)合,在許多類似金融服務(wù)系統(tǒng)、飛行控制系統(tǒng)、醫(yī)療系統(tǒng)等應(yīng)用領(lǐng)域,人們對(duì)這些系統(tǒng)的要求是不間斷的提供有保障的服務(wù),因?yàn)檫@些服務(wù)系統(tǒng)的故障會(huì)造成災(zāi)難性的后果。高可用性的服務(wù)解決方案就是為了解決這樣的需求,高可用性系統(tǒng)相比普通的計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),復(fù)雜性高了很多,其對(duì)應(yīng)的研發(fā)成本也高了很多。

對(duì)于高可用性系統(tǒng)來(lái)說(shuō),該系統(tǒng)的用戶會(huì)在系統(tǒng)設(shè)計(jì)之前,對(duì)系統(tǒng)的設(shè)計(jì)者提出一些量化標(biāo)準(zhǔn),比如,要求該系統(tǒng)在一個(gè)時(shí)間范圍內(nèi)宕機(jī)的時(shí)間被控制在一定的范圍內(nèi),高可用性系統(tǒng)由于其較高的設(shè)計(jì)難度,如果能在系統(tǒng)的運(yùn)行期間引入量化分析的方法,就可以有效的對(duì)其可用性進(jìn)行預(yù)測(cè)及報(bào)警,所以一個(gè)可用性監(jiān)控系統(tǒng)對(duì)于一些大型系統(tǒng)的故障預(yù)測(cè)及報(bào)警有著非常重要的意義。

1 相關(guān)知識(shí)及研究

1.1 高可用性的定義

對(duì)于高可用性 的研究中,有三個(gè)相關(guān)的術(shù)語(yǔ),分別是可用性 (Availability)、可靠性(Reliability)以及適用性(Serviceability)。其中可用性是指對(duì)于用戶的使用來(lái)說(shuō),系統(tǒng)總的可用時(shí)間與總時(shí)間的百分比;可靠性是指系統(tǒng)在不出故障的情況下持續(xù)正常工作的時(shí)間;適用性是指對(duì)于系統(tǒng)維護(hù)、升級(jí)的難易程度。

在服務(wù)系統(tǒng)的運(yùn)行周期中,系統(tǒng)的可靠性通過(guò)平均無(wú)故障時(shí)間(MTTF)來(lái)表示,平均無(wú)故障時(shí)間是指系統(tǒng)正常運(yùn)行的平均時(shí)間;系統(tǒng)的適用性通過(guò)平均修復(fù)時(shí)間(MTTR)來(lái)表示,平均修復(fù)時(shí)間是指從系統(tǒng)發(fā)成故障到修復(fù)完成并重新恢復(fù)的平均時(shí)間。通過(guò)平均無(wú)故障時(shí)間和平均修復(fù)時(shí)間可以得到可用性的定義:

從可用性定義的公式可以得出兩個(gè)影響系統(tǒng)可用性的因素,分別是:

(l)系統(tǒng)各組件的可靠性。這些組件包括服務(wù)器硬件、操作系統(tǒng)和服務(wù)系統(tǒng)本身,以及其他的支持組件如數(shù)據(jù)庫(kù)系統(tǒng)、網(wǎng)絡(luò)服務(wù)器等。

(2)當(dāng)系統(tǒng)發(fā)生故障后,系統(tǒng)重新恢復(fù)所花費(fèi)的時(shí)間。如果是服務(wù)系統(tǒng)本身的故障,則將該系統(tǒng)重新啟動(dòng)就可以恢復(fù)服務(wù)了;如果是硬件設(shè)施發(fā)生故障的話,則需要對(duì)定位發(fā)生故障的組件并對(duì)其進(jìn)行修復(fù)或更換,然后重新啟動(dòng)操作系統(tǒng)和其他相關(guān)設(shè)備,最終啟動(dòng)服務(wù)系統(tǒng)。

一個(gè)高可用性系統(tǒng)對(duì)系統(tǒng)中所有的組件及子系統(tǒng)都要求其正常工作。在一個(gè)系統(tǒng)中,如果大部分組件都具備高可用性,但是另一些組件不具備高可用性,對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō),系統(tǒng)也無(wú)法保證高可用性,這個(gè)特點(diǎn)是高可用性系統(tǒng)的木桶原理。

在一個(gè)高可用性系統(tǒng)中,還有兩個(gè)相關(guān)的術(shù)語(yǔ),即持續(xù)可用性(Continuous Availability)、容錯(cuò)(Fault Tolerance)。持續(xù)可用性是指系統(tǒng)無(wú)故障提供服務(wù)的理想狀態(tài),其也用來(lái)表示一個(gè)系統(tǒng)的可用性很高,故障時(shí)間較少;容錯(cuò)是指即使某些組件出現(xiàn)故障,整個(gè)系統(tǒng)依舊可以無(wú)故障的提供服務(wù),一些高可用性的解決方案已經(jīng)提供了一定的容錯(cuò)能力。

1.2 高可用性等級(jí)

高可用性等級(jí)明的分級(jí)是以可用性百分比中數(shù)字“9”的個(gè)數(shù)來(lái)區(qū)分的,如果一個(gè)系統(tǒng)達(dá)到二級(jí)高可用,則說(shuō)明該系統(tǒng)的可用性百分比為99%,一年中總的故障時(shí)間為3.65天;如果一個(gè)系統(tǒng)達(dá)到四級(jí)可用,則說(shuō)明該系統(tǒng)的可用性百分比為99.99%,一年中總的故障時(shí)間為52.5分鐘??捎眯苑旨?jí)表如下表:

1.3 服務(wù)可用性監(jiān)控系統(tǒng)相關(guān)研究

國(guó)內(nèi)外已經(jīng)有了許多關(guān)于服務(wù)可用性分析的研究與設(shè)計(jì),例如一些成熟的商用服務(wù)可用性監(jiān)控系統(tǒng),如IBM Tivoli、HP Buiness Availability Center等,這些商業(yè)系統(tǒng)對(duì)服務(wù)可用性的分析基于強(qiáng)大的監(jiān)控和數(shù)據(jù)分析能力,對(duì)部署于其上的服務(wù)進(jìn)行實(shí)時(shí)的監(jiān)控,并對(duì)不滿足可用性的服務(wù)進(jìn)行報(bào)警,但是這些服務(wù)可用性監(jiān)控系統(tǒng)的購(gòu)買費(fèi)用較高,且需要大量監(jiān)控日志數(shù)據(jù)的支持,對(duì)于國(guó)內(nèi)的一些論文作者的。

我們的目標(biāo)是建立一個(gè)可靠、靈活的服務(wù)可用性監(jiān)控系統(tǒng),通過(guò)在服務(wù)可用性監(jiān)控系統(tǒng)中部署業(yè)務(wù)系統(tǒng),可以通過(guò)系統(tǒng)直觀的看出該業(yè)務(wù)系統(tǒng)在某段時(shí)間內(nèi)的服務(wù)可用性。

2 服務(wù)可用性監(jiān)控系統(tǒng)架構(gòu)的分析與設(shè)計(jì)

本服務(wù)可用性監(jiān)控系統(tǒng)提供了簡(jiǎn)單的域名監(jiān)控接入方式,采用主動(dòng)拉取數(shù)據(jù)的方式,無(wú)需用戶參與,并提供了統(tǒng)一的可用性計(jì)算公式,以及豐富的圖表及歷史數(shù)據(jù)查詢對(duì)比。

2.1 服務(wù)可用性監(jiān)控系統(tǒng)的整體架構(gòu)

本服務(wù)可用性監(jiān)控系統(tǒng)主要分為匯聚計(jì)算、統(tǒng)一數(shù)據(jù)管理、數(shù)據(jù)采集、數(shù)據(jù)抽樣四個(gè)模塊。

其中,匯聚計(jì)算模塊是本服務(wù)可用性監(jiān)控系統(tǒng)的入口,本模塊負(fù)責(zé)接收用戶的查詢參數(shù)、獲取統(tǒng)一數(shù)據(jù)數(shù)據(jù)管理模塊傳來(lái)的監(jiān)控?cái)?shù)據(jù),并對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行匯聚計(jì)算,以得到可用性數(shù)據(jù)。如果最終計(jì)算的可用性數(shù)據(jù)低于用戶配置的報(bào)警閥值時(shí),對(duì)用戶進(jìn)行報(bào)警通知。

統(tǒng)一數(shù)據(jù)管理模塊是本系統(tǒng)的中樞,本模塊負(fù)責(zé)收集用戶輸入的監(jiān)控配置項(xiàng)(包括被監(jiān)控服務(wù)的域名、正常服務(wù)的關(guān)鍵字、可用性報(bào)警閥值等),將其保存到數(shù)據(jù)庫(kù)中,并將監(jiān)控配置項(xiàng)發(fā)送到數(shù)據(jù)采集模塊;當(dāng)用戶點(diǎn)擊其配置的監(jiān)控配置項(xiàng)時(shí),系統(tǒng)將會(huì)根據(jù)其配置從數(shù)據(jù)倉(cāng)庫(kù)中找到匹配的監(jiān)控?cái)?shù)據(jù),并將監(jiān)控?cái)?shù)據(jù)發(fā)送至匯聚計(jì)算模塊,最終展示給用戶。

數(shù)據(jù)采集模塊是本系統(tǒng)的核心,本模塊首先取到監(jiān)控配置項(xiàng),然后根據(jù)監(jiān)控配置項(xiàng)中的數(shù)據(jù),調(diào)用監(jiān)控集群中的多個(gè)監(jiān)控機(jī)定時(shí)地對(duì)監(jiān)控目標(biāo)進(jìn)行監(jiān)控,得到監(jiān)控的數(shù)據(jù)與用戶配置的數(shù)據(jù)進(jìn)行對(duì)比,如果數(shù)據(jù)不一致,則認(rèn)為當(dāng)前監(jiān)控的服務(wù)是不可用的,將同一時(shí)間點(diǎn)多個(gè)監(jiān)控機(jī)的數(shù)據(jù)累計(jì)計(jì)算出一個(gè)百分比,并將這個(gè)數(shù)據(jù)發(fā)送到統(tǒng)一數(shù)據(jù)管理模塊。

數(shù)據(jù)抽樣模塊是一個(gè)輔助模塊,主要是由于監(jiān)控的數(shù)據(jù)量較大,當(dāng)計(jì)算跨月或者季度的可用性時(shí),由于數(shù)據(jù)量過(guò)大,會(huì)導(dǎo)致計(jì)算的時(shí)間過(guò)長(zhǎng),從而影響用戶體驗(yàn)。因此,數(shù)據(jù)抽樣模塊將會(huì)按天為粒度將監(jiān)控?cái)?shù)據(jù)計(jì)算出來(lái)并保存到數(shù)據(jù)倉(cāng)庫(kù)中。

整體流程及架構(gòu)如下圖:

2.2 監(jiān)控?cái)?shù)據(jù)采集

監(jiān)控?cái)?shù)據(jù)的采集是由數(shù)據(jù)采集模塊完成的,數(shù)據(jù)采集模塊會(huì)根據(jù)用戶配置的監(jiān)控項(xiàng)調(diào)用監(jiān)控集群中的多個(gè)監(jiān)控機(jī)以10秒一次的頻率對(duì)監(jiān)控目標(biāo)進(jìn)行監(jiān)控,將同一時(shí)間點(diǎn)多個(gè)監(jiān)控機(jī)的數(shù)據(jù)累計(jì)計(jì)算出一個(gè)百分比,該百分比就是當(dāng)前監(jiān)控項(xiàng)當(dāng)前時(shí)間點(diǎn)的監(jiān)控?cái)?shù)據(jù)。具體的監(jiān)控?cái)?shù)據(jù)采集流程如下:

(l)數(shù)據(jù)采集模塊獲取配置的監(jiān)控項(xiàng)中被監(jiān)控服務(wù)的域名、關(guān)鍵字等監(jiān)控項(xiàng)。

(2)監(jiān)控機(jī)發(fā)起對(duì)被監(jiān)控服務(wù)域名的訪問(wèn),獲取其返回?cái)?shù)據(jù)并將其返回?cái)?shù)據(jù)與關(guān)鍵字對(duì)比,如果關(guān)鍵字符合則計(jì)數(shù)加一,不符合則不增加計(jì)數(shù)。

(3)最終將多個(gè)監(jiān)控機(jī)計(jì)數(shù)除以監(jiān)控機(jī)的總個(gè)數(shù)得到一個(gè)百分比,該百分比作為當(dāng)前時(shí)間點(diǎn)的監(jiān)控?cái)?shù)據(jù)。

(4)將監(jiān)控?cái)?shù)據(jù)按照時(shí)間和監(jiān)控項(xiàng)ID作為主鍵存人數(shù)據(jù)倉(cāng)庫(kù)的普通表。

2.3 監(jiān)控?cái)?shù)據(jù)抽樣

由于監(jiān)控機(jī)的監(jiān)控周期為10秒,對(duì)于一個(gè)服務(wù)的監(jiān)控?cái)?shù)據(jù)量會(huì)非常龐大,當(dāng)對(duì)該服務(wù)的可用性進(jìn)行計(jì)算的時(shí)候會(huì)造成查詢時(shí)間過(guò)長(zhǎng),影響用戶體驗(yàn)。所以,數(shù)據(jù)抽樣模塊會(huì)以天為單位對(duì)服務(wù)的監(jiān)控?cái)?shù)據(jù)進(jìn)行抽樣計(jì)算,并將其存人數(shù)據(jù)倉(cāng)庫(kù)中。具體流程為,將前一天凌晨到當(dāng)天凌晨的該被監(jiān)控服務(wù)的監(jiān)控?cái)?shù)據(jù)計(jì)數(shù)并加和,將該計(jì)數(shù)和加和作為抽樣數(shù)據(jù)存人數(shù)據(jù)倉(cāng)庫(kù)的抽樣表。

2.4 可用性計(jì)算

被監(jiān)控服務(wù)的可用性計(jì)算分為兩種情況:

(l)用戶查詢時(shí)間區(qū)間在一天內(nèi)。這種情況的可用性計(jì)算相對(duì)簡(jiǎn)單,即統(tǒng)一數(shù)據(jù)管理模塊通過(guò)接口查詢數(shù)據(jù)倉(cāng)庫(kù),將該時(shí)間區(qū)間內(nèi)所有該服務(wù)的監(jiān)控?cái)?shù)據(jù)取出,對(duì)其進(jìn)行計(jì)數(shù)和加和,然后將該加和除以該計(jì)數(shù)就可以得到當(dāng)前時(shí)間區(qū)間服務(wù)的可用性數(shù)值了。

(2)用戶查詢時(shí)間區(qū)間超過(guò)一天。在這種情況中,對(duì)總體可用性的計(jì)算由于需要的數(shù)據(jù)量過(guò)于龐大,需要使用抽樣數(shù)據(jù)。首先將查詢時(shí)間區(qū)間中整天的數(shù)據(jù)從數(shù)據(jù)倉(cāng)庫(kù)的抽樣表中取出并累加到一起,最終得到一個(gè)計(jì)數(shù)count和一個(gè)加和sum,然后在數(shù)據(jù)倉(cāng)庫(kù)的普通表中取出查詢時(shí)間區(qū)間的非整天數(shù)據(jù),接著將查詢時(shí)間區(qū)間中非整天的數(shù)據(jù)累加到sum上,并每次對(duì)count加一,最終得到整體計(jì)數(shù)和整體加和,然后用整體加和除以整體計(jì)數(shù),得到當(dāng)前時(shí)間區(qū)間服務(wù)的可用性數(shù)值。

服務(wù)可用性監(jiān)控系統(tǒng)的數(shù)據(jù)流圖如下:

3 結(jié)論

本文提出的服務(wù)可用性監(jiān)控系統(tǒng)架構(gòu),包括了匯聚計(jì)算、統(tǒng)一數(shù)據(jù)管理、數(shù)據(jù)采集、數(shù)據(jù)抽樣四個(gè)模塊,一方面采用了分層的思想對(duì)業(yè)務(wù)邏輯進(jìn)行分析,降低了模塊與模塊之間的耦合性,當(dāng)邏輯需要發(fā)生變化的時(shí)候,只需要修改一個(gè)模塊,不會(huì)影響到其他模塊;另一方面在存儲(chǔ)數(shù)據(jù)時(shí),對(duì)原始數(shù)據(jù)存儲(chǔ)時(shí)進(jìn)行了一定的數(shù)據(jù)抽樣,從而在大數(shù)據(jù)量查詢時(shí)可以有效的降低查詢時(shí)延,提升了用戶體驗(yàn)。本文的下一步研究重點(diǎn)是完成對(duì)除web服務(wù)以外,其他類型服務(wù)監(jiān)控的接入,希望最終實(shí)現(xiàn)一個(gè)可接人多類型服務(wù)的服務(wù)可用性監(jiān)控系統(tǒng)。

猜你喜歡
可用性報(bào)警監(jiān)控
基于文獻(xiàn)計(jì)量學(xué)的界面設(shè)計(jì)可用性中外對(duì)比研究
The Great Barrier Reef shows coral comeback
基于輻射傳輸模型的GOCI晨昏時(shí)段數(shù)據(jù)的可用性分析
你被監(jiān)控了嗎?
Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
LKD2-HS型列控中心驅(qū)采不一致報(bào)警處理
2015款奔馳E180車安全氣囊報(bào)警
死于密室的租住者
空客A320模擬機(jī)FD1+2可用性的討論
PDCA循環(huán)法在多重耐藥菌感染監(jiān)控中的應(yīng)用