面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法
【專利摘要】本發(fā)明涉及面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法。本發(fā)明包括服務(wù)器監(jiān)控、數(shù)據(jù)庫(kù)監(jiān)控;系統(tǒng)由一個(gè)WEB應(yīng)用端和多個(gè)分布式Oracle服務(wù)器組成,通過(guò)雙向加密的心跳包作為通信方式;WEB應(yīng)用端根據(jù)本地存儲(chǔ)服務(wù)器的配置信息、監(jiān)控策略等,實(shí)時(shí)獲取監(jiān)控服務(wù)器的各種狀態(tài)信息并根據(jù)監(jiān)控策略以及監(jiān)控歷史數(shù)據(jù)等對(duì)服務(wù)器及其數(shù)據(jù)庫(kù)進(jìn)行智能診斷并且預(yù)警;系統(tǒng)增加網(wǎng)絡(luò)模型,根據(jù)歷史數(shù)據(jù)對(duì)當(dāng)前值進(jìn)行預(yù)測(cè),只有在預(yù)測(cè)的誤差超出容忍的范圍時(shí)才進(jìn)行通信以更新相關(guān)參數(shù),否則就用WEB應(yīng)用端的預(yù)測(cè)值代替實(shí)際值。本發(fā)明可以在保證一定精度的基礎(chǔ)上,有效降低應(yīng)用端和服務(wù)端的通信量;可以運(yùn)用于云數(shù)據(jù)庫(kù)的分布式實(shí)時(shí)監(jiān)控中。
【專利說(shuō)明】面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云數(shù)據(jù)庫(kù)【技術(shù)領(lǐng)域】,尤其是面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法。
【背景技術(shù)】
[0002]基于云數(shù)據(jù)庫(kù)的分布式實(shí)時(shí)智能監(jiān)控方法,實(shí)現(xiàn)了服務(wù)器和數(shù)據(jù)庫(kù)的安全監(jiān)控,通過(guò)服務(wù)器端代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)控,使用Socket作為WEB應(yīng)用端和數(shù)據(jù)庫(kù)服務(wù)器端的通信工具,使用AES和RSA雙向加密算法保證了通信的安全可靠。Socket獲取的數(shù)據(jù)存儲(chǔ)到WEB應(yīng)用端監(jiān)控日志數(shù)據(jù)庫(kù),通過(guò)對(duì)日志數(shù)據(jù)庫(kù)中的各項(xiàng)關(guān)鍵指標(biāo)進(jìn)行綜合分析,計(jì)算出整個(gè)系統(tǒng)的健康度。根據(jù)設(shè)置的預(yù)警閥值給予相應(yīng)的預(yù)警。分布式數(shù)據(jù)庫(kù)監(jiān)控系統(tǒng)的目的是保證數(shù)據(jù)庫(kù)的持續(xù)可靠與高性能運(yùn)行,由于被監(jiān)控?cái)?shù)據(jù)庫(kù)系統(tǒng)上運(yùn)行著其他業(yè)務(wù)系統(tǒng),因此必須考慮監(jiān)控系統(tǒng)運(yùn)行時(shí)對(duì)其他業(yè)務(wù)的性能影響。
【發(fā)明內(nèi)容】
[0003]本發(fā)明解決的技術(shù)問(wèn)題在于面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)智能監(jiān)控方法。
[0004]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案是:
[0005]所述的方法包括服務(wù)器監(jiān)控、數(shù)據(jù)庫(kù)監(jiān)控;實(shí)施方法的系統(tǒng)由一個(gè)WEB應(yīng)用端和多個(gè)分布式Oracle服務(wù)器組成,通過(guò)一種雙向加密的心跳包作為通信方式,保證服務(wù)器的安全性;WEB應(yīng)用端根據(jù)本地存儲(chǔ)服務(wù)器的配置信息、監(jiān)控策略等,實(shí)時(shí)獲取監(jiān)控服務(wù)器的各種狀態(tài)信息并根據(jù)監(jiān)控策略以及監(jiān)控歷史數(shù)據(jù)等對(duì)服務(wù)器及其數(shù)據(jù)庫(kù)進(jìn)行智能診斷并且預(yù)警;在WEB應(yīng)用端和服務(wù)器端分別增加網(wǎng)絡(luò)模型,根據(jù)歷史數(shù)據(jù)對(duì)當(dāng)前值進(jìn)行預(yù)測(cè),只有在預(yù)測(cè)的誤差超出容忍的范圍時(shí)才進(jìn)行通信以更新相關(guān)參數(shù),否則就用WEB應(yīng)用端的預(yù)測(cè)值代替實(shí)際值。
[0006]所述的基于雙向加密的心跳包機(jī)制,包括如下步驟:
[0007]第一步,根據(jù)監(jiān)控請(qǐng)求內(nèi)容,按照自定義心跳包協(xié)議生成心跳包明文數(shù)據(jù)包;
[0008]第二步,用本地AES秘鑰對(duì)明文心跳包進(jìn)行加密;
[0009]第三步,通過(guò)網(wǎng)絡(luò)在服務(wù)器代理端獲取RSA公鑰;
[0010]第四步,通過(guò)獲取的RSA公鑰對(duì)本地AES秘鑰進(jìn)行加密。
[0011]第五步,將第二步和第四步生成的數(shù)據(jù)包合并發(fā)送到服務(wù)器代理端,同時(shí)啟動(dòng)一個(gè)超時(shí)定時(shí)器;
[0012]第六步,服務(wù)器代理端接收到數(shù)據(jù)包后根據(jù)約定規(guī)則將數(shù)據(jù)包拆分成第二步和第四步的結(jié)果數(shù)據(jù)兩部分,分別標(biāo)記為dataA、dataB。
[0013]第七步,使用本地RSA私鑰對(duì)dataB進(jìn)行解密得到web應(yīng)用端AES秘鑰;
[0014]第八步,使用第七步中得到的web應(yīng)用端AES秘鑰對(duì)dataA進(jìn)行解密得到監(jiān)控請(qǐng)求明文;
[0015]第九步,根據(jù)自定義協(xié)議解析第八步結(jié)果得到監(jiān)控請(qǐng)求命令;
[0016]第十步,執(zhí)行監(jiān)控請(qǐng)求命令;
[0017]第十一步,返回監(jiān)控結(jié)果到WEB應(yīng)用端;
[0018]第十二步,WEB應(yīng)用端若收到數(shù)據(jù)包則刪除定時(shí)器,若超過(guò)限定時(shí)間仍然沒(méi)收到數(shù)據(jù)包,則說(shuō)明服務(wù)器連接失敗。
[0019]所述的服務(wù)器智能診斷和預(yù)警流程,包括如下步驟:
[0020]第一步,用戶啟用監(jiān)控功能;
[0021]第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息;
[0022]第三步,根據(jù)請(qǐng)求任務(wù)以及心跳包協(xié)議封裝心跳包數(shù)據(jù);
[0023]第四步,WEB應(yīng)用端通過(guò)SOCKET與服務(wù)器代理建立通信連接;
[0024]第五步,SOCKET通信采用混合加密的方式,保證通信的安全可靠;
[0025]第六步,向被監(jiān)控服務(wù)器周期性發(fā)送心跳包;
[0026]第七步,服務(wù)端代理接收心跳包數(shù)據(jù);
[0027]第八步,服務(wù)端代理根據(jù)心跳包協(xié)議解析心跳包數(shù)據(jù);
[0028]第九步,服務(wù)器代理執(zhí)行心跳包中的任務(wù);
[0029]第十步,服務(wù)器代理發(fā)送監(jiān)控結(jié)果到WEB應(yīng)用端;
[0030]第十一步,WEB應(yīng)用端接收服務(wù)端代理的數(shù)據(jù)包,進(jìn)行解包;
[0031]第十二步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù);
[0032]第十三步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)硬盤的使用速度可以預(yù)測(cè)硬盤高負(fù)載的時(shí)間;
[0033]第十四步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。
[0034]第十五步,根據(jù)預(yù)警策略和預(yù)警級(jí)別給予email或短信等相應(yīng)預(yù)警信息。
[0035]所述的服務(wù)器智能診斷和預(yù)警流程第十五步中,若某個(gè)心跳包發(fā)送失敗說(shuō)明服務(wù)器已經(jīng)失去連接,則給予ping不通警告;若CPU持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予CPU高負(fù)載警告;若內(nèi)存持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予內(nèi)存不足警告;若硬盤處于高負(fù)載狀態(tài),則給予磁盤空間不足警告;若網(wǎng)絡(luò)負(fù)載率超過(guò)90%則給予網(wǎng)絡(luò)負(fù)載過(guò)高警告。
[0036]所述的數(shù)據(jù)庫(kù)智能診斷和預(yù)警流程,包括如下步驟:
[0037]第一步,用戶啟用監(jiān)控功能;
[0038]第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息;
[0039]第三步,建立到數(shù)據(jù)庫(kù)服務(wù)器的JDBC連接,組裝響應(yīng)的查詢SQL并執(zhí)行;監(jiān)控內(nèi)容有:用戶連接總數(shù)、活躍用戶數(shù)、數(shù)據(jù)庫(kù)響應(yīng)時(shí)間、數(shù)據(jù)庫(kù)10、AWR報(bào)告、SQL執(zhí)行效率、insert、delete、update、select 請(qǐng)求量等;
[0040]第四步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù);
[0041]第五步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)空間使用速度可預(yù)測(cè)什么時(shí)候空間使用率會(huì)達(dá)到預(yù)警值;
[0042]第六步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。
[0043]第七步,根據(jù)預(yù)警策略、預(yù)警級(jí)別和監(jiān)控?cái)?shù)據(jù)對(duì)數(shù)據(jù)庫(kù)健康度進(jìn)行評(píng)估,進(jìn)而給予email或短信等相應(yīng)預(yù)警信息。
[0044]所述的數(shù)據(jù)庫(kù)智能診斷和預(yù)警流程第七步中,若select語(yǔ)句執(zhí)行超過(guò)10秒,則給予慢查詢SQL警告;若庫(kù)空閑空間小于20%,則給予庫(kù)空間不足警告。
[0045]本發(fā)明采用預(yù)測(cè)模型降低了分布式數(shù)據(jù)庫(kù)監(jiān)控的網(wǎng)絡(luò)開銷,可以保證在一定精度的基礎(chǔ)上,有效的降低應(yīng)用端和服務(wù)端的通信量,從而降低了對(duì)服務(wù)端其他應(yīng)用的影響。
【專利附圖】
【附圖說(shuō)明】
[0046]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明:
[0047]圖1是心跳包處理的序列圖;
[0048]圖2是本發(fā)明的整體架構(gòu)圖。
【具體實(shí)施方式】
[0049]如圖1、2所示,本發(fā)明面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)智能監(jiān)控方法提供分布式的云端數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控,包括服務(wù)器監(jiān)控、數(shù)據(jù)庫(kù)監(jiān)控。系統(tǒng)由一個(gè)WEB應(yīng)用端和多個(gè)分布式ORACLE服務(wù)器組成,通過(guò)一種雙向加密的心跳包作為通信方式,保證了服務(wù)器的安全性。WEB應(yīng)用端根據(jù)本地存儲(chǔ)服務(wù)器的一些配置信息、監(jiān)控策略等,實(shí)時(shí)獲取監(jiān)控ORACLE服務(wù)器的各種狀態(tài)信息并根據(jù)監(jiān)控策略以及監(jiān)控歷史數(shù)據(jù)等對(duì)服務(wù)器進(jìn)行智能診斷并且預(yù)警。采用預(yù)測(cè)模型降低網(wǎng)絡(luò)開銷,在WEB應(yīng)用端和服務(wù)器端分別增加網(wǎng)絡(luò)模型,根據(jù)歷史數(shù)據(jù)對(duì)當(dāng)前值進(jìn)行預(yù)測(cè),只有在預(yù)測(cè)的誤差超出容忍的范圍時(shí)才進(jìn)行通信,以更新相關(guān)參數(shù),否則就用WEB應(yīng)用端的預(yù)測(cè)值代替實(shí)際值。這樣可以保證在一定精度的基礎(chǔ)上,有效的降低應(yīng)用端和服務(wù)端的通信量。
[0050]如圖1所示:本方法的雙向加密心跳包詳細(xì)作業(yè)流程為:
[0051 ] 第一步,根據(jù)監(jiān)控請(qǐng)求內(nèi)容,按照自定義心跳包協(xié)議生成心跳包明文數(shù)據(jù)包。
[0052]第二步,用本地AES秘鑰對(duì)明文心跳包進(jìn)行加密。
[0053]第三步,通過(guò)網(wǎng)絡(luò)在服務(wù)器代理端獲取RSA公鑰;
[0054]第四步,通過(guò)獲取的RSA公鑰對(duì)本地AES秘鑰進(jìn)行加密。
[0055]第五步,將第二步和第四步生成的數(shù)據(jù)包合并發(fā)送到服務(wù)器代理端,同時(shí)啟動(dòng)超時(shí)定時(shí)器。
[0056]第六步,服務(wù)器代理端接收到數(shù)據(jù)包后根據(jù)約定規(guī)則將數(shù)據(jù)包拆分成第二步和第四步的結(jié)果數(shù)據(jù)兩部分,分別標(biāo)記為dataA、dataB。
[0057]第七步,使用本地RSA私鑰對(duì)dataB進(jìn)行解密得到web應(yīng)用端AES秘鑰。
[0058]第八步,使用第七步中得到的web應(yīng)用端AES秘鑰對(duì)dataA進(jìn)行解密得到監(jiān)控請(qǐng)求明文。
[0059]第九步,根據(jù)自定義協(xié)議解析第八步結(jié)果得到監(jiān)控請(qǐng)求命令。
[0060]第十步,執(zhí)行監(jiān)控請(qǐng)求命令。
[0061]第^ 步,返回監(jiān)控結(jié)果到WEB應(yīng)用端。
[0062]第十二步,WEB應(yīng)用端若收到數(shù)據(jù)包則刪除定時(shí)器,若超過(guò)限定時(shí)間仍然沒(méi)收到數(shù)據(jù)包,則說(shuō)明服務(wù)器連接失敗。
[0063]如圖2所示,本方法的服務(wù)器監(jiān)控詳細(xì)業(yè)務(wù)流程為:
[0064]第一步,用戶啟用監(jiān)控功能;
[0065]第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息;
[0066]第三步,根據(jù)請(qǐng)求任務(wù)以及心跳包協(xié)議封裝心跳包數(shù)據(jù)。
[0067]第四步,WEB應(yīng)用端通過(guò)SOCKET與服務(wù)器代理建立通信連接;
[0068]第五步,SOCKET通信采用混合加密的方式,保證了通信的安全可靠;
[0069]第六步,向被監(jiān)控服務(wù)器周期性發(fā)送心跳包。
[0070]第七步,服務(wù)端代理接收心跳包數(shù)據(jù)。
[0071]第八步,服務(wù)端代理根據(jù)心跳包協(xié)議解析心跳包數(shù)據(jù)。
[0072]第九步,服務(wù)器代理執(zhí)行心跳包中的任務(wù)。
[0073]第十步,服務(wù)器代理發(fā)送監(jiān)控結(jié)果到WEB應(yīng)用端。
[0074]第十一步,WEB應(yīng)用端接收服務(wù)端代理的數(shù)據(jù)包,進(jìn)行解包。
[0075]第十二步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù)。
[0076]第十三步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)硬盤的使用速度可以預(yù)測(cè)硬盤高負(fù)載的時(shí)間。
[0077]第十四步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。
[0078]第十五步,根據(jù)預(yù)警策略和預(yù)警級(jí)別給予相應(yīng)預(yù)警信息(發(fā)送email或短信)。例如:若某個(gè)心跳包發(fā)送失敗說(shuō)明服務(wù)器已經(jīng)失去連接,則給予ping不通警告;gCPU持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予CPU高負(fù)載警告;若內(nèi)存持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予內(nèi)存不足警告;若硬盤處于高負(fù)載狀態(tài),則給予磁盤空間不足警告;若網(wǎng)絡(luò)負(fù)載率超過(guò)90%則給予網(wǎng)絡(luò)負(fù)載過(guò)高警告。
[0079]如圖2所示,本方法的數(shù)據(jù)庫(kù)監(jiān)控詳細(xì)業(yè)務(wù)流程為:
[0080]第一步,用戶啟用監(jiān)控功能;
[0081]第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息;
[0082]第三步,建立到數(shù)據(jù)庫(kù)服務(wù)器的JDBC連接,組裝響應(yīng)的查詢SQL并執(zhí)行。監(jiān)控內(nèi)容有:用戶連接總數(shù)、活躍用戶數(shù)、數(shù)據(jù)庫(kù)響應(yīng)時(shí)間、數(shù)據(jù)庫(kù)10、AWR報(bào)告、SQL執(zhí)行效率、insert、delete、update、select 請(qǐng)求量等。
[0083]第四步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù)。
[0084]第五步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)空間使用速度可預(yù)測(cè)什么時(shí)候空間使用率會(huì)達(dá)到預(yù)警值。
[0085]第六步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。
[0086]第七步,根據(jù)預(yù)警策略、預(yù)警級(jí)別和監(jiān)控?cái)?shù)據(jù)對(duì)數(shù)據(jù)庫(kù)健康度進(jìn)行評(píng)估,進(jìn)而給予相應(yīng)預(yù)警信息(發(fā)送email或短信)。例如:若select語(yǔ)句執(zhí)行超過(guò)10秒,則給予慢查詢SQL警告;若庫(kù)空閑空間小于20%,則給予庫(kù)空間不足警告。
【權(quán)利要求】
1.面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的方法包括服務(wù)器監(jiān)控、數(shù)據(jù)庫(kù)監(jiān)控;實(shí)施方法的系統(tǒng)由一個(gè)WEB應(yīng)用端和多個(gè)分布式Oracle服務(wù)器組成,通過(guò)一種雙向加密的心跳包作為通信方式,保證服務(wù)器的安全性;WEB應(yīng)用端根據(jù)本地存儲(chǔ)服務(wù)器的配置信息、監(jiān)控策略等,實(shí)時(shí)獲取監(jiān)控服務(wù)器的各種狀態(tài)信息并根據(jù)監(jiān)控策略以及監(jiān)控歷史數(shù)據(jù)等對(duì)服務(wù)器及其數(shù)據(jù)庫(kù)進(jìn)行智能診斷并且預(yù)警;在WEB應(yīng)用端和服務(wù)器端分別增加網(wǎng)絡(luò)模型,根據(jù)歷史數(shù)據(jù)對(duì)當(dāng)前值進(jìn)行預(yù)測(cè),只有在預(yù)測(cè)的誤差超出容忍的范圍時(shí)才進(jìn)行通信以更新相關(guān)參數(shù),否則就用WEB應(yīng)用端的預(yù)測(cè)值代替實(shí)際值。
2.根據(jù)權(quán)利要求1所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的基于雙向加密的心跳包機(jī)制,包括如下步驟: 第一步,根據(jù)監(jiān)控請(qǐng)求內(nèi)容,按照自定義心跳包協(xié)議生成心跳包明文數(shù)據(jù)包; 第二步,用本地AES秘鑰對(duì)明文心跳包進(jìn)行加密; 第三步,通過(guò)網(wǎng)絡(luò)在服務(wù)器代理端獲取RSA公鑰; 第四步,通過(guò)獲取的RSA公鑰對(duì)本地AES秘鑰進(jìn)行加密。 第五步,將第二步和第四步生成的數(shù)據(jù)包合并發(fā)送到服務(wù)器代理端,同時(shí)啟動(dòng)一個(gè)超時(shí)定時(shí)器; 第六步,服務(wù)器代理端接收到數(shù)據(jù)包后根據(jù)約定規(guī)則將數(shù)據(jù)包拆分成第二步和第四步的結(jié)果數(shù)據(jù)兩部分,分別標(biāo)記為dataA、dataB。 第七步,使用本地RSA私鑰對(duì)dataB進(jìn)行解密得到web應(yīng)用端AES秘鑰; 第八步,使用第七步中得到的web應(yīng)用端AES秘鑰對(duì)dataA進(jìn)行解密得到監(jiān)控請(qǐng)求明文; 第九步,根據(jù)自定義協(xié)議解析第八步結(jié)果得到監(jiān)控請(qǐng)求命令; 第十步,執(zhí)行監(jiān)控請(qǐng)求命令; 第十一步,返回監(jiān)控結(jié)果到WEB應(yīng)用端; 第十二步,WEB應(yīng)用端若收到數(shù)據(jù)包則刪除定時(shí)器,若超過(guò)限定時(shí)間仍然沒(méi)收到數(shù)據(jù)包,則說(shuō)明服務(wù)器連接失敗。
3.根據(jù)權(quán)利要求1所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的服務(wù)器智能診斷和預(yù)警流程,包括如下步驟: 第一步,用戶啟用監(jiān)控功能; 第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息; 第三步,根據(jù)請(qǐng)求任務(wù)以及心跳包協(xié)議封裝心跳包數(shù)據(jù); 第四步,WEB應(yīng)用端通過(guò)SOCKET與服務(wù)器代理建立通信連接; 第五步,SOCKET通信采用混合加密的方式,保證通信的安全可靠; 第六步,向被監(jiān)控服務(wù)器周期性發(fā)送心跳包; 第七步,服務(wù)端代理接收心跳包數(shù)據(jù); 第八步,服務(wù)端代理根據(jù)心跳包協(xié)議解析心跳包數(shù)據(jù); 第九步,服務(wù)器代理執(zhí)行心跳包中的任務(wù); 第十步,服務(wù)器代理發(fā)送監(jiān)控結(jié)果到WEB應(yīng)用端; 第十一步,WEB應(yīng)用端接收服務(wù)端代理的數(shù)據(jù)包,進(jìn)行解包; 第十二步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù); 第十三步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)硬盤的使用速度可以預(yù)測(cè)硬盤高負(fù)載的時(shí)間; 第十四步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。 第十五步,根據(jù)預(yù)警策略和預(yù)警級(jí)別給予email或短信等相應(yīng)預(yù)警信息。
4.根據(jù)權(quán)利要求2所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的服務(wù)器智能診斷和預(yù)警流程,包括如下步驟: 第一步,用戶啟用監(jiān)控功能; 第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息; 第三步,根據(jù)請(qǐng)求任務(wù)以及心跳包協(xié)議封裝心跳包數(shù)據(jù); 第四步,WEB應(yīng)用端通過(guò)SOCKET與服務(wù)器代理建立通信連接; 第五步,SOCKET通信采用混合加密的方式,保證通信的安全可靠; 第六步,向被監(jiān)控服務(wù)器周期性發(fā)送心跳包; 第七步,服務(wù)端代理接收心跳包數(shù)據(jù); 第八步,服務(wù)端代理根據(jù)心跳包協(xié)議解析心跳包數(shù)據(jù); 第九步,服務(wù)器代理執(zhí)行心跳包中的任務(wù); 第十步,服務(wù)器代理發(fā)送監(jiān)控結(jié)果到WEB應(yīng)用端; 第十一步,WEB應(yīng)用端接收服務(wù)端代理的數(shù)據(jù)包,進(jìn)行解包; 第十二步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù); 第十三步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)硬盤的使用速度可以預(yù)測(cè)硬盤高負(fù)載的時(shí)間; 第十四步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。 第十五步,根據(jù)預(yù)警策略和預(yù)警級(jí)別給予email或短信等相應(yīng)預(yù)警信息。
5.根據(jù)權(quán)利要求3所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的第十五步中,若某個(gè)心跳包發(fā)送失敗說(shuō)明服務(wù)器已經(jīng)失去連接,則給予ping不通警告;若CPU持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予CPU高負(fù)載警告;若內(nèi)存持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予內(nèi)存不足警告;若硬盤處于高負(fù)載狀態(tài),則給予磁盤空間不足警告;若網(wǎng)絡(luò)負(fù)載率超過(guò)90%則給予網(wǎng)絡(luò)負(fù)載過(guò)高警告。
6.根據(jù)權(quán)利要求4所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的第十五步中,若某個(gè)心跳包發(fā)送失敗說(shuō)明服務(wù)器已經(jīng)失去連接,則給予ping不通警告;若CPU持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予CPU高負(fù)載警告;若內(nèi)存持續(xù)30分鐘處于高負(fù)載狀態(tài),則給予內(nèi)存不足警告;若硬盤處于高負(fù)載狀態(tài),則給予磁盤空間不足警告;若網(wǎng)絡(luò)負(fù)載率超過(guò)90%則給予網(wǎng)絡(luò)負(fù)載過(guò)高警告。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的數(shù)據(jù)庫(kù)智能診斷和預(yù)警流程,包括如下步驟: 第一步,用戶啟用監(jiān)控功能; 第二步,WEB應(yīng)用端查詢要監(jiān)控的數(shù)據(jù)源以及相應(yīng)的監(jiān)控策略和配置信息; 第三步,建立到數(shù)據(jù)庫(kù)服務(wù)器的JDBC連接,組裝響應(yīng)的查詢SQL并執(zhí)行;監(jiān)控內(nèi)容有:用戶連接總數(shù)、活躍用戶數(shù)、數(shù)據(jù)庫(kù)響應(yīng)時(shí)間、數(shù)據(jù)庫(kù)10、AWR報(bào)告、SQL執(zhí)行效率、insert,delete、update、select 請(qǐng)求量等; 第四步,記錄監(jiān)控?cái)?shù)據(jù)到本地日志數(shù)據(jù)庫(kù); 第五步,根據(jù)日志數(shù)據(jù)挖掘潛在異常,如通過(guò)空間使用速度可預(yù)測(cè)什么時(shí)候空間使用率會(huì)達(dá)到預(yù)警值; 第六步,計(jì)算預(yù)警級(jí)別,預(yù)警級(jí)別=預(yù)警基數(shù)+最近未處理預(yù)警數(shù)。 第七步,根據(jù)預(yù)警策略、預(yù)警級(jí)別和監(jiān)控?cái)?shù)據(jù)對(duì)數(shù)據(jù)庫(kù)健康度進(jìn)行評(píng)估,進(jìn)而給予email或短信等相應(yīng)預(yù)警信息。
8.根據(jù)權(quán)利要求7所述的面向云數(shù)據(jù)庫(kù)的一種Oracle分布式實(shí)時(shí)監(jiān)控方法,其特征在于:所述的第七步中,若select語(yǔ)句執(zhí)行超過(guò)10秒,則給予慢查詢SQL警告;若庫(kù)空閑空間小于20%,則給予庫(kù)空間不足警告。
【文檔編號(hào)】G06F17/30GK104301413SQ201410549414
【公開日】2015年1月21日 申請(qǐng)日期:2014年10月17日 優(yōu)先權(quán)日:2014年10月17日
【發(fā)明者】侯明, 艾建文, 季統(tǒng)凱 申請(qǐng)人:國(guó)云科技股份有限公司