軟件監(jiān)控裝置及方法
【專利摘要】本發(fā)明提供了一種軟件監(jiān)控裝置和方法。本發(fā)明的軟件監(jiān)控裝置包括代理服務(wù)器,主管理服務(wù)器,自動(dòng)維護(hù)管理服務(wù)器,智能部署管理系統(tǒng)。本發(fā)明的裝置和方法通過開放性的監(jiān)控協(xié)議,實(shí)現(xiàn)對被監(jiān)控對象的自動(dòng)化配置發(fā)現(xiàn),實(shí)現(xiàn)代理服務(wù)器的自動(dòng)化批量安裝和監(jiān)控指標(biāo)的自動(dòng)化部署技術(shù),實(shí)現(xiàn)對多臺(tái)服務(wù)器的自動(dòng)化監(jiān)控部署,提升監(jiān)控管理效率。本發(fā)明通過基于不同服務(wù)水平的主管理服務(wù)器,提升軟件監(jiān)控系統(tǒng)的智能化和自動(dòng)化水平。本發(fā)明還通過多監(jiān)控消息隊(duì)列、多監(jiān)控管理服務(wù)等軟件結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)監(jiān)控軟件的線性擴(kuò)展能力及監(jiān)控系統(tǒng)的高可用性。
【專利說明】軟件監(jiān)控裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件監(jiān)控【技術(shù)領(lǐng)域】,尤其涉及一種軟件監(jiān)控裝置及方法。
【背景技術(shù)】
[0002]軟件平臺(tái)范圍包括操作系統(tǒng)及運(yùn)行在之上的數(shù)據(jù)庫、中間件及應(yīng)用程序等。由于軟件平臺(tái)種類繁多,而且其運(yùn)行的健康狀況直接影響信息系統(tǒng)進(jìn)行服務(wù)的能力,因此有必要對其健康情況進(jìn)行有效監(jiān)控。對于大型的數(shù)據(jù)中心而言,由于管理的軟件平臺(tái)數(shù)量多,更需要一個(gè)智能化的監(jiān)控系統(tǒng)對軟件平臺(tái)進(jìn)行自動(dòng)化、快速的監(jiān)控部署和管理。
[0003]目前IBM的ITM、HP Openview, BMC Patrol等產(chǎn)品實(shí)現(xiàn)了對操作系統(tǒng)、數(shù)據(jù)庫、中間件等軟件平臺(tái)的監(jiān)控。但均存在如下問題:
[0004]監(jiān)控協(xié)議相對封閉。以上商業(yè)產(chǎn)品均需在被監(jiān)控軟件平臺(tái)所在的服務(wù)器上部署Agent。對于相關(guān)軟件平臺(tái)的監(jiān)控指標(biāo),需要按照該商業(yè)產(chǎn)品提供的接口進(jìn)行相關(guān)監(jiān)控邏輯的開發(fā),這就使新增監(jiān)控邏輯的開發(fā)受限于相關(guān)商業(yè)產(chǎn)品提供的專有的開發(fā)語言。
[0005]監(jiān)控部署和管理的自動(dòng)化和智能化程度不足。相關(guān)產(chǎn)品進(jìn)行Agent安裝及監(jiān)控指標(biāo)部署時(shí),需要較多的手工安裝及配置操作。
[0006]不能提供基于服務(wù)水平(SLA)的監(jiān)控模板化部署。不能實(shí)現(xiàn)按照被監(jiān)控軟件平臺(tái)重要程度和服務(wù)水平的不同進(jìn)行智能化監(jiān)控模板選擇和部署。
[0007]不能提供軟件監(jiān)控管理平臺(tái)線性的擴(kuò)展能力。由于軟件監(jiān)控平臺(tái)監(jiān)控的軟件平臺(tái)數(shù)量的增長,會(huì)遇到性能瓶頸。上述產(chǎn)品的架構(gòu)設(shè)計(jì)不能提供快速添加監(jiān)控服務(wù)器從而實(shí)現(xiàn)監(jiān)控能力線性增長的功能。
【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明提供了一種軟件監(jiān)控裝置及方法,能夠減少了監(jiān)控系統(tǒng)監(jiān)控指標(biāo)邏輯開發(fā)以及監(jiān)控系統(tǒng)容量擴(kuò)展的難度,提升了監(jiān)控管理的智能化和自動(dòng)化程度,大大提升了運(yùn)維效率。
[0009]本發(fā)明提供的軟件監(jiān)控裝置,包括代理服務(wù)器,主管理服務(wù)器,自動(dòng)維護(hù)管理服務(wù)器,智能部署管理系統(tǒng),其中,
[0010]所述代理服務(wù)器,使用開放性的監(jiān)控協(xié)議,采用任意編程語言在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器;
[0011]所述主管理服務(wù)器,通過多監(jiān)控消息隊(duì)列及多監(jiān)控管理服務(wù)實(shí)現(xiàn)監(jiān)控軟件的線性擴(kuò)展及監(jiān)控系統(tǒng)的高可用性;通過檢查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫;
[0012]所述自動(dòng)維護(hù)管理服務(wù)器,用于對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理;
[0013]所述智能部署管理系統(tǒng),用于實(shí)現(xiàn)監(jiān)控腳本與監(jiān)控機(jī)器及軟件的智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理。
[0014]所述代理服務(wù)器包括:
[0015]第一系統(tǒng)服務(wù)注冊、管理模塊:用于將代理服務(wù)器程序注冊成監(jiān)控機(jī)器的系統(tǒng)服務(wù)程序;當(dāng)操作系統(tǒng)重啟時(shí),自動(dòng)啟動(dòng)代理服務(wù)器程序;當(dāng)代理服務(wù)器程序運(yùn)行異常時(shí),自動(dòng)重啟代理服務(wù)器程序;
[0016]第一環(huán)境檢查模塊:用于在代理服務(wù)器程序啟動(dòng)時(shí),對啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)檢查到所需資源全部到位后,再啟動(dòng)代理服務(wù)器程序;
[0017]第一通信模塊:用于與主管理服務(wù)器進(jìn)行實(shí)時(shí)雙向的數(shù)據(jù)傳遞;
[0018]第一數(shù)據(jù)協(xié)議模塊:用于提供與主管理服務(wù)器進(jìn)行通信所需的自定義數(shù)據(jù)協(xié)議;
[0019]作業(yè)調(diào)度引擎:用于調(diào)度監(jiān)控作業(yè);
[0020]作業(yè)執(zhí)行引擎:用于為監(jiān)控作業(yè)提供執(zhí)行環(huán)境;
[0021]數(shù)據(jù)緩存模塊:用于緩存監(jiān)控作業(yè)采集到的性能數(shù)據(jù)與報(bào)警信息,并當(dāng)發(fā)送窗口到來時(shí),將所述監(jiān)控作業(yè)采集到的性能數(shù)據(jù)與報(bào)警信息集中發(fā)送給主管理服務(wù)器;
[0022]數(shù)據(jù)補(bǔ)償模塊:用于在代理服務(wù)器程序啟動(dòng)時(shí)檢查數(shù)據(jù)緩存模塊中是否存在未發(fā)送的數(shù)據(jù),如果存在,則進(jìn)行數(shù)據(jù)補(bǔ)償;
[0023]自動(dòng)升級(jí)模塊:用于根據(jù)主管理服務(wù)器的遠(yuǎn)程命令,升級(jí)監(jiān)控作業(yè)、啟停代理服務(wù)器、啟停監(jiān)控作業(yè)。
[0024]所述主管理服務(wù)器包括:
[0025]第二系統(tǒng)服務(wù)注冊、管理模塊:用于將主管理服務(wù)器程序注冊成的系統(tǒng)服務(wù)程序;
[0026]第二環(huán)境檢查模塊:用于在主管理服務(wù)器啟動(dòng)時(shí)對主管理服務(wù)器啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)所需資源全部到位后,再啟動(dòng)主管理服務(wù)器程序;
[0027]第二通信模塊:用于與代理服務(wù)器進(jìn)行實(shí)時(shí)雙向的數(shù)據(jù)傳遞;
[0028]第二數(shù)據(jù)庫模塊:用于接收并存儲(chǔ)用戶的作業(yè)指令,并與中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;
[0029]數(shù)據(jù)收集模塊:用于收集代理服務(wù)器上報(bào)的各種數(shù)據(jù),包括事件數(shù)據(jù)、性能數(shù)據(jù)、心跳數(shù)據(jù);
[0030]第二作業(yè)模塊:用于調(diào)度并執(zhí)行主管理服務(wù)器的內(nèi)部作業(yè);
[0031]第二數(shù)據(jù)協(xié)議模塊:用于提供與代理服務(wù)器進(jìn)行通信所需的自定義數(shù)據(jù)協(xié)議。
[0032]所述自動(dòng)維護(hù)管理服務(wù)器包括:
[0033]SSH交互模塊:用于通過SSH協(xié)議自動(dòng)維護(hù)主管理服務(wù)器與Agent之間的交互;
[0034]安裝介質(zhì)庫模塊:用于通過樹型的管理方式,把安裝介質(zhì)及更新介質(zhì)進(jìn)行分類存放,并支持快速查找、傳輸;
[0035]安裝服務(wù)模塊:用于通過調(diào)用SSH交互模塊和安裝介質(zhì)庫模塊將代理服務(wù)器和/或主管理服務(wù)器安裝到相應(yīng)的服務(wù)器硬件上;
[0036]更新服務(wù)模塊:用于通過調(diào)用SSH交互模塊和安裝介質(zhì)庫模塊對代理服務(wù)器和/或主管理服務(wù)器進(jìn)行更新;
[0037]第三系統(tǒng)服務(wù)注冊、管理模塊:用于將自動(dòng)維護(hù)管理服務(wù)器程序注冊成的系統(tǒng)服務(wù)程序;[0038]第三環(huán)境檢查模塊:用于在自動(dòng)維護(hù)管理服務(wù)器啟動(dòng)時(shí)對自動(dòng)維護(hù)管理服務(wù)器啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)所需資源全部到位后,再啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器;
[0039]第三數(shù)據(jù)庫模塊:用于接收并存儲(chǔ)用戶的作業(yè)指令,并與中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;
[0040]第三作業(yè)模塊:用于調(diào)度并執(zhí)行自動(dòng)維護(hù)管理服務(wù)器的內(nèi)部作業(yè)。
[0041]所述智能部署管理系統(tǒng)包括:
[0042]對象管理模塊:用于采用樹狀分層結(jié)構(gòu)對監(jiān)控機(jī)器以及在所述監(jiān)控機(jī)器上部署的軟件產(chǎn)品進(jìn)行管理,所有管理目標(biāo)在數(shù)據(jù)庫中以對象形式存在;
[0043]腳本管理模塊,用于管理各種腳本,包括腳本添加、腳本刪除、腳本修改、腳本分組;
[0044]部署管理模塊,用于實(shí)現(xiàn)腳本與對象的智能匹配和自動(dòng)化搜索定位以及對象功能的部署;
[0045]事件管理模塊,用于存儲(chǔ)監(jiān)控作業(yè)生成的事件,并對事件進(jìn)行顯示、標(biāo)記已知以及刪除;
[0046]作業(yè)管理模塊,用于管理監(jiān)控作業(yè),并對監(jiān)控作業(yè)進(jìn)行顯示、停止以及啟動(dòng);
[0047]性能數(shù)據(jù)管理模塊,用于管理監(jiān)控作業(yè)生成的性能數(shù)據(jù),并進(jìn)行圖形展示;
[0048]一鍵式自動(dòng)發(fā)現(xiàn)部署模塊,包括第一子模塊和第二子模塊,其中,第一子模塊用于設(shè)置每一種對象類型在不同服務(wù)級(jí)別需要部署的腳本組;第二子模塊用于根據(jù)機(jī)器類型和服務(wù)級(jí)別自動(dòng)搜索監(jiān)控機(jī)器需要部署的腳本組,并將腳本組自動(dòng)部署到所述監(jiān)控機(jī)器對象及其子對象節(jié)點(diǎn)上。
[0049]所述對象管理模塊通過發(fā)現(xiàn)腳本自動(dòng)生成對象的樹狀分層結(jié)構(gòu)。
[0050]所述腳本管理模塊通過腳本添加將腳本文件導(dǎo)入數(shù)據(jù)庫并記錄管理;
[0051]通過腳本修改對腳本的所有信息進(jìn)行修改,其中,腳本信息包括腳本類型、腳本參數(shù)、腳本執(zhí)行內(nèi)容、默認(rèn)調(diào)度參數(shù);
[0052]通過腳本分組建立腳本組,向腳本組中添加腳本;并在首次添加腳本時(shí)選擇腳本組的公共參數(shù);在再次添加腳本時(shí)設(shè)置腳本的公共參數(shù)值;以及根據(jù)需要,修改腳本組中每個(gè)腳本的參數(shù);刪除腳本組中的腳本。
[0053]部署管理模塊通過拖拽的形式將腳本部署到對象上,包括:
[0054]將腳本指定到預(yù)部署對象上,將腳本類型跟對象以及所述對象的子對象的所有類型進(jìn)行比較,如果有匹配則顯示所述腳本能夠部署到所述對象上,否則,則顯示不能部署;
[0055]修改腳本的參數(shù)和調(diào)度參數(shù);
[0056]將腳本類型跟對象的類型進(jìn)行匹配,如果不匹配則搜索所述對象的子對象直到搜尋到完全匹配的子對象,如果匹配則生成所述對象上的監(jiān)控作業(yè)。
[0057]本發(fā)明還提供了一種軟件監(jiān)控方法,包括:
[0058]啟動(dòng)代理服務(wù)器在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器;
[0059]啟動(dòng)主管理服務(wù)器查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫;[0060]啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理;
[0061]啟動(dòng)智能部署管理系統(tǒng)對監(jiān)控腳本與監(jiān)控機(jī)器及軟件進(jìn)行智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理。
[0062]所述啟動(dòng)代理服務(wù)器在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器,包括:
[0063]步驟1:啟動(dòng)第一環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出;
[0064]步驟2:啟動(dòng)系統(tǒng)服務(wù)注冊、管理模塊,把代理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證代理服務(wù)器在后臺(tái)長期、穩(wěn)定的運(yùn)行;
[0065]步驟3:啟動(dòng)第一通信模塊及第一數(shù)據(jù)協(xié)議模塊,建立與主管理服務(wù)器之間的雙向數(shù)據(jù)傳輸?shù)耐ǖ溃?br>
[0066]步驟4:啟動(dòng)數(shù)據(jù)補(bǔ)償模塊,檢查代理服務(wù)器啟動(dòng)之前數(shù)據(jù)緩存模塊中是否有歷史數(shù)據(jù)沒有傳輸,如果有就進(jìn)行數(shù)據(jù)補(bǔ)償,否則就進(jìn)行下一步;
[0067]步驟5:啟動(dòng)作業(yè)調(diào)度引擎,把所有的監(jiān)控作業(yè)全部按照指定的調(diào)度規(guī)則進(jìn)行調(diào)度;
[0068]步驟6:啟動(dòng)作業(yè)執(zhí)行引擎,進(jìn)行作業(yè)執(zhí)行,并且對作業(yè)執(zhí)行的結(jié)果、異常狀況可以進(jìn)行捕獲;
[0069]步驟7:啟動(dòng)自動(dòng)升級(jí)模塊,接受、執(zhí)行主管理服務(wù)器發(fā)送來的各種管理命令。
[0070]所述啟動(dòng)主管理服務(wù)器查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫,包括:
[0071]步驟1:啟動(dòng)第二環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出;
[0072]步驟2:啟動(dòng)第二系統(tǒng)服務(wù)注冊、管理模塊,把主管理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證主管理服務(wù)器在后臺(tái)長期、穩(wěn)定的運(yùn)行;
[0073]步驟3:啟動(dòng)第二通信模塊及第二數(shù)據(jù)協(xié)議模塊,建立與代理服務(wù)器之間的雙向數(shù)據(jù)傳輸?shù)耐ǖ溃⒔邮盏降臄?shù)據(jù)存入數(shù)據(jù)收集模塊中;
[0074]步驟4:啟動(dòng)第二作業(yè)模塊,調(diào)度并執(zhí)行所有存儲(chǔ)于第二數(shù)據(jù)庫模塊中的內(nèi)部作業(yè)。
[0075]在所述步驟4中,所述內(nèi)部作業(yè)包括:
[0076]a.檢查需要派發(fā)的監(jiān)控作業(yè):當(dāng)發(fā)現(xiàn)有需要派發(fā)的監(jiān)控作業(yè),通過第二通信模塊把作業(yè)傳輸?shù)酱矸?wù)器上進(jìn)行執(zhí)行;
[0077]b.收集事件:通過第二數(shù)據(jù)協(xié)議模塊得到與事件相關(guān)的信息并形成對象,按照壓縮規(guī)則、Action處理規(guī)則進(jìn)行相關(guān)操作,并把對象存入中心數(shù)據(jù)庫;
[0078]c.收集性能數(shù)據(jù):通過第二數(shù)據(jù)協(xié)議模塊得到與性能數(shù)據(jù)相關(guān)的信息并形成對象,調(diào)用第二數(shù)據(jù)庫模塊把對象存入中心數(shù)據(jù)庫;
[0079]d.收集心跳:通過第二數(shù)據(jù)協(xié)議模塊得到心跳的信息并形成對象,由于心跳內(nèi)容里有代理服務(wù)器的作業(yè)的狀態(tài)信息,所以通過檢查點(diǎn)的規(guī)則,對代理服務(wù)器的作業(yè)進(jìn)行檢查,以保證代理服務(wù)器上運(yùn)行的作業(yè)狀態(tài)與中心數(shù)據(jù)庫中記錄的作業(yè)狀態(tài)的一致;然后調(diào)用第二數(shù)據(jù)庫模塊更新中心數(shù)據(jù)庫中相關(guān)代理服務(wù)器的狀態(tài)信息;
[0080]e.檢查需要派發(fā)的管理命令:當(dāng)發(fā)現(xiàn)有需要派發(fā)的管理命令,通過第二通信模塊把命令傳輸?shù)酱矸?wù)器上進(jìn)行執(zhí)行。
[0081]所述啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理,包括:
[0082]步驟1:啟動(dòng)第三環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出。
[0083]步驟2:啟動(dòng)第三系統(tǒng)服務(wù)注冊、管理模塊,把自動(dòng)維護(hù)管理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證在后臺(tái)長期、穩(wěn)定的運(yùn)行;
[0084]步驟3:啟動(dòng)第三作業(yè)模塊,調(diào)度并執(zhí)行第三數(shù)據(jù)庫模塊中存儲(chǔ)的所有內(nèi)部作業(yè)。
[0085]在所述步驟3中,所述內(nèi)部作業(yè)包括:
[0086]a.檢查需要安裝的作業(yè):當(dāng)發(fā)現(xiàn)有需要安裝的作業(yè),調(diào)用安裝介質(zhì)庫模塊得到被安裝服務(wù)器準(zhǔn)確的安裝包,調(diào)用SSH交互模塊與被安裝服務(wù)器進(jìn)行交互,實(shí)現(xiàn)安裝;
[0087]b.檢查需要更新的作業(yè):當(dāng)發(fā)現(xiàn)有需要更新的作業(yè),調(diào)用安裝介質(zhì)庫模塊得到被更新服務(wù)器準(zhǔn)確的更新包,調(diào)用SSH交互模塊與被更新服務(wù)器進(jìn)行交互,實(shí)現(xiàn)更新。
[0088]所述啟動(dòng)智能部署管理系統(tǒng)對監(jiān)控腳本與監(jiān)控機(jī)器及軟件進(jìn)行智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理,包括:
[0089]a.設(shè)置機(jī)器類型和軟件類型的不同服務(wù)等級(jí)的安裝模板;
[0090]b.根據(jù)機(jī)器名、機(jī)器類型和軟件類型匹配安裝模板;
[0091]c.將安裝模板自動(dòng)安裝到指定機(jī)器。
[0092]本發(fā)明的裝置和方法通過開放性的監(jiān)控協(xié)議,實(shí)現(xiàn)對被監(jiān)控對象的自動(dòng)化配置發(fā)現(xiàn),實(shí)現(xiàn)代理服務(wù)器的自動(dòng)化批量安裝和監(jiān)控指標(biāo)的自動(dòng)化部署技術(shù),實(shí)現(xiàn)對多臺(tái)服務(wù)器的自動(dòng)化監(jiān)控部署,提升監(jiān)控管理效率。本發(fā)明通過基于不同服務(wù)水平的主管理服務(wù)器,提升軟件監(jiān)控系統(tǒng)的智能化和自動(dòng)化水平。本發(fā)明還通過多監(jiān)控消息隊(duì)列、多監(jiān)控管理服務(wù)等軟件結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)監(jiān)控軟件的線性擴(kuò)展能力及監(jiān)控系統(tǒng)的高可用性。
【專利附圖】
【附圖說明】
[0093]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的方案,下面將對實(shí)施例中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0094]圖1為本發(fā)明一實(shí)施例提供的軟件監(jiān)控裝置的結(jié)構(gòu)示意圖;
[0095]圖2為為本發(fā)明一實(shí)施例提供的軟件監(jiān)控方法中代理服務(wù)器的工作流程示意圖;
[0096]圖3為為本發(fā)明一實(shí)施例提供的軟件監(jiān)控方法中主管理服務(wù)器的工作流程示意圖;
[0097]圖4為為本發(fā)明一實(shí)施例提供的軟件監(jiān)控方法中自動(dòng)維護(hù)管理服務(wù)器的工作流程不意圖?!揪唧w實(shí)施方式】
[0098]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0099]圖1為本發(fā)明一實(shí)施例提供的軟件監(jiān)控裝置的結(jié)構(gòu)示意圖,如圖1所示,本實(shí)施例的軟件監(jiān)控裝置,包括代理服務(wù)器,主管理服務(wù)器,自動(dòng)維護(hù)管理服務(wù)器,智能部署管理系統(tǒng),其中,
[0100]所述代理服務(wù)器,使用開放性的監(jiān)控協(xié)議,采用任意編程語言在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器;
[0101]具體地,所述代理服務(wù)器包括:
[0102]第一系統(tǒng)服務(wù)注冊、管理模塊:用于將代理服務(wù)器程序注冊成監(jiān)控機(jī)器的系統(tǒng)服務(wù)程序;當(dāng)操作系統(tǒng)重啟時(shí),自動(dòng)啟動(dòng)代理服務(wù)器程序;當(dāng)代理服務(wù)器程序運(yùn)行異常時(shí),自動(dòng)重啟代理服務(wù)器程序;
[0103]第一環(huán)境檢查模塊:用于在代理服務(wù)器程序啟動(dòng)時(shí),對啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)檢查到所需資源全部到位后,再啟動(dòng)代理服務(wù)器程序;
[0104]第一通信模塊:用于與主管理服務(wù)器進(jìn)行實(shí)時(shí)雙向的數(shù)據(jù)傳遞;
[0105]第一數(shù)據(jù)協(xié)議模塊:用于提供與主管理服務(wù)器進(jìn)行通信所需的自定義數(shù)據(jù)協(xié)議;
[0106]作業(yè)調(diào)度引擎:用于調(diào)度監(jiān)控作業(yè);
[0107]作業(yè)執(zhí)行引擎:用于為監(jiān)控作業(yè)提供執(zhí)行環(huán)境;
[0108]數(shù)據(jù)緩存模塊:用于緩存監(jiān)控作業(yè)采集到的性能數(shù)據(jù)與報(bào)警信息,并當(dāng)發(fā)送窗口到來時(shí),將所述監(jiān)控作業(yè)采集到的性能數(shù)據(jù)與報(bào)警信息集中發(fā)送給主管理服務(wù)器;
[0109]數(shù)據(jù)補(bǔ)償模塊:用于在代理服務(wù)器程序啟動(dòng)時(shí)檢查數(shù)據(jù)緩存模塊中是否存在未發(fā)送的數(shù)據(jù),如果存在,則進(jìn)行數(shù)據(jù)補(bǔ)償;
[0110]自動(dòng)升級(jí)模塊:用于根據(jù)主管理服務(wù)器的遠(yuǎn)程命令,升級(jí)監(jiān)控作業(yè)、啟停代理服務(wù)器、啟停監(jiān)控作業(yè)。
[0111]所述主管理服務(wù)器,通過多監(jiān)控消息隊(duì)列及多監(jiān)控管理服務(wù)實(shí)現(xiàn)監(jiān)控軟件的線性擴(kuò)展及監(jiān)控系統(tǒng)的高可用性;通過檢查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫;
[0112]具體地,所述主管理服務(wù)器包括:
[0113]第二系統(tǒng)服務(wù)注冊、管理模塊:用于將主管理服務(wù)器程序注冊成的系統(tǒng)服務(wù)程序;
[0114]第二環(huán)境檢查模塊:用于在主管理服務(wù)器啟動(dòng)時(shí)對主管理服務(wù)器啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)所需資源全部到位后,再啟動(dòng)主管理服務(wù)器程序;
[0115]第二通信模塊:用于與代理服務(wù)器進(jìn)行實(shí)時(shí)雙向的數(shù)據(jù)傳遞;
[0116]第二數(shù)據(jù)庫模塊:用于接收并存儲(chǔ)用戶的作業(yè)指令,并與中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;
[0117]數(shù)據(jù)收集模塊:用于收集代理服務(wù)器上報(bào)的各種數(shù)據(jù),包括事件數(shù)據(jù)、性能數(shù)據(jù)、心跳數(shù)據(jù);
[0118]第二作業(yè)模塊:用于調(diào)度并執(zhí)行主管理服務(wù)器的內(nèi)部作業(yè);
[0119]第二數(shù)據(jù)協(xié)議模塊:用于提供與代理服務(wù)器進(jìn)行通信所需的自定義數(shù)據(jù)協(xié)議。
[0120]所述自動(dòng)維護(hù)管理服務(wù)器,用于對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理;
[0121]具體地,所述自動(dòng)維護(hù)管理服務(wù)器包括:
[0122]SSH交互模塊:用于通過SSH協(xié)議自動(dòng)維護(hù)主管理服務(wù)器與Agent之間的交互;
[0123]安裝介質(zhì)庫模塊:用于通過樹型的管理方式,把安裝介質(zhì)及更新介質(zhì)進(jìn)行分類存放,并支持快速查找、傳輸;
[0124]安裝服務(wù)模塊:用于通過調(diào)用SSH交互模塊和安裝介質(zhì)庫模塊將代理服務(wù)器和/或主管理服務(wù)器安裝到相應(yīng)的服務(wù)器硬件上;
[0125]更新服務(wù)模塊:用于通過調(diào)用SSH交互模塊和安裝介質(zhì)庫模塊對代理服務(wù)器和/或主管理服務(wù)器進(jìn)行更新;
[0126]第三系統(tǒng)服務(wù)注冊、管理模塊:用于將自動(dòng)維護(hù)管理服務(wù)器程序注冊成的系統(tǒng)服務(wù)程序;
[0127]第三環(huán)境檢查模塊:用于在自動(dòng)維護(hù)管理服務(wù)器啟動(dòng)時(shí)對自動(dòng)維護(hù)管理服務(wù)器啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)所需資源全部到位后,再啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器;
[0128]第三數(shù)據(jù)庫模塊:用于接收并存儲(chǔ)用戶的作業(yè)指令,并與中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;
[0129]第三作業(yè)模塊:用于調(diào)度并執(zhí)行自動(dòng)維護(hù)管理服務(wù)器的內(nèi)部作業(yè)。
[0130]所述智能部署管理系統(tǒng),用于實(shí)現(xiàn)監(jiān)控腳本與監(jiān)控機(jī)器及軟件的智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理。
[0131]具體地,所述智能部署管理系統(tǒng)包括:
[0132]對象管理模塊:用于采用樹狀分層結(jié)構(gòu)對監(jiān)控機(jī)器以及在所述監(jiān)控機(jī)器上部署的軟件產(chǎn)品進(jìn)行管理,所有管理目標(biāo)在數(shù)據(jù)庫中以對象形式存在;所述對象管理模塊通過發(fā)現(xiàn)腳本自動(dòng)生成對象的樹狀分層結(jié)構(gòu)。
[0133]腳本管理模塊,用于管理各種腳本,包括腳本添加、腳本刪除、腳本修改、腳本分組;所述腳本管理模塊通過腳本添加將腳本文件導(dǎo)入數(shù)據(jù)庫并記錄管理;
[0134]部署管理模塊,用于實(shí)現(xiàn)腳本與對象的智能匹配和自動(dòng)化搜索定位以及對象功能的部署;部署管理模塊通過拖拽的形式將腳本部署到對象上,包括:
[0135](I)將腳本指定到預(yù)部署對象上,將腳本類型跟對象以及所述對象的子對象的所有類型進(jìn)行比較,如果有匹配則顯示所述腳本能夠部署到所述對象上,否則,則顯示不能部署;
[0136](2)修改腳本的參數(shù)和調(diào)度參數(shù);
[0137](3)將腳本類型跟對象的類型進(jìn)行匹配,如果不匹配則搜索所述對象的子對象直到搜尋到完全匹配的子對象,如果匹配則生成所述對象上的監(jiān)控作業(yè)。
[0138]事件管理模塊,用于存儲(chǔ)監(jiān)控作業(yè)生成的事件,并對事件進(jìn)行顯示、標(biāo)記已知以及刪除;
[0139]作業(yè)管理模塊,用于管理監(jiān)控作業(yè),并對監(jiān)控作業(yè)進(jìn)行顯示、停止以及啟動(dòng);[0140]性能數(shù)據(jù)管理模塊,用于管理監(jiān)控作業(yè)生成的性能數(shù)據(jù),并進(jìn)行圖形展示;
[0141]一鍵式自動(dòng)發(fā)現(xiàn)部署模塊,包括第一子模塊和第二子模塊,其中,第一子模塊用于設(shè)置每一種對象類型在不同服務(wù)級(jí)別需要部署的腳本組;第二子模塊用于根據(jù)機(jī)器類型和服務(wù)級(jí)別自動(dòng)搜索監(jiān)控機(jī)器需要部署的腳本組,并將腳本組自動(dòng)部署到所述監(jiān)控機(jī)器對象及其子對象節(jié)點(diǎn)上。
[0142]通過腳本修改對腳本的所有信息進(jìn)行修改,其中,腳本信息包括腳本類型、腳本參數(shù)、腳本執(zhí)行內(nèi)容、默認(rèn)調(diào)度參數(shù);
[0143]通過腳本分組建立腳本組,向腳本組中添加腳本;并在首次添加腳本時(shí)選擇腳本組的公共參數(shù);在再次添加腳本時(shí)設(shè)置腳本的公共參數(shù)值;以及根據(jù)需要,修改腳本組中每個(gè)腳本的參數(shù);刪除腳本組中的腳本。
[0144]本發(fā)明一實(shí)施例提供的軟件監(jiān)控方法包括:
[0145]啟動(dòng)代理服務(wù)器在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器;圖2給出了代理服務(wù)器實(shí)現(xiàn)前述功能的步驟,具體包括:
[0146]步驟1:啟動(dòng)第一環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出;
[0147]步驟2:啟動(dòng)系統(tǒng)服務(wù)注冊、管理模塊,把代理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證代理服務(wù)器在后臺(tái)長期、穩(wěn)定的運(yùn)行;
[0148]步驟3:啟動(dòng)第一通信模塊及第一數(shù)據(jù)協(xié)議模塊,建立與主管理服務(wù)器之間的雙向數(shù)據(jù)傳輸?shù)耐ǖ溃?br>
[0149]步驟4:啟動(dòng)數(shù)據(jù)補(bǔ)償模塊,檢查代理服務(wù)器啟動(dòng)之前數(shù)據(jù)緩存模塊中是否有歷史數(shù)據(jù)沒有傳輸,如果有就進(jìn)行數(shù)據(jù)補(bǔ)償,否則就進(jìn)行下一步;
[0150]步驟5:啟動(dòng)作業(yè)調(diào)度引擎,把所有的監(jiān)控作業(yè)全部按照指定的調(diào)度規(guī)則進(jìn)行調(diào)度;
[0151]步驟6:啟動(dòng)作業(yè)執(zhí)行引擎,進(jìn)行作業(yè)執(zhí)行,并且對作業(yè)執(zhí)行的結(jié)果、異常狀況可以進(jìn)行捕獲;
[0152]步驟7:啟動(dòng)自動(dòng)升級(jí)模塊,接受、執(zhí)行主管理服務(wù)器發(fā)送來的各種管理命令。
[0153]啟動(dòng)主管理服務(wù)器查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫;圖3給出了主管理服務(wù)器實(shí)現(xiàn)前述功能的步驟,具體包括:
[0154]步驟1:啟動(dòng)第二環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出;
[0155]步驟2:啟動(dòng)第二系統(tǒng)服務(wù)注冊、管理模塊,把主管理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證主管理服務(wù)器在后臺(tái)長期、穩(wěn)定的運(yùn)行;
[0156]步驟3:啟動(dòng)第二通信模塊及第二數(shù)據(jù)協(xié)議模塊,建立與代理服務(wù)器之間的雙向數(shù)據(jù)傳輸?shù)耐ǖ?,并將接收到的?shù)據(jù)存入數(shù)據(jù)收集模塊中;
[0157]步驟4:啟動(dòng)第二作業(yè)模塊,調(diào)度并執(zhí)行所有存儲(chǔ)于第二數(shù)據(jù)庫模塊中的內(nèi)部作業(yè)。所述內(nèi)部作業(yè)包括:
[0158]a.檢查需要派發(fā)的監(jiān)控作業(yè):當(dāng)發(fā)現(xiàn)有需要派發(fā)的監(jiān)控作業(yè),通過第二通信模塊把作業(yè)傳輸?shù)酱矸?wù)器上進(jìn)行執(zhí)行;
[0159]b.收集事件:通過第二數(shù)據(jù)協(xié)議模塊得到與事件相關(guān)的信息并形成對象,按照壓縮規(guī)則、Action處理規(guī)則進(jìn)行相關(guān)操作,并把對象存入中心數(shù)據(jù)庫;
[0160]c.收集性能數(shù)據(jù):通過第二數(shù)據(jù)協(xié)議模塊得到與性能數(shù)據(jù)相關(guān)的信息并形成對象,調(diào)用第二數(shù)據(jù)庫模塊把對象存入中心數(shù)據(jù)庫;
[0161]d.收集心跳:通過第二數(shù)據(jù)協(xié)議模塊得到心跳的信息并形成對象,由于心跳內(nèi)容里有代理服務(wù)器的作業(yè)的狀態(tài)信息,所以通過檢查點(diǎn)的規(guī)則,對代理服務(wù)器的作業(yè)進(jìn)行檢查,以保證代理服務(wù)器上運(yùn)行的作業(yè)狀態(tài)與中心數(shù)據(jù)庫中記錄的作業(yè)狀態(tài)的一致;然后調(diào)用第二數(shù)據(jù)庫模塊更新中心數(shù)據(jù)庫中相關(guān)代理服務(wù)器的狀態(tài)信息;
[0162]e.檢查需要派發(fā)的管理命令:當(dāng)發(fā)現(xiàn)有需要派發(fā)的管理命令,通過第二通信模塊把命令傳輸?shù)酱矸?wù)器上進(jìn)行執(zhí)行。
[0163]啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理;圖4給出了自動(dòng)維護(hù)管理服務(wù)器實(shí)現(xiàn)前述功能的步驟,具體包括:
[0164]步驟1:啟動(dòng)第三環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出。
[0165]步驟2:啟動(dòng)第三系統(tǒng)服務(wù)注冊、管理模塊,把自動(dòng)維護(hù)管理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證在后臺(tái)長期、穩(wěn)定的運(yùn)行;
[0166]步驟3:啟動(dòng)第三作業(yè)模塊,調(diào)度并執(zhí)行第三數(shù)據(jù)庫模塊中存儲(chǔ)的所有內(nèi)部作業(yè)。所述內(nèi)部作業(yè)包括:
[0167]a.檢查需要安裝的作業(yè):當(dāng)發(fā)現(xiàn)有需要安裝的作業(yè),調(diào)用安裝介質(zhì)庫模塊得到被安裝服務(wù)器準(zhǔn)確的安裝包,調(diào)用SSH交互模塊與被安裝服務(wù)器進(jìn)行交互,實(shí)現(xiàn)安裝;
[0168]b.檢查需要更新的作業(yè):當(dāng)發(fā)現(xiàn)有需要更新的作業(yè),調(diào)用安裝介質(zhì)庫模塊得到被更新服務(wù)器準(zhǔn)確的更新包,調(diào)用SSH交互模塊與被更新服務(wù)器進(jìn)行交互,實(shí)現(xiàn)更新。
[0169]啟動(dòng)智能部署管理系統(tǒng)對監(jiān)控腳本與監(jiān)控機(jī)器及軟件進(jìn)行智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理。具體包括以下步驟:
[0170]a.設(shè)置機(jī)器類型和軟件類型的不同服務(wù)等級(jí)的安裝模板;
[0171]b.根據(jù)機(jī)器名、機(jī)器類型和軟件類型匹配安裝模板;
[0172]c.將安裝模板自動(dòng)安裝到指定機(jī)器。
[0173]本發(fā)明的裝置和方法通過開放性的監(jiān)控協(xié)議,實(shí)現(xiàn)對被監(jiān)控對象的自動(dòng)化配置發(fā)現(xiàn),實(shí)現(xiàn)代理服務(wù)器的自動(dòng)化批量安裝和監(jiān)控指標(biāo)的自動(dòng)化部署技術(shù),實(shí)現(xiàn)對多臺(tái)服務(wù)器的自動(dòng)化監(jiān)控部署,提升監(jiān)控管理效率。本發(fā)明通過基于不同服務(wù)水平的主管理服務(wù)器,提升軟件監(jiān)控系統(tǒng)的智能化和自動(dòng)化水平。本發(fā)明還通過多監(jiān)控消息隊(duì)列、多監(jiān)控管理服務(wù)等軟件結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)監(jiān)控軟件的線性擴(kuò)展能力及監(jiān)控系統(tǒng)的高可用性。
[0174]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換,而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種軟件監(jiān)控裝置,其特征在于,所述裝置包括代理服務(wù)器,主管理服務(wù)器,自動(dòng)維護(hù)管理服務(wù)器,智能部署管理系統(tǒng),其中, 所述代理服務(wù)器,使用開放性的監(jiān)控協(xié)議,采用任意編程語言在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器; 所述主管理服務(wù)器,通過多監(jiān)控消息隊(duì)列及多監(jiān)控管理服務(wù)實(shí)現(xiàn)監(jiān)控軟件的線性擴(kuò)展及監(jiān)控系統(tǒng)的高可用性;通過檢查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫; 所述自動(dòng)維護(hù)管理服務(wù)器,用于對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理; 所述智能部署管理系統(tǒng),用于實(shí)現(xiàn)監(jiān)控腳本與監(jiān)控機(jī)器及軟件的智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理。
2.根據(jù)權(quán)利要求1所述的一種軟件監(jiān)控裝置,其特征在于,所述代理服務(wù)器包括: 第一系統(tǒng)服務(wù)注冊、管理模塊:用于將代理服務(wù)器程序注冊成監(jiān)控機(jī)器的系統(tǒng)服務(wù)程序;當(dāng)操作系統(tǒng)重啟時(shí),自動(dòng)啟動(dòng)代理服務(wù)器程序;當(dāng)代理服務(wù)器程序運(yùn)行異常時(shí),自動(dòng)重啟代理服務(wù)器程序; 第一環(huán)境檢查模塊:用于在代理服務(wù)器程序啟動(dòng)時(shí),對啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)檢查到所需資源全部到位后,再啟動(dòng)代理服務(wù)器程序; 第一通信模塊:用于與主管理服務(wù)器進(jìn)行實(shí)時(shí)雙向的數(shù)據(jù)傳遞; 第一數(shù)據(jù)協(xié)議模塊:用于提供與主管理服務(wù)器進(jìn)行通信所需的自定義數(shù)據(jù)協(xié)議; 作業(yè)調(diào)度引擎:用于調(diào)度監(jiān)控作業(yè); 作業(yè)執(zhí)行引擎:用于為監(jiān)控作業(yè)提供執(zhí)行環(huán)境; 數(shù)據(jù)緩存模塊:用于緩存監(jiān)控作業(yè)采集到的性能數(shù)據(jù)與報(bào)警信息,并當(dāng)發(fā)送窗口到來時(shí),將所述監(jiān)控作業(yè)采集到的性能數(shù)據(jù)與報(bào)警信息集中發(fā)送給主管理服務(wù)器; 數(shù)據(jù)補(bǔ)償模塊:用于在代理服務(wù)器程序啟動(dòng)時(shí)檢查數(shù)據(jù)緩存模塊中是否存在未發(fā)送的數(shù)據(jù),如果存在,則進(jìn)行數(shù)據(jù)補(bǔ)償; 自動(dòng)升級(jí)模塊:用于根據(jù)主管理服務(wù)器的遠(yuǎn)程命令,升級(jí)監(jiān)控作業(yè)、啟停代理服務(wù)器、啟停監(jiān)控作業(yè)。
3.根據(jù)權(quán)利要求1所述的一種軟件監(jiān)控裝置,其特征在于,所述主管理服務(wù)器包括: 第二系統(tǒng)服務(wù)注冊、管理模塊:用于將主管理服務(wù)器程序注冊成的系統(tǒng)服務(wù)程序; 第二環(huán)境檢查模塊:用于在主管理服務(wù)器啟動(dòng)時(shí)對主管理服務(wù)器啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)所需資源全部到位后,再啟動(dòng)主管理服務(wù)器程序; 第二通信模塊:用于與代理服務(wù)器進(jìn)行實(shí)時(shí)雙向的數(shù)據(jù)傳遞; 第二數(shù)據(jù)庫模塊:用于接收并存儲(chǔ)用戶的作業(yè)指令,并與中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;數(shù)據(jù)收集模塊:用于收集代理服務(wù)器上報(bào)的各種數(shù)據(jù),包括事件數(shù)據(jù)、性能數(shù)據(jù)、心跳數(shù)據(jù); 第二作業(yè)模塊:用于調(diào)度并執(zhí)行主管理服務(wù)器的內(nèi)部作業(yè); 第二數(shù)據(jù)協(xié)議模塊:用于提供與代理服務(wù)器進(jìn)行通信所需的自定義數(shù)據(jù)協(xié)議。
4.根據(jù)權(quán)利要求1所述的一種軟件監(jiān)控裝置,其特征在于,所述自動(dòng)維護(hù)管理服務(wù)器包括: SSH交互模塊:用于通過SSH協(xié)議自動(dòng)維護(hù)主管理服務(wù)器與Agent之間的交互; 安裝介質(zhì)庫模塊:用于通過樹型的管理方式,把安裝介質(zhì)及更新介質(zhì)進(jìn)行分類存放,并支持快速查找、傳輸; 安裝服務(wù)模塊:用于通過調(diào)用SSH交互模塊和安裝介質(zhì)庫模塊將代理服務(wù)器和/或主管理服務(wù)器安裝到相應(yīng)的服務(wù)器硬件上; 更新服務(wù)模塊:用于通過調(diào)用SSH交互模塊和安裝介質(zhì)庫模塊對代理服務(wù)器和/或主管理服務(wù)器進(jìn)行更新; 第三系統(tǒng)服務(wù)注冊、管理模塊:用于將自動(dòng)維護(hù)管理服務(wù)器程序注冊成的系統(tǒng)服務(wù)程序; 第三環(huán)境檢查模塊:用于在自動(dòng)維護(hù)管理服務(wù)器啟動(dòng)時(shí)對自動(dòng)維護(hù)管理服務(wù)器啟動(dòng)需要的資源進(jìn)行檢查,當(dāng)所需資源全部到位后,再啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器; 第三數(shù)據(jù)庫模塊:用于接收并存儲(chǔ)用戶的作業(yè)指令,并與中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互; 第三作業(yè)模塊:用于調(diào)度并執(zhí)行自動(dòng)維護(hù)管理服務(wù)器的內(nèi)部作業(yè)。
5.根據(jù)權(quán)利要求1所述的一種軟件監(jiān)控裝置,其特征在于,所述智能部署管理系統(tǒng)包 括: 對象管理模塊:用于采用樹狀分層結(jié)構(gòu)對監(jiān)控機(jī)器以及在所述監(jiān)控機(jī)器上部署的軟件產(chǎn)品進(jìn)行管理,所有管理目標(biāo)在數(shù)據(jù)庫中以對象形式存在; 腳本管理模塊,用于管理各種腳本,包括腳本添加、腳本刪除、腳本修改、腳本分組; 部署管理模塊,用于實(shí)現(xiàn)腳本與對象的智能匹配和自動(dòng)化搜索定位以及對象功能的部署; 事件管理模塊,用于存儲(chǔ)監(jiān)控作業(yè)生成的事件,并對事件進(jìn)行顯示、標(biāo)記已知以及刪除; 作業(yè)管理模塊,用于管理監(jiān)控作業(yè),并對監(jiān)控作業(yè)進(jìn)行顯示、停止以及啟動(dòng); 性能數(shù)據(jù)管理模塊,用于管理監(jiān)控作業(yè)生成的性能數(shù)據(jù),并進(jìn)行圖形展示; 一鍵式自動(dòng)發(fā)現(xiàn)部署模塊,包括第一子模塊和第二子模塊,其中,第一子模塊用于設(shè)置每一種對象類型在不同服務(wù)級(jí)別需要部署的腳本組;第二子模塊用于根據(jù)機(jī)器類型和服務(wù)級(jí)別自動(dòng)搜索監(jiān)控機(jī)器需要部署的腳本組,并將腳本組自動(dòng)部署到所述監(jiān)控機(jī)器對象及其子對象節(jié)點(diǎn)上。
6.根據(jù)權(quán)利要求5所述的一種軟件監(jiān)控裝置,其特征在于,所述對象管理模塊通過發(fā)現(xiàn)腳本自動(dòng)生成對象的樹狀分層結(jié)構(gòu)。
7.根據(jù)權(quán)利要求5所述的一種軟件監(jiān)控裝置,其特征在于,所述腳本管理模塊通過腳本添加將腳本文件導(dǎo)入數(shù)據(jù)庫并記錄管理; 通過腳本修改對腳本的所有信息進(jìn)行修改,其中,腳本信息包括腳本類型、腳本參數(shù)、腳本執(zhí)行內(nèi)容、默認(rèn)調(diào)度參數(shù); 通過腳本分組建立腳本組,向腳本組中添加腳本;并在首次添加腳本時(shí)選擇腳本組的公共參數(shù);在再次添加腳本時(shí)設(shè)置腳本的公共參數(shù)值;以及根據(jù)需要,修改腳本組中每個(gè)腳本的參數(shù);刪除腳本組中的腳本。
8.根據(jù)權(quán)利要求5所述的一種軟件監(jiān)控裝置,其特征在于,部署管理模塊通過拖拽的形式將腳本部署到對象上,包括: 將腳本指定到預(yù)部署對象上,將腳本類型跟對象以及所述對象的子對象的所有類型進(jìn)行比較,如果有匹配則顯示所述腳本能夠部署到所述對象上,否則,則顯示不能部署;修改腳本的參數(shù)和調(diào)度參數(shù); 將腳本類型跟對象的類型進(jìn)行匹配,如果不匹配則搜索所述對象的子對象直到搜尋到完全匹配的子對象,如果匹配則生成所述對象上的監(jiān)控作業(yè)。
9.一種基于權(quán)利要求1-8之一所述的軟件監(jiān)控裝置的軟件監(jiān)控方法,其特征在于,所述方法包括: 啟動(dòng)代理服務(wù)器在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器; 啟動(dòng)主管理服務(wù)器查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫; 啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理;啟動(dòng)智能部署管理系統(tǒng)對監(jiān)控腳本與監(jiān)控機(jī)器及軟件進(jìn)行智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理。
10.根據(jù)權(quán)利要求9所述的軟件監(jiān)控方法,其特征在于,所述啟動(dòng)代理服務(wù)器在監(jiān)控機(jī)器上運(yùn)行調(diào)度監(jiān)控腳本,并將運(yùn)行得到的性能數(shù)據(jù)與報(bào)警信息傳送給主管理服務(wù)器,包括: 步驟1:啟動(dòng)第一環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出; 步驟2:啟動(dòng)系統(tǒng)服務(wù)注冊、管理模塊,把代理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證代理服務(wù)器在后臺(tái)長期、穩(wěn)定的運(yùn)行; 步驟3:啟動(dòng)第一通信模塊及第一數(shù)據(jù)協(xié)議模塊,建立與主管理服務(wù)器之間的雙向數(shù)據(jù)傳輸?shù)耐ǖ溃? 步驟4:啟動(dòng)數(shù)據(jù)補(bǔ)償模塊,檢查代理服務(wù)器啟動(dòng)之前數(shù)據(jù)緩存模塊中是否有歷史數(shù)據(jù)沒有傳輸,如果有就進(jìn)行數(shù)據(jù)補(bǔ)償,否則就進(jìn)行下一步; 步驟5:啟動(dòng)作業(yè)調(diào)度引擎,把所有的監(jiān)控作業(yè)全部按照指定的調(diào)度規(guī)則進(jìn)行調(diào)度;步驟6:啟動(dòng)作業(yè)執(zhí)行引擎,進(jìn)行作業(yè)執(zhí)行,并且對作業(yè)執(zhí)行的結(jié)果、異常狀況可以進(jìn)行捕獲; 步驟7:啟動(dòng)自動(dòng)升級(jí)模塊,接受、執(zhí)行主管理服務(wù)器發(fā)送來的各種管理命令。
11.根據(jù)權(quán)利要求9所述的軟件監(jiān)控方法,其特征在于,所述啟動(dòng)主管理服務(wù)器查中心數(shù)據(jù)庫中的作業(yè)狀態(tài),來保證代理服務(wù)器上作業(yè)的狀態(tài)與中心數(shù)據(jù)庫中的作業(yè)狀態(tài)一致;以及向代理服務(wù)器派發(fā)腳本作業(yè);并把代理服務(wù)器發(fā)送來的報(bào)警事件與性能數(shù)據(jù)存入中心數(shù)據(jù)庫,包括: 步驟1:啟動(dòng)第二環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步 ,否則就報(bào)錯(cuò)退出; 步驟2:啟動(dòng)第二系統(tǒng)服務(wù)注冊、管理模塊,把主管理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證主管理服務(wù)器在后臺(tái)長期、穩(wěn)定的運(yùn)行;步驟3:啟動(dòng)第二通信模塊及第二數(shù)據(jù)協(xié)議模塊,建立與代理服務(wù)器之間的雙向數(shù)據(jù)傳輸?shù)耐ǖ溃⒔邮盏降臄?shù)據(jù)存入數(shù)據(jù)收集模塊中; 步驟4:啟動(dòng)第二作業(yè)模塊,調(diào)度并執(zhí)行所有存儲(chǔ)于第二數(shù)據(jù)庫模塊中的內(nèi)部作業(yè)。
12.根據(jù)權(quán)利要求11所述的軟件監(jiān)控方法,其特征在于,在所述步驟4中,所述內(nèi)部作業(yè)包括: a.檢查需要派發(fā)的監(jiān)控作業(yè):當(dāng)發(fā)現(xiàn)有需要派發(fā)的監(jiān)控作業(yè),通過第二通信模塊把作業(yè)傳輸?shù)酱矸?wù)器上進(jìn)行執(zhí)行; b.收集事件:通過第二數(shù)據(jù)協(xié)議模塊得到與事件相關(guān)的信息并形成對象,按照壓縮規(guī)貝U、Action處理規(guī)則進(jìn)行相關(guān)操作,并把對象存入中心數(shù)據(jù)庫; c.收集性能數(shù)據(jù):通過第二數(shù)據(jù)協(xié)議模塊得到與性能數(shù)據(jù)相關(guān)的信息并形成對象,調(diào)用第二數(shù)據(jù)庫模塊把對象存入中心數(shù)據(jù)庫; d.收集心跳:通過第二數(shù)據(jù)協(xié)議模塊得到心跳的信息并形成對象,由于心跳內(nèi)容里有代理服務(wù)器的作業(yè)的狀態(tài)信息,所以通過檢查點(diǎn)的規(guī)則,對代理服務(wù)器的作業(yè)進(jìn)行檢查,以保證代理服務(wù)器上運(yùn)行的作業(yè)狀態(tài)與中心數(shù)據(jù)庫中記錄的作業(yè)狀態(tài)的一致;然后調(diào)用第二數(shù)據(jù)庫模塊更新中心數(shù)據(jù)庫中相關(guān)代理服務(wù)器的狀態(tài)信息; e.檢查需要派發(fā)的管理命令:當(dāng)發(fā)現(xiàn)有需要派發(fā)的管理命令,通過第二通信模塊把命令傳輸?shù)酱矸?wù)器上進(jìn)行執(zhí)行。
13.根據(jù)權(quán)利要求9所述的軟件監(jiān)控方法,其特征在于,所述啟動(dòng)自動(dòng)維護(hù)管理服務(wù)器對代理服務(wù)器和主管理服務(wù)器進(jìn)行安裝、更新及維護(hù)管理,包括: 步驟1:啟動(dòng)第三環(huán)境檢查模塊,對當(dāng)前的運(yùn)行環(huán)境,所需要的資源進(jìn)行檢查,如果資源全部滿足就進(jìn)行下一步,否則就報(bào)錯(cuò)退出。 步驟2:啟動(dòng)第三系統(tǒng)服務(wù)注冊、管理模塊,把自動(dòng)維護(hù)管理服務(wù)器程序注冊成系統(tǒng)服務(wù),從而保證在后臺(tái)長期、穩(wěn)定的運(yùn)打; 步驟3:啟動(dòng)第三作業(yè)模塊,調(diào)度并執(zhí)行第三數(shù)據(jù)庫模塊中存儲(chǔ)的所有內(nèi)部作業(yè)。
14.根據(jù)權(quán)利要求13所述的軟件監(jiān)控方法,其特征在于,在所述步驟3中,所述內(nèi)部作業(yè)包括: a.檢查需要安裝的作業(yè):當(dāng)發(fā)現(xiàn)有需要安裝的作業(yè),調(diào)用安裝介質(zhì)庫模塊得到被安裝服務(wù)器準(zhǔn)確的安裝包,調(diào)用SSH交互模塊與被安裝服務(wù)器進(jìn)行交互,實(shí)現(xiàn)安裝; b.檢查需要更新的作業(yè):當(dāng)發(fā)現(xiàn)有需要更新的作業(yè),調(diào)用安裝介質(zhì)庫模塊得到被更新服務(wù)器準(zhǔn)確的更新包,調(diào)用SSH交互模塊與被更新服務(wù)器進(jìn)行交互,實(shí)現(xiàn)更新。
15.根據(jù)權(quán)利要求9所述的軟件監(jiān)控方法,其特征在于,所述啟動(dòng)智能部署管理系統(tǒng)對監(jiān)控腳本與監(jiān)控機(jī)器及軟件進(jìn)行智能匹配和部署,提供基于服務(wù)水平的自動(dòng)化和差異部署管理,包括: a.設(shè)置機(jī)器類型和軟件類型的不同服務(wù)等級(jí)的安裝模板; b.根據(jù)機(jī)器名、機(jī)器類型和軟件類型匹配安裝模板; c.將安裝模板自動(dòng)安裝到指定機(jī)器。
【文檔編號(hào)】G06F11/36GK104021078SQ201410265404
【公開日】2014年9月3日 申請日期:2014年6月13日 優(yōu)先權(quán)日:2014年6月13日
【發(fā)明者】王躍, 張延彬, 鄧嵬, 李雪, 王鑫 申請人:中國民航信息網(wǎng)絡(luò)股份有限公司