999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

服務可用性監(jiān)控系統(tǒng)的設計與實現

2016-04-08 02:30:38侯興林王曉云
軟件 2016年2期

侯興林++王曉云

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

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

中圖分類號:TP393.08

文獻標識碼:A

DOI:10.3969/j.issn.1003-6970.2016.02.018

引言

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

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

1 相關知識及研究

1.1 高可用性的定義

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

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

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

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

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

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

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

1.2 高可用性等級

高可用性等級明的分級是以可用性百分比中數字“9”的個數來區(qū)分的,如果一個系統(tǒng)達到二級高可用,則說明該系統(tǒng)的可用性百分比為99%,一年中總的故障時間為3.65天;如果一個系統(tǒng)達到四級可用,則說明該系統(tǒng)的可用性百分比為99.99%,一年中總的故障時間為52.5分鐘??捎眯苑旨壉砣缦卤恚?/p>

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

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

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

2 服務可用性監(jiān)控系統(tǒng)架構的分析與設計

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

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

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

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

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

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

數據抽樣模塊是一個輔助模塊,主要是由于監(jiān)控的數據量較大,當計算跨月或者季度的可用性時,由于數據量過大,會導致計算的時間過長,從而影響用戶體驗。因此,數據抽樣模塊將會按天為粒度將監(jiān)控數據計算出來并保存到數據倉庫中。

整體流程及架構如下圖:

2.2 監(jiān)控數據采集

監(jiān)控數據的采集是由數據采集模塊完成的,數據采集模塊會根據用戶配置的監(jiān)控項調用監(jiān)控集群中的多個監(jiān)控機以10秒一次的頻率對監(jiān)控目標進行監(jiān)控,將同一時間點多個監(jiān)控機的數據累計計算出一個百分比,該百分比就是當前監(jiān)控項當前時間點的監(jiān)控數據。具體的監(jiān)控數據采集流程如下:

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

(2)監(jiān)控機發(fā)起對被監(jiān)控服務域名的訪問,獲取其返回數據并將其返回數據與關鍵字對比,如果關鍵字符合則計數加一,不符合則不增加計數。

(3)最終將多個監(jiān)控機計數除以監(jiān)控機的總個數得到一個百分比,該百分比作為當前時間點的監(jiān)控數據。

(4)將監(jiān)控數據按照時間和監(jiān)控項ID作為主鍵存人數據倉庫的普通表。

2.3 監(jiān)控數據抽樣

由于監(jiān)控機的監(jiān)控周期為10秒,對于一個服務的監(jiān)控數據量會非常龐大,當對該服務的可用性進行計算的時候會造成查詢時間過長,影響用戶體驗。所以,數據抽樣模塊會以天為單位對服務的監(jiān)控數據進行抽樣計算,并將其存人數據倉庫中。具體流程為,將前一天凌晨到當天凌晨的該被監(jiān)控服務的監(jiān)控數據計數并加和,將該計數和加和作為抽樣數據存人數據倉庫的抽樣表。

2.4 可用性計算

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

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

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

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

3 結論

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

主站蜘蛛池模板: 亚洲成a人片| 99国产精品免费观看视频| 欧美日韩成人| 四虎成人免费毛片| 国产人成在线观看| av一区二区三区在线观看| 午夜精品一区二区蜜桃| 在线视频精品一区| 国产成人精品免费视频大全五级| 国产成人精品综合| av尤物免费在线观看| 18禁高潮出水呻吟娇喘蜜芽 | 国产va免费精品观看| 区国产精品搜索视频| 人妻精品全国免费视频| 国产成人三级| 99久久无色码中文字幕| 欧洲成人在线观看| 97精品久久久大香线焦| 国产综合欧美| 亚洲精品麻豆| 91高清在线视频| 国产成人亚洲日韩欧美电影| 丁香亚洲综合五月天婷婷| 99精品国产自在现线观看| 麻豆a级片| 视频二区国产精品职场同事| 久久久久免费看成人影片| 欧美激情福利| 欧美另类图片视频无弹跳第一页| 国产91特黄特色A级毛片| 中文字幕在线不卡视频| 999国产精品| 一区二区偷拍美女撒尿视频| 婷婷伊人久久| 无码中文字幕乱码免费2| 国产永久在线观看| 亚洲Va中文字幕久久一区| 国产午夜福利在线小视频| 婷婷丁香在线观看| 天天色综合4| 欧美成人国产| 五月婷婷激情四射| 91色国产在线| 欧美日韩亚洲综合在线观看| 91久久精品日日躁夜夜躁欧美| 婷婷亚洲天堂| 亚洲精品日产AⅤ| 成人午夜免费观看| 成人免费视频一区二区三区| 亚洲第一综合天堂另类专| 性欧美在线| 国产精品va| 国产精品亚洲va在线观看| 色婷婷色丁香| 成人va亚洲va欧美天堂| 亚洲毛片网站| 亚洲中文精品久久久久久不卡| 亚洲精品手机在线| 欧美成人亚洲综合精品欧美激情| 国模视频一区二区| 精品无码一区二区三区电影| 久久免费视频6| 国产成本人片免费a∨短片| 欧美激情首页| 不卡视频国产| 亚洲欧美另类色图| 国产亚洲精品91| 日韩第九页| 国产精品30p| 无码AV高清毛片中国一级毛片| 爱色欧美亚洲综合图区| 免费国产福利| 女同国产精品一区二区| 午夜视频日本| 日本国产精品一区久久久| 国产区成人精品视频| 亚洲精品中文字幕午夜| 日韩福利在线观看| 亚洲精选无码久久久| 国产区免费精品视频| 91精品专区国产盗摄|