發(fā)送的中間件配置指令,從所述管理服務(wù)器下載擴(kuò)展插件并安裝部署到相對(duì)應(yīng)中間件中可以包括:
[0052]接收所述管理服務(wù)器發(fā)送的中間件校驗(yàn)以及中間件配置指令;
[0053]根據(jù)所述中間件校驗(yàn)以及中間件配置指令,檢查中間件路徑和類型是否正確;
[0054]當(dāng)所述間件路徑和類型正確時(shí),從所述管理服務(wù)器下載擴(kuò)展插件并安裝部署到相對(duì)應(yīng)中間件中。
[0055]其中,所述中間件是一種可以直接使用而不用關(guān)注其具體實(shí)現(xiàn)細(xì)節(jié)的技術(shù)實(shí)現(xiàn)。例如目前Java Web應(yīng)用一般部署在Java Web容器中(俗稱:java應(yīng)用中間件),由應(yīng)用容器即應(yīng)用中間件來管理應(yīng)用系統(tǒng)運(yùn)行時(shí)的資源分配和訪問等。大型的企業(yè)應(yīng)用一般由多個(gè)應(yīng)用容器組成集群,以提供錯(cuò)誤恢復(fù)、會(huì)話保持、負(fù)載均衡等?,F(xiàn)有技術(shù)中可能出現(xiàn)多個(gè)操作系統(tǒng)或者多種java應(yīng)用容器,維護(hù)成本較大,需要不同平臺(tái)的專業(yè)人員。每次擴(kuò)容服務(wù)器需要大量的服務(wù)器監(jiān)控。監(jiān)控系統(tǒng)需要依賴硬件,且受限物理距離和硬件瓶頸。
[0056]其中,JavaWeb應(yīng)用:是由一系列編譯之后的Java類、靜態(tài)圖片、靜態(tài)HTML文件、配置文件等構(gòu)成。通過Java Web應(yīng)用可以就收用戶的輸入和請(qǐng)求,并對(duì)請(qǐng)求信息進(jìn)行加工處理、訪問數(shù)據(jù)庫(kù)、對(duì)用戶的請(qǐng)求給出回應(yīng)。
[0057]sl20、接收所述管理服務(wù)器發(fā)送的部署指令,根據(jù)所述部署指令更新應(yīng)用程序目錄,從所述管理服務(wù)器下載更新后的程序集文件以及配置文件,放置到相對(duì)應(yīng)的更新后的應(yīng)用程序目錄中;
[0058]其中,應(yīng)用系統(tǒng)的注冊(cè)也在管理服務(wù)器中進(jìn)行,應(yīng)用系統(tǒng)主要的屬性包括名稱、部署上下文、程序集文件路徑。應(yīng)用系統(tǒng)注冊(cè)后,上傳對(duì)應(yīng)的程序集文件(ZIP),記錄應(yīng)用系統(tǒng)與程序集文件的關(guān)聯(lián)(一一對(duì)應(yīng)關(guān)系)。
[0059]其中,應(yīng)用系統(tǒng)的配置可以由所屬應(yīng)用、文件位置、文件類型、文件內(nèi)容組成,保存在數(shù)據(jù)庫(kù)中。對(duì)于指定的應(yīng)用系統(tǒng),也可以創(chuàng)建、并聯(lián)多個(gè)不同類型的配置文件。Xml、Properties格式的配置文件,其具有格式校驗(yàn)功能,檢查文件內(nèi)容格式的合法性,可以提高應(yīng)用系統(tǒng)的準(zhǔn)確率。其他格式的配置文件不提供校驗(yàn)功能。這些選擇需要根據(jù)實(shí)際情況確定。在管理服務(wù)器完成應(yīng)用系統(tǒng)的配置后,向Agent發(fā)送應(yīng)用程序的部署指令,Agent根據(jù)所述部署指令更新應(yīng)用程序目錄若為新的應(yīng)用程序,則是建立應(yīng)用程序目錄,從所述管理服務(wù)器下載更新后的程序集文件以及配置文件或者是新的程序集文件以及配置文件,放置到相對(duì)應(yīng)的更新后的應(yīng)用程序目錄中。
[0060]優(yōu)選的,所述管理服務(wù)器將預(yù)定個(gè)數(shù)的應(yīng)用程序組成一個(gè)部署單元,其中,所述部署單元中包括每個(gè)應(yīng)用程序的名稱和訪問路徑;所述接收所述管理服務(wù)器發(fā)送的部署指令包括:
[0061]接收所述管理服務(wù)器發(fā)送的部署指令,其中,所述部署指令包括中間件信息,程序集下載路徑以及配置文件列表。
[0062]即當(dāng)集群服務(wù)器中應(yīng)用程序的數(shù)量很多,因此,這里可以對(duì)每個(gè)應(yīng)用程序都發(fā)送部署指令,也可以將多個(gè)應(yīng)用可組成一個(gè)部署單元以便于批量部署管理,在部署單元中的每個(gè)應(yīng)用程序會(huì)具有不同的名稱和訪問路徑。管理服務(wù)向Agent發(fā)送部署指令,部署命令中可以包括中間件信息、程序集下載路徑、配置文件列表等。預(yù)定數(shù)量可以根據(jù)實(shí)際使用情況進(jìn)行確定。
[0063]下面舉例說明Agent執(zhí)行部署指令的一個(gè)具體過程:
[0064]Agent接收到部署指令后,首先停止正在運(yùn)行的中間件實(shí)例,其次刪除當(dāng)前已部署的應(yīng)用程序(目錄),然后從管理服務(wù)下載最新的程序集文件并解壓到部署目錄,下載配置文件并按配置文件定義存放到程序集目錄中相應(yīng)位置。其中,首先停止正在運(yùn)行的中間件實(shí)例后也可以先備份已部署的應(yīng)用程序,將備份文件保存在備份目錄中;再刪除當(dāng)前已部署的應(yīng)用程序(目錄)。
[0065]sl30、監(jiān)測(cè)擴(kuò)展插件輸出目錄以及應(yīng)用程序運(yùn)行數(shù)據(jù)。
[0066]其中,中間件啟動(dòng)過程中,擴(kuò)展插件加載并運(yùn)行。插件運(yùn)行時(shí),向中間件安裝目錄中的預(yù)定目錄輸出JVM運(yùn)行時(shí)信息。運(yùn)行時(shí)信息可以分成兩類:靜態(tài)信息,只在插件初始化時(shí)輸出一次,包括JVM版本、廠家、當(dāng)前進(jìn)程號(hào)、類路徑、工作目錄等;動(dòng)態(tài)信息,周期性獲取最新動(dòng)態(tài)數(shù)據(jù)并寫入文件,包括進(jìn)程列表、進(jìn)程堆棧、類加載數(shù)量、堆大小等。這時(shí)Agent會(huì)監(jiān)測(cè)擴(kuò)展插件輸出目錄中的數(shù)據(jù),以便可以發(fā)現(xiàn)文件的突變現(xiàn)象。這里可以是實(shí)時(shí)監(jiān)測(cè)也可以在預(yù)定時(shí)間間隔執(zhí)行一次監(jiān)測(cè),可根據(jù)實(shí)際系統(tǒng)的需求決定。
[0067]Agent應(yīng)用程序還需要檢測(cè)應(yīng)用程序運(yùn)行數(shù)據(jù)。實(shí)現(xiàn)對(duì)應(yīng)有程序的監(jiān)控和管理。
[0068]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的應(yīng)用管理的方法,該方法通過獨(dú)立運(yùn)行、分布式部署的Agent提供集群環(huán)境中的應(yīng)用程序部署、控制能力,目前由于非商業(yè)javaweb容器的部署局限性,部署效率低下,人工操作出錯(cuò)性大,監(jiān)控維護(hù)成本極高。雖然目前市面已經(jīng)有一些監(jiān)控開源軟件,但由于其侵入性,監(jiān)控力度不夠等。無法快速、準(zhǔn)確定位問題,且對(duì)應(yīng)用系統(tǒng)損耗較大,不利于應(yīng)用系統(tǒng)的穩(wěn)定與可靠。以中間件擴(kuò)展插件方式提供與應(yīng)用系統(tǒng)無關(guān)的監(jiān)視能力,有效地解決了大規(guī)模集群環(huán)境中服務(wù)器、應(yīng)用中間件、應(yīng)用系統(tǒng)的運(yùn)行數(shù)據(jù)的無侵入采集問題,有效地降低了中間件管理和應(yīng)用系統(tǒng)配置、部署的難度??梢酝ㄟ^統(tǒng)一的監(jiān)控界面實(shí)現(xiàn)跨系統(tǒng)、跨中間件等的監(jiān)控,大大提高運(yùn)維效率。
[0069]基于上述技術(shù)方案,優(yōu)選的,運(yùn)維人員可以通過管理服務(wù)器進(jìn)行數(shù)據(jù)查看,且當(dāng)系統(tǒng)出現(xiàn)問題時(shí)Agent也可以通過管理服務(wù)器向運(yùn)維人員發(fā)出報(bào)警信息。
[0070]其中,能夠?qū)崿F(xiàn)對(duì)應(yīng)用程序的集中監(jiān)控和預(yù)警方法,有效解決大規(guī)模集群中的應(yīng)用系統(tǒng)配置、部署、控制和運(yùn)行監(jiān)視等問題,減少遠(yuǎn)程人工操作環(huán)節(jié),提高配置和部署效率,降低操作錯(cuò)誤率。具備實(shí)時(shí)監(jiān)控能力,快速準(zhǔn)確查看服務(wù)器狀態(tài)。及時(shí)處理故障,保證系統(tǒng)正常運(yùn)行。
[0071]基于上述任意技術(shù)方案,該方法還可以包括:
[0072]收集所述應(yīng)用程序運(yùn)行數(shù)據(jù),并將所述應(yīng)用程序運(yùn)行數(shù)據(jù)發(fā)送給所述管理服務(wù)器。
[0073]其中,實(shí)現(xiàn)了對(duì)應(yīng)用程序數(shù)據(jù)的無侵入采集,并將采集到的數(shù)據(jù)發(fā)送給管理服務(wù)器,管理服務(wù)器可以將采集到的運(yùn)行數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
[0074]基于上述任意技術(shù)方案,該方法還可以包括:
[0075]利用Agent心跳檢測(cè)程序,定時(shí)進(jìn)行心跳檢測(cè)。
[0076]其中,為了保證當(dāng)Agent不能正常工作時(shí),及時(shí)知道并告知系統(tǒng),可以利用Agent心跳檢測(cè)程序,定時(shí)進(jìn)行心跳檢測(cè),保證系統(tǒng)運(yùn)行安全性和可靠性。其中,心跳檢測(cè)程序的頻率可以根據(jù)實(shí)際系統(tǒng)的需要進(jìn)行設(shè)定。
[0077]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的應(yīng)用管理的方法,該方法通過獨(dú)立運(yùn)行、分布式部署的Agent提供集群環(huán)境中的應(yīng)用程序部署、控制能力,目前由于非商業(yè)javaweb容器的部署局限性,部署效率低下,人工操作出錯(cuò)性大,監(jiān)控維護(hù)成本極高。雖然目前市面已經(jīng)有一些監(jiān)控開源軟件,但由于其侵入性,監(jiān)控力度不夠等。無法快速、準(zhǔn)確定位問題,且對(duì)應(yīng)用系統(tǒng)損耗較大,不利于應(yīng)用系統(tǒng)的穩(wěn)定與可靠。以中間件擴(kuò)展插件方式提供與應(yīng)用系統(tǒng)無關(guān)的監(jiān)視能力,有效地解決了大規(guī)模集群環(huán)境中服務(wù)器、應(yīng)用中間件、應(yīng)用系統(tǒng)的運(yùn)行數(shù)據(jù)的無侵入采集問題,有效地降低了中間件管理和應(yīng)用系統(tǒng)配置、部署的難度。可以通過統(tǒng)一的監(jiān)控界面實(shí)現(xiàn)跨系統(tǒng)、跨中間件等的監(jiān)控,大大提高運(yùn)維效率。能夠?qū)崿F(xiàn)對(duì)應(yīng)用程序的集中監(jiān)控和預(yù)警,提高系統(tǒng)的安全性和可靠性。
[0078]本發(fā)明實(shí)施例提供了應(yīng)用管理的方法,可以通過上述方法能夠提高配置和部署效率,降低操作錯(cuò)誤率,具備實(shí)時(shí)監(jiān)控能力。
[0079]下面對(duì)本發(fā)明實(shí)施例提供的應(yīng)用管理的裝置及系統(tǒng)進(jìn)行介紹,下文描述的應(yīng)用管理的裝置及系統(tǒng)與上文描述的應(yīng)用管理的方法可相互對(duì)應(yīng)參照。
[0080]請(qǐng)參考圖2,圖2為本發(fā)明實(shí)施例所提供的應(yīng)用管理的裝置的結(jié)構(gòu)框圖;該裝置可以包括:
[0081]初始化模塊101,用于Agent根據(jù)管理服務(wù)器發(fā)送的指令及配置文件,進(jìn)行初始化;
[0082]中間件部署模塊102,用于接收所述管理服務(wù)器發(fā)送的中間件配置指令,從所述管理服務(wù)器下載擴(kuò)展插件并安裝部署到相對(duì)應(yīng)中間件中;
[0083]應(yīng)用部署模塊103,用于接收所述管理服務(wù)器發(fā)送的部署指令,根據(jù)所述部署指令更新應(yīng)用程序目錄,從所述管理服務(wù)器下載更新后的程序集文件以及配置文件,放置到相對(duì)應(yīng)的更新后的應(yīng)用程序目錄中;
當(dāng)前第2頁
1 
2 
3