一種針對java web 應(yīng)用的集中監(jiān)控和預(yù)警方法
【專利說明】一種針對java web應(yīng)用的集中監(jiān)控和預(yù)警方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種針對java web應(yīng)用的集中監(jiān)控和預(yù)警方法。
【背景技術(shù)】
[0003]目前javaweb應(yīng)用一般部署在javaweb容器中(俗稱:java應(yīng)用中間件),由應(yīng)用容器管理應(yīng)用系統(tǒng)運行時的資源分配和訪問等。大型的企業(yè)應(yīng)用一般由多個應(yīng)用容器組成集群,以提供錯誤恢復(fù)、會話保持、負載均衡等,在集群環(huán)境下,應(yīng)用部署依賴應(yīng)用容器提供的集群部署、監(jiān)控功能。在沒有專門的集群管理功能情況下,應(yīng)用系統(tǒng)的部署和升級一般由程序集拷貝、解壓、遠程登錄修改配置文件,系統(tǒng)部署、升級質(zhì)量低下,而且人工操作錯誤可能性較大;由于集群環(huán)境的復(fù)雜性,可能出現(xiàn)多個操作系統(tǒng)或者多種java應(yīng)用容器,維護成本較大,需要不同平臺的專業(yè)人員;每次擴容服務(wù)器需要大量的服務(wù)器監(jiān)控;監(jiān)控系統(tǒng)需要依賴硬件,且受限物理距離和硬件瓶頸。
[0004]由于非商業(yè)javaweb容器的部署局限性,部署效率低下,人工操作出錯性大,監(jiān)控維護成本極高;雖然目前市面已經(jīng)有一些監(jiān)控開源軟件,但由于其侵入性,監(jiān)控力度不夠等;無法快速、準(zhǔn)確定位問題,且對應(yīng)用系統(tǒng)損耗較大,不利于應(yīng)用系統(tǒng)的穩(wěn)定與可靠。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明提供了一種針對java web應(yīng)用的集中監(jiān)控和預(yù)警方法。
[0006]為了達到上述目的,本發(fā)明所采用的技術(shù)方案是:
一種針對java web應(yīng)用的集中監(jiān)控和預(yù)警方法,包括以下步驟,
步驟一,依次配置Agent程序、啟動Agent程序;
步驟二,在管理服務(wù)中依次配置服務(wù)器、注冊服務(wù)器;
步驟三,服務(wù)器注冊完成后,將初始化數(shù)據(jù)發(fā)送給對應(yīng)的Agent,完成Agent程序的參數(shù)初始化;
步驟四,在管理服務(wù)中依次配置中間件、應(yīng)用系統(tǒng);
步驟五,注冊中間件;
在指定的服務(wù)器中注冊受管的中間件對象;
步驟六,中間件注冊完成后,向Agent發(fā)送中間件校驗和配置指令,檢查中間件路徑和類型是否正確,檢查通過后Agent從管理服務(wù)下載擴展組件并安裝部署到中間件中;步驟七,注冊應(yīng)用系統(tǒng);
步驟八,應(yīng)用系統(tǒng)注冊完成后,上傳對應(yīng)的程序集文件,記錄應(yīng)用系統(tǒng)與程序集文件的關(guān)耳關(guān);
步驟九,配置應(yīng)用系統(tǒng); 對指定的應(yīng)用系統(tǒng),創(chuàng)建并并聯(lián)多個不同類型的配置文件;
步驟十,配置應(yīng)用;
多個應(yīng)用組成一個部署單元,在部署單元中的應(yīng)用具有不同的名稱和訪問路徑;
步驟十一,管理服務(wù)向Agent發(fā)送部署指令;
步驟十二,Agent接收指令后,首先停止正在運行的中間件實例,備份已部署的應(yīng)用程序,其次刪除當(dāng)前已部署的應(yīng)用程序,然后從管理服務(wù)下載最新的程序集文件并解壓到部署目錄,下載配置文件并按配置文件定義存放到程序集目錄中相應(yīng)位置;
步驟十三,中間件啟動過程中,擴展組件加載并運行,擴展組件向中間件安裝目錄中的預(yù)定目錄輸出JVM運行數(shù)據(jù);
步驟十四,Agent監(jiān)視擴展組件輸出,周期性檢查預(yù)定目錄中的文件變更;
步驟十五,Agent將最新的JVM運行數(shù)據(jù)發(fā)送到管理服務(wù);
步驟十六,管理服務(wù)將JVM運行數(shù)據(jù)以非結(jié)構(gòu)化的方式存至hadoop的hdfs中,通過hadoop的定義好的mapreduce定時計算JVM運行數(shù)據(jù);
步驟十七,管理服務(wù)將hadoop計算獲得的預(yù)警數(shù)據(jù)存儲至數(shù)據(jù)庫中;
步驟十八,管理服務(wù)定時向數(shù)據(jù)庫采集預(yù)警數(shù)據(jù),并將預(yù)警數(shù)據(jù)在頁面上進行展示;
步驟十九,運維人員登錄管理服務(wù),查看預(yù)警數(shù)據(jù),根據(jù)預(yù)警數(shù)據(jù)握服務(wù)器狀態(tài)。
[0007]配置服務(wù)器包括配置服務(wù)器名稱、IP和管理端口 ;注冊服務(wù)器包括注冊服務(wù)器名稱、IP和管理端口。
[0008]注冊受管的中間件對象包括注冊中間件類型、名稱、安裝目錄和端口。
[0009]配置文件為Xml或Properties格式的配置文件。
[0010]部署指令包括中間件信息、程序集下載路徑和配置文件列表。
[0011]JVM運行數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù);靜態(tài)數(shù)據(jù)只在擴展組件初始化時輸出一次,包括JVM版本、廠家、當(dāng)前進程號、類路徑和工作目錄;動態(tài)數(shù)據(jù)為周期性獲取最新數(shù)據(jù),包括進程列表、進程堆棧、類加載數(shù)量和堆大小。
[0012]在服務(wù)器、中間件、應(yīng)用出現(xiàn)問題時,管理服務(wù)可以通過短信郵件接口通知告警運維人員。
[0013]本發(fā)明所達到的有益效果:本發(fā)明提供一種針對java web應(yīng)用的集中監(jiān)控和預(yù)警方法,提供一套簡易部署的策略,極大提升集群下應(yīng)用的部署能力,提高運維效率;采用非侵入式采集數(shù)據(jù),最大限度減輕對應(yīng)用系統(tǒng)的壓力;提供服務(wù)器-中間件-應(yīng)用運行數(shù)據(jù)采集,提供豐富的監(jiān)控數(shù)據(jù);采用nosql存儲方式,與hadoop等大數(shù)據(jù)分析工具集成,預(yù)測服務(wù)器狀態(tài)走勢,進而保障應(yīng)用系統(tǒng)的健康運行。
【附圖說明】
[0014]圖1為本發(fā)明的流程圖。
【具體實施方式】
[0015]下面結(jié)合附圖對本發(fā)明作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護范圍。
[0016]如圖1所示,一種針對java web應(yīng)用的集中監(jiān)控和預(yù)警方法,包括以下步驟: 步驟一,依次配置Agent程序、啟動Agent程序。
[0017]Agent的監(jiān)聽端口定義在配置文件中,如無定義使用默認端口 ;Agent啟動過程中首先以嵌入方式初始化Jetty引擎監(jiān)聽指定端口,注冊指令接收處理Handler。
[0018]步驟二,在管理服務(wù)中依次配置服務(wù)器、注冊服務(wù)器。
[0019]配置服務(wù)器包括配置服務(wù)器名稱、IP、管理端口(Agent的監(jiān)聽端口中);注冊服務(wù)器包括注冊服務(wù)器名稱、IP、管理端口(Agent的監(jiān)聽端口中)。
[0020]步驟三,服務(wù)器注冊完成后,將初始化數(shù)據(jù)發(fā)送給對應(yīng)的Agent,完成Agent程序的參數(shù)初始化;
步驟四,在管理服務(wù)中依次配置中間件、應(yīng)用系統(tǒng)。
[0021]步驟五,注冊中間件。
[0022]在指定的服務(wù)器中注冊受管的中間件對象,包括注冊中間件類型、名稱、安裝目錄和端口。
[0023]步驟六,中間件注冊完成后,向Agent發(fā)送中間件校驗和配置指令,檢查中間件路徑和類型是否正確,檢查通過后Agent從管理服務(wù)下載擴展組件并安裝部署到中間件中。
[0024]步驟七,注冊應(yīng)用系統(tǒng)。
[0025]應(yīng)用系統(tǒng)主要屬性包括名稱、部署上下文、程序集文件路徑。
[0026]步驟八,應(yīng)用系統(tǒng)注冊完成后,上傳對應(yīng)的程序集文件(ZIP),記錄應(yīng)用系統(tǒng)與程序集文件的關(guān)聯(lián)(I對I)。
[0027]步驟九,配置應(yīng)用系