麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于osgi的業(yè)務(wù)模塊監(jiān)控方法

文檔序號(hào):9730009閱讀:689來(lái)源:國(guó)知局
基于osgi的業(yè)務(wù)模塊監(jiān)控方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于軟件監(jiān)控技術(shù)領(lǐng)域,涉及一種業(yè)務(wù)模塊監(jiān)控方法,尤其涉及一種基于0SGI的業(yè)務(wù)模塊監(jiān)控方法。
【背景技術(shù)】
[0002]OSGi亦稱(chēng)做Java語(yǔ)言的動(dòng)態(tài)模塊系統(tǒng),它為模塊化應(yīng)用的開(kāi)發(fā)定義了一個(gè)基礎(chǔ)架構(gòu)。
[0003]OSGi規(guī)范和Servlet規(guī)范及EJB規(guī)范類(lèi)似,該規(guī)范定義了兩種對(duì)象,一是容器對(duì)外提供的服務(wù)對(duì)象,另一個(gè)是容器和您的應(yīng)用程序之間必須遵守的契約,其中,服務(wù)對(duì)象是容器要實(shí)現(xiàn)的。您如果想要在OSGi平臺(tái)上進(jìn)行開(kāi)發(fā),首先,您必須要使用OSGi API來(lái)創(chuàng)建您的應(yīng)用,然后將之部署到OSGi容器中。從開(kāi)發(fā)者的角度看,OSGi具有以下優(yōu)點(diǎn):(1)可以在不重啟容器的情況下,動(dòng)態(tài)地安裝、卸載、啟動(dòng)和停止您的應(yīng)用程序中的不同模塊;(2)對(duì)于您應(yīng)用程序中的某一特定模塊,容器可以同時(shí)運(yùn)行該模塊的多個(gè)版本;(3)0SGi為開(kāi)發(fā)嵌入式應(yīng)用、移動(dòng)應(yīng)用、富互聯(lián)網(wǎng)應(yīng)用(RIA)提供了非常優(yōu)秀的基礎(chǔ)架構(gòu)。
[0004]JMX (Java Management Extens1ns,即 Java 管理擴(kuò)展)是一個(gè)為應(yīng)用程序、設(shè)備、系統(tǒng)等植入管理功能的框架。JMX可以跨越一系列異構(gòu)操作系統(tǒng)平臺(tái)、系統(tǒng)體系結(jié)構(gòu)和網(wǎng)絡(luò)傳輸協(xié)議,靈活的開(kāi)發(fā)無(wú)縫集成的系統(tǒng)、網(wǎng)絡(luò)和服務(wù)管理應(yīng)用。
[0005]JMX體系結(jié)構(gòu)分為以下四個(gè)層次:設(shè)備層、代理層、分布服務(wù)層、附加管理協(xié)議API。
[0006]設(shè)備層(Instrumentat1n Level):主要定義了信息模型。在JMX中,各種管理對(duì)象以管理構(gòu)件的形式存在,需要管理時(shí),向MBean服務(wù)器進(jìn)行注冊(cè)。該層還定義了通知機(jī)制以及一些輔助元數(shù)據(jù)類(lèi)。
[0007]代理層(Agent Level):主要定義了各種服務(wù)以及通信模型。該層的核心是一個(gè)MBean服務(wù)器,所有的管理構(gòu)件都需要向它注冊(cè),才能被管理。注冊(cè)在MBean服務(wù)器上管理構(gòu)件并不直接和遠(yuǎn)程應(yīng)用程序進(jìn)行通信,它們通過(guò)協(xié)議適配器和連接器進(jìn)行通信。而協(xié)議適配器和連接器也以管理構(gòu)件的形式向MBean服務(wù)器注冊(cè)才能提供相應(yīng)的服務(wù)。
[0008]分布服務(wù)層(Distributed Service Level):主要定義了能對(duì)代理層進(jìn)行操作的管理接口和構(gòu)件,這樣管理者就可以操作代理。然而,當(dāng)前的JMX規(guī)范并沒(méi)有給出這一層的具體規(guī)范。
[0009]定義的API主要用來(lái)支持當(dāng)前已經(jīng)存在的網(wǎng)絡(luò)管理協(xié)議,如SNMP、TMN、CIM/WBEM
坐寸。
[0010]開(kāi)源監(jiān)控系統(tǒng)OpenTSDB,用hbase存儲(chǔ)所有的時(shí)序(無(wú)需采樣)來(lái)構(gòu)建一個(gè)分布式、可伸縮的時(shí)間序列數(shù)據(jù)庫(kù)。它支持秒級(jí)數(shù)據(jù)采集所有metrics,支持永久存儲(chǔ),可以做容量規(guī)劃,并很容易的接入到現(xiàn)有的報(bào)警系統(tǒng)里。OpenTSDB可以從大規(guī)模的集群(包括集群中的網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)、應(yīng)用程序)中獲取相應(yīng)的metrics并進(jìn)行存儲(chǔ)、索引以及服務(wù),從而使得這些數(shù)據(jù)更容易讓人理解,如web化,圖形化等。
[0011]對(duì)于運(yùn)維工程師而言,OpenTSDB可以獲取基礎(chǔ)設(shè)施和服務(wù)的實(shí)時(shí)狀態(tài)信息,展示集群的各種軟硬件錯(cuò)誤,性能變化以及性能瓶頸。對(duì)于管理者而言,OpenTSDB可以衡量系統(tǒng)的SLA,理解復(fù)雜系統(tǒng)間的相互作用,展示資源消耗情況。集群的整體作業(yè)情況,可以用以輔助預(yù)算和集群資源協(xié)調(diào)。對(duì)于開(kāi)發(fā)者而言,OpenTSDB可以展示集群的主要性能瓶頸,經(jīng)常出現(xiàn)的錯(cuò)誤,從而可以著力重點(diǎn)解決重要問(wèn)題。

【發(fā)明內(nèi)容】

[0012]本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種基于0SGI的業(yè)務(wù)模塊監(jiān)控方法,可準(zhǔn)確定位業(yè)務(wù)方法的瓶頸,進(jìn)而改進(jìn)系統(tǒng),促進(jìn)版本升級(jí)。
[0013]如今需要一個(gè)支持模塊化、分布式、大數(shù)據(jù)操作的開(kāi)發(fā)平臺(tái)的車(chē)聯(lián)網(wǎng)框架。由于系統(tǒng)的龐大復(fù)雜,為保證系統(tǒng)的穩(wěn)定運(yùn)行和快速定位系統(tǒng)瓶頸,為研發(fā)和改進(jìn)系統(tǒng)提供依據(jù);需要對(duì)系統(tǒng)、平臺(tái)、服務(wù)模塊、服務(wù)模塊業(yè)務(wù)方法進(jìn)行監(jiān)控?cái)?shù)據(jù)采集和數(shù)據(jù)分析。通過(guò)本發(fā)明監(jiān)控方法,可以:
[0014]定時(shí)采集操作系統(tǒng)層面指標(biāo):CPU使用率、內(nèi)存使用率、存儲(chǔ)使用率、網(wǎng)絡(luò)流量等。
[0015]定時(shí)采集集群層面指標(biāo):集群規(guī)模、成員服務(wù)器有效狀態(tài)等。
[0016]定時(shí)采集成員服務(wù)器JVM指標(biāo):堆使用情況、線(xiàn)程情況等。
[0017]定時(shí)采集業(yè)務(wù)模塊指標(biāo):接口數(shù)量、接口列表等。
[0018]定時(shí)采集每個(gè)接口指標(biāo):請(qǐng)求次數(shù)、錯(cuò)誤次數(shù)、合計(jì)處理時(shí)間、最大一次處理時(shí)間、平均處理時(shí)間等。
[0019]使用時(shí)間序列數(shù)據(jù)庫(kù)(TSDB)保存各時(shí)間點(diǎn)的指標(biāo)數(shù)據(jù),形成監(jiān)控大數(shù)據(jù)。
[0020]通過(guò)大數(shù)據(jù)分析工具,分析業(yè)務(wù)的忙/閑情況,各業(yè)務(wù)接口的處理情況,以及相同時(shí)間點(diǎn)下各依賴(lài)環(huán)境、支撐環(huán)境的指標(biāo)情況,從而綜合分析系統(tǒng)的性能瓶頸。
[0021]為解決上述技術(shù)問(wèn)題,本發(fā)明采用如下技術(shù)方案:
[0022]一種基于0SGI的業(yè)務(wù)模塊監(jiān)控方法,所述監(jiān)控方法包括如下步驟:
[0023]步驟S1、客戶(hù)端請(qǐng)求調(diào)用ZooKeeper集群,ZooKeeper集群檢查業(yè)務(wù)模塊對(duì)應(yīng)服務(wù)容器SP是否還在集群中,若在集群中,則返回業(yè)務(wù)模塊服務(wù)容器SP的訪(fǎng)問(wèn)接口給客戶(hù)端;
[0024]步驟S2、客戶(hù)端調(diào)用SP組件的方法被服務(wù)容器SP的業(yè)務(wù)方法攔截器捕獲,攔截器進(jìn)行如下操作:將方法調(diào)用計(jì)數(shù)器做加1操作,記錄開(kāi)始調(diào)用時(shí)間;
[0025]步驟S3、業(yè)務(wù)方法攔截器調(diào)用0SGI容器中的SP組件方法,方法返回結(jié)果或發(fā)送異常至所述業(yè)務(wù)方法攔截器;業(yè)務(wù)方法攔截器進(jìn)行如下操作:計(jì)算處理時(shí)間;如果有錯(cuò)誤,將錯(cuò)誤次數(shù)做加1操作;如果當(dāng)前最大處理時(shí)間和前一個(gè)最大處理時(shí)間變量進(jìn)行比較,若當(dāng)前最大處理時(shí)間更大,則將最大處理時(shí)間修改為當(dāng)前最大處理時(shí)間;
[0026]步驟S4、指標(biāo)采集開(kāi)始需要獲取服務(wù)容器SP組件的業(yè)務(wù)方法列表;通過(guò)監(jiān)控模塊從業(yè)務(wù)方法攔截器獲取;
[0027]監(jiān)控模塊是基于JMX開(kāi)發(fā)的管理組件,運(yùn)行在SP-Server中,用于匯總各種指標(biāo)數(shù)據(jù)同時(shí)向指標(biāo)采取器提供接口 ;監(jiān)控模塊向采集器提供:業(yè)務(wù)方法列表接口、指標(biāo)獲取接口、指標(biāo)重置接口、業(yè)務(wù)組件控制接口 ;
[0028]步驟S5、循環(huán)每個(gè)業(yè)務(wù)方法條目,根據(jù)方法的標(biāo)識(shí)發(fā)起指標(biāo)獲取請(qǐng)求,一個(gè)業(yè)務(wù)方法包含:處理次數(shù)、處理時(shí)間合計(jì)、最大一次處理事情、錯(cuò)誤次數(shù);
[0029]步驟S6、一次業(yè)務(wù)方法的指標(biāo)采集完,調(diào)用重置接口,把上次所有指標(biāo)清零;各項(xiàng)指標(biāo)保存到時(shí)間序列數(shù)據(jù)庫(kù)tsdb中后,表現(xiàn)為一定時(shí)間間隔的指標(biāo)數(shù)值;
[0030]步驟S7、采集程序通過(guò)控制接口,向ZooKeeper集群發(fā)送脫離SP組件指令,SP組件集群后,業(yè)務(wù)調(diào)用將不會(huì)分發(fā)給SP組件集群;
[0031]步驟S8、業(yè)務(wù)指標(biāo)的分析及報(bào)警步驟;
[0032]步驟S9、信息展示步驟:有配置關(guān)系的支撐數(shù)據(jù),展示在某時(shí)間點(diǎn)上,包括業(yè)務(wù)方法請(qǐng)求數(shù)量、集群規(guī)模、JVM的線(xiàn)程數(shù)量、JVM堆內(nèi)存大小、服務(wù)器的會(huì)話(huà)數(shù)量、服務(wù)器連接數(shù)量、CPU利用率、內(nèi)存使用率、進(jìn)程數(shù)量、網(wǎng)絡(luò)帶寬情況;通過(guò)綜合環(huán)境參數(shù)的展示運(yùn)維人員準(zhǔn)確及時(shí)的協(xié)調(diào)資源,滿(mǎn)足系統(tǒng)峰值需求;同時(shí)在系統(tǒng)閑時(shí)削減資源,節(jié)約運(yùn)營(yíng)成本;
[0033]其中,步驟S8具體包括:
[0034]步驟S81、提取各報(bào)警對(duì)象的的報(bào)警指標(biāo),包括集群本身的指標(biāo)、集群各類(lèi)型節(jié)點(diǎn)的指標(biāo)、JVM的指標(biāo);
[0035]步驟S82、根據(jù)集群-服務(wù)器關(guān)系提取各集群的成員服務(wù)器;
[0036]步驟S83、循環(huán)各集群服務(wù)器,從時(shí)間序列數(shù)據(jù)庫(kù)tsdb中獲取各指標(biāo)的值;
[0037]步驟S84、對(duì)每項(xiàng)指標(biāo)逐一檢查配置的報(bào)警閥值;
[0038]步驟S85、報(bào)警分為兩種:中斷性報(bào)警,tsdb中沒(méi)有取出記錄;指標(biāo)超閥值類(lèi)報(bào)警,超出了報(bào)警閥值的范圍;
[0039]步驟S86、報(bào)警成員的提取:Sp集群的報(bào)警根據(jù)主機(jī)、集群、渠道提取相關(guān)的報(bào)警組成員;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主機(jī)管理員;
[0040]步驟S87、報(bào)警的重復(fù)提醒問(wèn)題:如果10分鐘后沒(méi)有人處理繼續(xù)產(chǎn)生同樣的報(bào)警信息;
[0041]步驟S88、獲取報(bào)警的郵件發(fā)送列表,發(fā)送報(bào)警郵件。
[0042]一種基于0SGI的業(yè)務(wù)模塊監(jiān)控方法,所述監(jiān)控方法包括如下步驟:
[0043]步驟S1、客戶(hù)端請(qǐng)求調(diào)用ZooKeeper集群,ZooKeeper集群檢查業(yè)務(wù)模塊對(duì)應(yīng)服務(wù)容器SP是否還在集群中,若在集群中,則返回業(yè)務(wù)模塊服務(wù)容器SP訪(fǎng)問(wèn)接口給客戶(hù)端;
[0044]步驟S2、客戶(hù)端調(diào)用SP組件的方法被服務(wù)容器SP的業(yè)務(wù)方法攔截器捕獲,攔截器進(jìn)行如下操作:將方法調(diào)用計(jì)數(shù)器做加1操作,記錄開(kāi)始調(diào)用時(shí)間;
[0045]步驟S3、業(yè)務(wù)方法攔截器調(diào)用0SGI容器中的SP組件方法,方法返回結(jié)果或發(fā)送異常至所述業(yè)務(wù)方法攔截器;
[0046]步驟S4、指標(biāo)采集開(kāi)始需要獲取服務(wù)容器SP組件的業(yè)務(wù)方法列表;通過(guò)監(jiān)控模塊從業(yè)務(wù)方法攔截器獲取;
[0047]步驟S5、循環(huán)每個(gè)業(yè)務(wù)方法條目,根據(jù)方法的標(biāo)識(shí)發(fā)起指標(biāo)獲取請(qǐng)求,一個(gè)業(yè)務(wù)方法包含:處理次數(shù)、處理時(shí)間合計(jì)、最大一次處理事情、錯(cuò)誤次數(shù);
[0048]步驟S6、一次業(yè)務(wù)方法的指標(biāo)采集完,調(diào)用重置接口,把上次所有指標(biāo)清零;各項(xiàng)指標(biāo)保存到時(shí)間序列數(shù)據(jù)
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 三亚市| 临潭县| 毕节市| 大石桥市| 布尔津县| 德安县| 若尔盖县| 阿鲁科尔沁旗| 丹凤县| 绿春县| 乃东县| 苍溪县| 剑阁县| 通河县| 都安| 金川县| 湘潭市| 介休市| 三江| 高密市| 牡丹江市| 沁水县| 汝州市| 额尔古纳市| 博野县| 镇巴县| 克东县| 大余县| 陵水| 虹口区| 神木县| 芮城县| 招远市| 临夏市| 二连浩特市| 琼结县| 鄯善县| 云和县| 施秉县| 萨迦县| 饶阳县|