版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢 業(yè) 設(shè) 計(jì)</b></p><p> 題 目: 服務(wù)器應(yīng)用監(jiān)控系統(tǒng)</p><p> 院、 系: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 計(jì)算機(jī)系</p><p><b> 任務(wù)書(shū)</b></p><p> 學(xué)生姓名:
2、 學(xué)號(hào):</p><p> 學(xué) 院:計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 任務(wù)起止時(shí)間: </p><p> 畢業(yè)設(shè)計(jì)(論文)題目:服務(wù)器應(yīng)用監(jiān)控系統(tǒng)</p><p> 畢業(yè)設(shè)計(jì)工作內(nèi)容: 收集資料 3.1 — 3.20確定主題 3.21 — 4.
3、1規(guī)劃后臺(tái)與網(wǎng)站 4.1 — 4.2選擇合適的制作工具 4.20 — 5.10實(shí)現(xiàn)設(shè)計(jì) 5.10 — 6.1撰寫論文、準(zhǔn)備答辯 6.1 — 6.20</p><p> 資料:1、Java編程思想 作者:Bruce Eckel著,出版社:機(jī)械工業(yè)出版社2、數(shù)據(jù)結(jié)構(gòu)與算法分析 作者:Mark Allen Weiss,出版社:機(jī)械工業(yè)出版社3、操作系統(tǒng)精髓與設(shè)
4、計(jì)原理 作者:William Stallings,出版社:機(jī)械工業(yè)出版社</p><p> 指導(dǎo)教師意見(jiàn):簽名:年 月 日系主任意見(jiàn):簽名:年 月 日</p><p><b> 服務(wù)器應(yīng)用監(jiān)控系統(tǒng)</b></p><p><b> 摘 要</b></p><p>
5、隨著各行業(yè)信息化建設(shè)的不斷深入發(fā)展,單獨(dú)的服務(wù)器已經(jīng)再無(wú)法滿足企業(yè)的需求。網(wǎng)絡(luò)和應(yīng)用規(guī)模日趨擴(kuò)大,服務(wù)器網(wǎng)絡(luò)集群大量應(yīng)用于中、小型企業(yè)中,服務(wù)器性能監(jiān)控和日常維護(hù)變得復(fù)雜。服務(wù)器管理員迫切需要一個(gè)實(shí)用的監(jiān)控系統(tǒng)來(lái)幫助他們實(shí)時(shí)了解服務(wù)器的運(yùn)行狀態(tài),檢測(cè)服務(wù)器故障,令維護(hù)服務(wù)器的正常運(yùn)行。</p><p> 服務(wù)器性能監(jiān)控是指針對(duì)服務(wù)器系統(tǒng)的運(yùn)行狀態(tài)以及各項(xiàng)指標(biāo)的監(jiān)控。監(jiān)控指標(biāo)包括:CPU 使用率、CPU 負(fù)載、內(nèi)
6、存使用率、磁盤 I/O、磁盤空間、網(wǎng)絡(luò)流量等。并實(shí)時(shí)的將監(jiān)控獲得的服務(wù)器性能參數(shù)傳回來(lái)顯示在客戶端,同時(shí)上傳至中心服務(wù)器上的數(shù)據(jù)庫(kù)中,便于以后查詢,分析。</p><p> 本文圍繞服務(wù)器應(yīng)用性能監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn),研究了Web服務(wù)技術(shù),服務(wù)器的性能參數(shù)獲取和利用Char組件動(dòng)態(tài)顯示服務(wù)器的運(yùn)行狀態(tài)。Web服務(wù)的使用簡(jiǎn)化了客戶端系統(tǒng),服務(wù)器的性能參數(shù)獲取過(guò)程封裝在一個(gè)Windows進(jìn)程中,系統(tǒng)具有很好的擴(kuò)展性
7、。系統(tǒng)的實(shí)現(xiàn)目標(biāo)是服務(wù)器性能的遠(yuǎn)程監(jiān)控,一對(duì)多監(jiān)控,服務(wù)器管理員可以查看服務(wù)器歷史一段時(shí)間運(yùn)行狀態(tài)。</p><p> 關(guān)鍵詞 服務(wù)器應(yīng)用監(jiān)控;遠(yuǎn)程監(jiān)控;Web服務(wù);Windows性能</p><p> Server Application Monitoring System</p><p><b> Abstract</b><
8、/p><p> With the rapid development of network technology and application, a single server has failed to meet the needs of the enterprises. With the server scale increasing day after day, and server cluster wid
9、ely used in the medium and small enterprises, a server’s management and maintenance are becoming difficult. The system administrator urgently need a practical server performance monitoring system to help them know server
10、’s operation state real-time, monitoring server failure, in order to make the s</p><p> This Web service technology, the server performance parameters of the acquisition and use of Microsoft Chart component
11、 dynamic display of the server running state.</p><p> This paper focus on the server performance monitoring system of research and implementation, research the Web service technology, the server performance
12、 parameters of the acquisition and use of Microsoft Chart component dynamic display of the server running state. With the Web service, the client becomes much simple. Packing process of getting the server performance par
13、ameters as a service of Windows make the system has good expansibility. System goal is to realize the server performance for rem</p><p> Keywords ServerPerformanceMonitoringSystem; Remote Monitoring;</p
14、><p> Web Service; Windows Performance</p><p><b> 目 錄</b></p><p><b> 摘要……I</b></p><p> AbstractII</p><p><b> 第1章 緒論5&l
15、t;/b></p><p> 1.1 選題目的和意義5</p><p> 1.2 國(guó)內(nèi)外文獻(xiàn)綜述5</p><p> 1.3 論文研究?jī)?nèi)容6</p><p> 第2章 相關(guān)技術(shù)概述7</p><p> 2.1 服務(wù)器應(yīng)用性能監(jiān)控7</p><p> 2.2 服務(wù)器性能
16、參數(shù)獲取7</p><p> 2.2.1 使用Sigar7</p><p> 2.2.2 使用Windows性能計(jì)數(shù)器8</p><p> 2.3 Web服務(wù)概述8</p><p> 2.4 本章小結(jié)8</p><p> 第3章 系統(tǒng)需求分析9</p><p> 3.1
17、需求背景9</p><p> 3.2 系統(tǒng)總體的需求9</p><p> 3.3 系統(tǒng)功能性需求分析10</p><p> 3.3.1 系統(tǒng)功能10</p><p> 3.3.2 WindowsInfoMonitor服務(wù)功能需求10</p><p> 3.3.3 ShowWinInfo客戶端程序功能
18、需求11</p><p> 3.4 系統(tǒng)非功能性需求分析12</p><p> 3.4.1 可靠性要求12</p><p> 3.4.2 易用性要求12</p><p> 3.4.3 效率要求12</p><p> 3.4.4 可移植性要求13</p><p> 3.5
19、系統(tǒng)開(kāi)發(fā)環(huán)境13</p><p> 3.5.1 軟件環(huán)境13</p><p> 3.5.2 硬件環(huán)境13</p><p> 3.6 本章小結(jié)13</p><p> 第4章 系統(tǒng)設(shè)計(jì)14</p><p> 4.1 系統(tǒng)概述14</p><p> 4.2 系統(tǒng)總體架構(gòu)14&
20、lt;/p><p> 4.3 劃分功能模塊14</p><p> 4.4 獨(dú)立模塊設(shè)計(jì)15</p><p> 4.4.1 WindowsInfoMonitor服務(wù)模塊設(shè)計(jì)15</p><p> 4.4.2 ShowWinInfo客戶端程序設(shè)計(jì)17</p><p> 4.5 數(shù)據(jù)模型設(shè)計(jì)17</p&
21、gt;<p> 4.6 本章小結(jié)18</p><p> 第5章 系統(tǒng)實(shí)現(xiàn)19</p><p> 5.1 WindowsInfoMonitor服務(wù)實(shí)現(xiàn)19</p><p> 5.1.1 獲取服務(wù)器的性能參數(shù)19</p><p> 5.1.2 向指定數(shù)據(jù)庫(kù)持久化服務(wù)器性能參數(shù)24</p><p
22、> 5.2 ShowWinInfo客戶端程序的實(shí)現(xiàn)25</p><p> 5.2.1 使用Highcharts插件26</p><p> 5.2.2 整站效果27</p><p> 5.2.3 使用tablesorter29</p><p> 5.2.4 使用JSP31</p><p> 5
23、.2.5 使用Ajax31</p><p> 5.2.6 使用Struts31</p><p> 5.3 本章小結(jié)32</p><p><b> 結(jié) 論33</b></p><p><b> 致 謝35</b></p><p><b>
24、參考文獻(xiàn)36</b></p><p><b> 附 錄37</b></p><p> 附錄A 英文原文37</p><p> 附錄B 英文譯文39</p><p> 附錄C 服務(wù)器信息采集核心代碼41</p><p> 附錄D 前臺(tái)展示業(yè)務(wù)核心代碼49<
25、/p><p><b> 緒論</b></p><p><b> 選題目的和意義</b></p><p> 在網(wǎng)絡(luò)中部署的服務(wù)器系統(tǒng),隨著時(shí)間的推移,系統(tǒng)中的用戶數(shù)量和數(shù)據(jù)量不斷增加,系統(tǒng)壓力越來(lái)越大,系統(tǒng)速度越來(lái)越慢,對(duì)客戶端的響應(yīng)時(shí)間越來(lái)越長(zhǎng),有時(shí)服務(wù)器甚至?xí)V狗?wù),無(wú)法響應(yīng)用戶請(qǐng)求,從而使整個(gè)網(wǎng)絡(luò)陷入癱瘓。面對(duì)這樣
26、的情況,網(wǎng)絡(luò)管理員總希望在第一時(shí)間找到問(wèn)題出在哪里,而往往由于缺少必要的分析和診斷工具,無(wú)法迅速找到到底是CPU,內(nèi)存,磁盤,網(wǎng)絡(luò)等哪個(gè)部分出了問(wèn)題,是硬件配置較低需要升級(jí)設(shè)備,還是受到木馬攻擊,被木馬搶占了資源。如何監(jiān)控和解決服務(wù)器性能問(wèn)題,成為管理員面臨的最棘手的問(wèn)題。尤其是隨著互聯(lián)網(wǎng)絡(luò)的發(fā)展,單一的服務(wù)器已經(jīng)無(wú)法滿足企業(yè)需求,大規(guī)模的服務(wù)器集群得到廣泛應(yīng)用,云計(jì)算發(fā)展勢(shì)頭迅猛,如何調(diào)整服務(wù)器部署,均衡負(fù)載,使服務(wù)器資源得到充分利用
27、,大大提高資源的利用率成為最重要的關(guān)注點(diǎn)。服務(wù)器的性能監(jiān)控顯得越來(lái)越重要了。</p><p><b> 國(guó)內(nèi)外文獻(xiàn)綜述</b></p><p> 當(dāng)前,企業(yè)信息化規(guī)模越來(lái)越大,水平不斷提高,如何維護(hù)并有效管理這些資源,已經(jīng)成為企業(yè)信息化過(guò)程中面臨的嚴(yán)峻問(wèn)題和關(guān)注的焦點(diǎn)。在對(duì)這些資源的管理中,服務(wù)器是核心設(shè)備,對(duì)它的管理至關(guān)重要。Windows服務(wù)在企業(yè)中應(yīng)用十分廣
28、泛,對(duì)其性能進(jìn)行管理非常必要。Windows服務(wù)器自帶有性能管理功能,但只能在本機(jī)上才能查看其運(yùn)行情況。而且只能實(shí)時(shí)查看,無(wú)法查看過(guò)去一段時(shí)間內(nèi)的服務(wù)器運(yùn)行狀態(tài)。目前知名的Windows服務(wù)器性能監(jiān)控系統(tǒng)有NEC公司的MasterScopeSystemManager,Micrisoft公司的WMI,Bakbone公司的Spotlight On Windows,上海哲濤公司的SUM(Server Unified Monitor &
29、 Management),神舟泰岳的Ultr@NMS。相比較而言,國(guó)外產(chǎn)品功能強(qiáng)大,但價(jià)格昂貴,操作界面不符合中國(guó)人習(xí)慣;而國(guó)內(nèi)產(chǎn)品技術(shù)落后,可移植性差。</p><p> 服務(wù)器應(yīng)用性能監(jiān)控可以了解到服務(wù)器的各種狀態(tài),比如CPU的利用率,內(nèi)存的占用率,磁盤的I/O速率,虛擬內(nèi)存的占用率等??梢愿鶕?jù)監(jiān)控的數(shù)據(jù)結(jié)果來(lái)判定企業(yè)應(yīng)用的工作情況,可以查看數(shù)據(jù)庫(kù)內(nèi)的監(jiān)控?cái)?shù)據(jù),分析出服務(wù)器的性能,便于服務(wù)器的部署,使資源得
30、到更有效更充分的利用。</p><p> 未來(lái)服務(wù)器不再是傳統(tǒng)的單服務(wù)器,而是由多個(gè)服務(wù)器構(gòu)成的服務(wù)器群。對(duì)于服務(wù)器群來(lái)說(shuō),服務(wù)器的管理變得更加重要。合理的利用資源,使所有服務(wù)器資源得到最大化利用,不僅僅可以節(jié)約硬件上的成本,同時(shí)可以加快服務(wù)器的響應(yīng)速度,提高服務(wù)器的吞吐量,而要實(shí)現(xiàn)服務(wù)器的管理,依據(jù)的就是服務(wù)器的性能,了解單服務(wù)器的性能,均衡服務(wù)器,避免服務(wù)器出現(xiàn)“饑飽過(guò)度”。服務(wù)器應(yīng)用性能監(jiān)控將在提高服務(wù)器
31、性能方面發(fā)揮重大作用。</p><p><b> 論文研究?jī)?nèi)容</b></p><p> 本課題主要研究服務(wù)器應(yīng)用的性能監(jiān)控,獲取服務(wù)器的性能參數(shù),保存至數(shù)據(jù)庫(kù)并且顯示,提供用戶可以查看過(guò)去一段時(shí)間服務(wù)器的運(yùn)行狀態(tài)。具體內(nèi)容包括以下幾個(gè)方面:</p><p> 獲取服務(wù)器的性能參數(shù):設(shè)計(jì)一個(gè)組件WindowsInfoMonitor,Win
32、dowsInfoMonitor是一個(gè)Windows下進(jìn)行的線程,里面使用Sigar獲取服務(wù)器的性能,包括CPU的利用率,內(nèi)存的占用率,磁盤I/O的數(shù)據(jù)傳輸速度,網(wǎng)絡(luò)帶寬等信息。</p><p> 服務(wù)器性能數(shù)據(jù)上傳至中心服務(wù)器數(shù)據(jù)庫(kù):通過(guò)在中心服務(wù)器安裝的WebService提供的借口,將服務(wù)器的性能數(shù)據(jù)上傳到中心服務(wù)器的數(shù)據(jù)庫(kù)中。</p><p> 客戶端從中心服務(wù)器數(shù)據(jù)庫(kù)提取數(shù)據(jù):
33、客戶端通過(guò)在中心服務(wù)器安裝的WebService提供的接口,獲取數(shù)據(jù)庫(kù)內(nèi)服務(wù)器的性能數(shù)據(jù)。</p><p> 服務(wù)器性能參數(shù)在客戶端界面上的顯示:使用Jsp技術(shù)和Highcharts控件將服務(wù)器的性能數(shù)據(jù)顯示在客戶端界面上,用繪制曲線圖,直方圖條或者文字報(bào)告等形式展示,直觀的向用戶展示服務(wù)器性能。</p><p><b> 相關(guān)技術(shù)概述</b></p>
34、<p> 本章將主要介紹系統(tǒng)使用到的相關(guān)技術(shù)。服務(wù)器應(yīng)用性能監(jiān)控實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,用到Java Web技術(shù)。Web服務(wù)提供接口,將系統(tǒng)的業(yè)務(wù)邏輯從客戶端移到了中心服務(wù)器上,大大簡(jiǎn)化客戶端操作。</p><p><b> 服務(wù)器應(yīng)用性能監(jiān)控</b></p><p> 服務(wù)器性能監(jiān)控是指針對(duì)服務(wù)器系統(tǒng)的運(yùn)行狀態(tài)以及各項(xiàng)指標(biāo)的監(jiān)控。監(jiān)控指標(biāo)包括:CPU 使用
35、率、CPU 負(fù)載、內(nèi)存使用率、磁盤 I/O、磁盤空間、網(wǎng)絡(luò)流量等。遠(yuǎn)程服務(wù)器監(jiān)控系統(tǒng)是本地計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)系統(tǒng)Internet/Intranet,對(duì)遠(yuǎn)程服務(wù)器進(jìn)行監(jiān)控和控制。并實(shí)時(shí)的將監(jiān)控獲得的服務(wù)器性能參數(shù)傳回來(lái)顯示在客戶端,同時(shí)上傳至中心服務(wù)器上的數(shù)據(jù)庫(kù)中,便于以后查詢,分析。 </p><p> 服務(wù)器性能監(jiān)控技術(shù)目前比較成熟,并且應(yīng)用在調(diào)整服務(wù)器部署中。服務(wù)器的穩(wěn)定性及其性能資源利用狀態(tài)需要長(zhǎng)時(shí)間的累計(jì)服
36、務(wù)器相關(guān)數(shù)據(jù),然后進(jìn)行分析,最后得出正確結(jié)論??梢葬槍?duì)所有設(shè)備的 CPU 負(fù)載、內(nèi)存利用率等進(jìn)行全網(wǎng)記錄。也可以對(duì)單獨(dú)的應(yīng)用服務(wù)器等進(jìn)行記錄。 </p><p> 服務(wù)器的網(wǎng)絡(luò)流量來(lái)自服務(wù)器與外界的數(shù)據(jù)交換。這個(gè)流量包括了正常的應(yīng)用程序與外界的數(shù)據(jù)交換,也包括了非法服務(wù)或進(jìn)程(例如病毒)產(chǎn)生的數(shù)據(jù)量。定期分析一段時(shí)間來(lái)的服務(wù)器網(wǎng)卡流量,可以發(fā)現(xiàn)是否有不正常的變化,如突然增高或突然很低,這對(duì)檢查服務(wù)器的運(yùn)行狀態(tài)很
37、有幫助。 </p><p> 對(duì)應(yīng)用服務(wù)器的性能資源進(jìn)行記錄,幫助管理人員根據(jù)這些統(tǒng)計(jì)結(jié)果分析出這些設(shè)備的主要運(yùn)行參數(shù)的變化規(guī)律,從而為正確評(píng)定用戶網(wǎng)絡(luò)設(shè)備的承載能力提供依據(jù)。另外,如果必要的話,也可以對(duì)所有的服務(wù)器連接線路的流量指標(biāo)進(jìn)行記錄,以便對(duì)整個(gè)網(wǎng)絡(luò)的流量分布全面了解,以確定網(wǎng)絡(luò)的瓶頸,為今后的網(wǎng)絡(luò)擴(kuò)容提供依據(jù)。 </p><p><b> 服務(wù)器性能參數(shù)獲取<
38、/b></p><p> 服務(wù)器性能參數(shù)獲取是指通過(guò)一定的方法,獲取服務(wù)器的性能指標(biāo)的過(guò)程。服務(wù)器的性能指標(biāo)包括CPU使用率、內(nèi)存使用率、磁盤I/O、磁盤空間、網(wǎng)絡(luò)流量等。Java語(yǔ)言下服務(wù)器性能參數(shù)選擇利用sigar控件和Windows性能計(jì)數(shù)器。</p><p><b> 使用Sigar</b></p><p> Sigar是英
39、文System Information Gatherer And Reporter的簡(jiǎn)寫,中文意思是系統(tǒng)信息采集者,是一個(gè)開(kāi)源的工具,提供了跨平臺(tái)的系統(tǒng)信息收集的API,由C語(yǔ)言實(shí)現(xiàn)的。</p><p> 可以收集的信息包括:</p><p> CPU信息,包括基本信息(vendor、model、mhz、cacheSize)和統(tǒng)計(jì)信息(user、sys、idle、nice、wait);
40、</p><p> 文件系統(tǒng)信息,包括Filesystem、Size、Used、Avail、Use%、Type;</p><p> 事件信息,類似Service Control Manager;</p><p> 內(nèi)存信息,物理內(nèi)存和交換內(nèi)存的總數(shù)、使用數(shù)、剩余數(shù);RAM的大??;</p><p> 網(wǎng)絡(luò)信息,包括網(wǎng)絡(luò)接口信息和網(wǎng)絡(luò)路由
41、信息;</p><p> 進(jìn)程信息,包括每個(gè)進(jìn)程的內(nèi)存、CPU占用數(shù)、狀態(tài)、參數(shù)、句柄;</p><p> I/O信息,包括I/O的狀態(tài),讀寫大小等;</p><p><b> 服務(wù)狀態(tài)信息;</b></p><p> 系統(tǒng)信息,包括操作系統(tǒng)版本,系統(tǒng)資源限制情況,系統(tǒng)運(yùn)行時(shí)間以及負(fù)載,JAVA的版本信息等;&l
42、t;/p><p> 使用Windows性能計(jì)數(shù)器</p><p> 服務(wù)器性能監(jiān)視,是Windows NT提供的一種系統(tǒng)功能。Windows NT一直以來(lái)總是集成了性能監(jiān)視工具,它提供了有關(guān)操作系統(tǒng)當(dāng)前運(yùn)行狀況的信息,針對(duì)各種對(duì)象提供了數(shù)百個(gè)性能計(jì)數(shù)器,在本地計(jì)算機(jī)可以打開(kāi)管理工具,選擇性能監(jiān)視器,點(diǎn)擊添加計(jì)數(shù)器按鈕,可以查看Windows NT具體提供了哪些性能計(jì)數(shù)器,同時(shí)可以查看性能監(jiān)
43、視對(duì)象,對(duì)象實(shí)例等。性能計(jì)數(shù)器能實(shí)時(shí)采集系統(tǒng)內(nèi)的應(yīng)用程序、服務(wù)、驅(qū)動(dòng)程序等的性能數(shù)據(jù),以此來(lái)分析系統(tǒng)的瓶頸,最終幫助用戶進(jìn)行系統(tǒng)的合理調(diào)配。通過(guò)編寫程序可以訪問(wèn)所有的Windows性能計(jì)數(shù)器,通過(guò)計(jì)數(shù)器可以獲得服務(wù)器的性能參數(shù)。</p><p><b> Web服務(wù)概述</b></p><p> Web服務(wù)(Web Service)是一種實(shí)現(xiàn)Internet環(huán)境下
44、組建開(kāi)發(fā)的技術(shù)。目標(biāo)是把全世界的Internet/Intranet變成一個(gè)虛擬計(jì)算環(huán)境,實(shí)現(xiàn)跨平臺(tái)的可操作性。</p><p><b> 本章小結(jié)</b></p><p> 本章主要對(duì)服務(wù)器應(yīng)用監(jiān)控系統(tǒng)用到的技術(shù)進(jìn)行了闡述,包括服務(wù)器性能監(jiān)控,Web服務(wù)技術(shù)。</p><p><b> 系統(tǒng)需求分析</b></
45、p><p> 本章將主要對(duì)系統(tǒng)的需求進(jìn)行分析。主要從系統(tǒng)的功能性需求和非功能性需求進(jìn)行深入細(xì)致的分析。對(duì)系統(tǒng)需求進(jìn)行全面細(xì)致的分析是系統(tǒng)快速高效開(kāi)發(fā)的前提,才能保證設(shè)計(jì)實(shí)現(xiàn)的系統(tǒng)滿足系統(tǒng)的需求。</p><p><b> 需求背景</b></p><p> 隨著網(wǎng)絡(luò)的發(fā)展,單一服務(wù)器已經(jīng)無(wú)法滿足企業(yè)需要,服務(wù)器集群已廣泛應(yīng)用。服務(wù)器部署,服務(wù)
46、器管理越來(lái)越重要。服務(wù)器監(jiān)控是服務(wù)器管理的前提,只有監(jiān)控了服務(wù)器運(yùn)行狀態(tài),才能合理部署服務(wù)器,調(diào)整服務(wù)器,均衡服務(wù)器,使服務(wù)器資源得到充分利用,避免出現(xiàn)服務(wù)器“過(guò)度饑飽”的情況。網(wǎng)絡(luò)中的服務(wù)器系統(tǒng)部署完成后,隨著時(shí)間的推移,系統(tǒng)的數(shù)據(jù)量和用戶量不斷增加,系統(tǒng)壓力越來(lái)越大,系統(tǒng)運(yùn)行速度越來(lái)越慢,客戶端用戶等待時(shí)間越來(lái)越長(zhǎng),有時(shí)甚至等待不到響應(yīng)。Windows 網(wǎng)絡(luò)服務(wù)系統(tǒng)自帶的服務(wù)器性能監(jiān)視工具只可以在本地監(jiān)視自身系統(tǒng),無(wú)法遠(yuǎn)程監(jiān)控其他服
47、務(wù)器,但現(xiàn)在的服務(wù)器不再單一,管理員需要同時(shí)監(jiān)控多個(gè)服務(wù)器,而且有時(shí)管理員有事離開(kāi),回來(lái)發(fā)現(xiàn)服務(wù)器癱瘓了,無(wú)法知道服務(wù)器癱瘓?jiān)颍虼诉€要求服務(wù)器監(jiān)控系統(tǒng)能提供查詢功能,查詢服務(wù)器過(guò)去一段時(shí)間的運(yùn)行狀態(tài)。</p><p> 服務(wù)器性能監(jiān)控技術(shù)已經(jīng)比較成熟了,只是沒(méi)有實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,不提供查詢功能,只是提供了日志,而沒(méi)有更詳細(xì)的記錄服務(wù)器過(guò)去一段時(shí)間的運(yùn)行狀態(tài)。目前云計(jì)算非常流行,幾大云計(jì)算公司都針對(duì)自己的云計(jì)算平
48、臺(tái)開(kāi)發(fā)了監(jiān)控系統(tǒng),比如盛大的“云監(jiān)控” ,亞馬遜的“AWS”等,這些監(jiān)控系統(tǒng)雖然功能很強(qiáng)大,但是系統(tǒng)太大,對(duì)于小企業(yè),小范圍內(nèi)的服務(wù)器群監(jiān)控不太適合,在小規(guī)模的服務(wù)器群遠(yuǎn)程監(jiān)控這一塊,市場(chǎng)幾乎是空白。雖然服務(wù)器群在朝著更大,更集中發(fā)展,但小規(guī)模的服務(wù)器群還將在未來(lái)一段時(shí)間長(zhǎng)久存在,而服務(wù)器的監(jiān)控則在任何大小的服務(wù)器群中都是必須的,因?yàn)榉?wù)器的監(jiān)控對(duì)服務(wù)器的調(diào)整至關(guān)重要。</p><p><b> 系統(tǒng)
49、總體的需求</b></p><p> 本系統(tǒng)主要實(shí)現(xiàn)服務(wù)器遠(yuǎn)程監(jiān)控功能。本系統(tǒng)的設(shè)計(jì)首先滿足服務(wù)器性能監(jiān)控的要求,同時(shí)要考慮到系統(tǒng)的可靠性,靈活性,方便管理員管理監(jiān)視服務(wù)器。服務(wù)器集群數(shù)量比較大,管理員需要同時(shí)監(jiān)控多個(gè)服務(wù)器,管理員可能有事離開(kāi),但監(jiān)視不停,之后可以查閱之前一段時(shí)間服務(wù)器的運(yùn)行狀態(tài)。直觀的顯示服務(wù)器運(yùn)行狀態(tài)便于管理員了解服務(wù)器的運(yùn)行情況。本系統(tǒng)正常運(yùn)行需要如下三個(gè)環(huán)節(jié):首先開(kāi)啟被監(jiān)控
50、服務(wù)器上的WindowsInfoMonitor服務(wù),其次開(kāi)啟中心服務(wù)器上的ShowWinInfo程序,最后打開(kāi)瀏覽器根據(jù)設(shè)定進(jìn)行監(jiān)控。本系統(tǒng)功能用組成如圖 3-1 所示。</p><p> 圖 3-1系統(tǒng)功能做成圖</p><p><b> 系統(tǒng)功能性需求分析</b></p><p> 本系統(tǒng)在功能上主要分為WindowsInfoMoni
51、tor服務(wù)和ShowWinInfo程序。WindowsInfoMonitor服務(wù)又分為獲取服務(wù)器性能和持久化數(shù)據(jù)兩大模塊。ShowWinInfo程序主要為查詢數(shù)據(jù)庫(kù)中存儲(chǔ)的持久化數(shù)據(jù),并且在瀏覽器中進(jìn)行顯示,這個(gè)是管理員最直接接觸到的。</p><p><b> 系統(tǒng)功能</b></p><p> 本系統(tǒng)的功能是服務(wù)器上WindowsInfoMonitor服務(wù)采集
52、服務(wù)器的運(yùn)行狀態(tài),然后發(fā)送給客戶端提供客戶端顯示,同時(shí)把性能參數(shù)存儲(chǔ)到服務(wù)器上的數(shù)據(jù)庫(kù)。遠(yuǎn)程監(jiān)控可以使得一個(gè)管理員可以在客戶端同時(shí)監(jiān)控幾臺(tái)服務(wù)器,中心服務(wù)器提供數(shù)據(jù)庫(kù),使得管理員可以查看過(guò)去一段時(shí)間服務(wù)器的運(yùn)行狀態(tài)。</p><p> WindowsInfoMonitor服務(wù)功能需求</p><p> WindowsInfoMonitor服務(wù)是安裝在服務(wù)器上,獲取服務(wù)器的性能參數(shù)。在服
53、務(wù)運(yùn)行時(shí)候需要向中心服務(wù)器注冊(cè)自己的服務(wù)器信息,包括服務(wù)器名和服務(wù)器的IP地址,注冊(cè)的目的是客戶端可以訪問(wèn)中心服務(wù)器獲取服務(wù)器的信息,和服務(wù)器進(jìn)行通信。WindowsInfoMonitor服務(wù)運(yùn)行后要實(shí)時(shí)監(jiān)聽(tīng)客戶端ShowWinInfo發(fā)來(lái)的監(jiān)控命令,包括開(kāi)始監(jiān)控,停止監(jiān)控等。根據(jù)命令控制服務(wù)器監(jiān)控線程的運(yùn)行。在監(jiān)控線程中,每隔一段時(shí)間獲取一次服務(wù)器的性能參數(shù),然后向中心服務(wù)器發(fā)送性能參數(shù),存入數(shù)據(jù)庫(kù),同時(shí)把性能參數(shù)發(fā)送給客戶端Show
54、WinInfo用于客戶端顯示。WindowsInfoMonitor服務(wù)功能用組成如圖3-3.</p><p> 圖3-3 WindowsInfoMonitor服務(wù)功能組成圖</p><p> ShowWinInfo客戶端程序功能需求</p><p> ShowWinInfo客戶端為架設(shè)在中心服務(wù)器上的以web技術(shù)為基礎(chǔ)的程序,管理員可以直接使用,發(fā)出監(jiān)控命令
55、,同時(shí)直觀顯示服務(wù)器的運(yùn)行狀態(tài)供管理員查看,分析調(diào)整服務(wù)器部署。ShowWinInfo客戶端在運(yùn)行時(shí)訪問(wèn)中心服務(wù)器上的數(shù)據(jù)庫(kù),獲取所存儲(chǔ)的服務(wù)器的信息,添加到服務(wù)器列表中,管理員可以選擇這些服務(wù)器進(jìn)行監(jiān)控。管理員可以通過(guò)添加性能計(jì)數(shù)器,移除性能計(jì)數(shù)器選擇要監(jiān)控的服務(wù)器性能參數(shù)。發(fā)送開(kāi)始監(jiān)控,停止監(jiān)控,更新,查詢過(guò)去一段時(shí)間的服務(wù)器的運(yùn)行狀態(tài)等命令,獲取服務(wù)器的性能參數(shù),再以直方圖型,線條,報(bào)告等形式顯示在瀏覽器窗口中。服務(wù)器的性能是實(shí)時(shí)
56、動(dòng)態(tài)顯示的,非常直觀。更新頻率決定了監(jiān)控的強(qiáng)度。更新間隔時(shí)間越短,監(jiān)控強(qiáng)度越大,能發(fā)現(xiàn)服務(wù)器出現(xiàn)的瞬間癱瘓?jiān)?。但不是更新時(shí)間越短越好,更新時(shí)間越短。服務(wù)器的開(kāi)銷越大。ShowWinInfo客戶端程序功能組成圖如3-4。</p><p> 圖3-4 ShowWinInfo客戶端程序功能組成圖</p><p> 系統(tǒng)非功能性需求分析</p><p> 系統(tǒng)的非
57、功能性需求,是指系統(tǒng)為滿足用戶業(yè)務(wù)需求而必須具有的妾除功能需求以外的特性。往往包括可靠性、易用性、效率、維護(hù)性、可移植性等。</p><p><b> 可靠性要求</b></p><p> 本系統(tǒng)要實(shí)現(xiàn)服務(wù)器性能的遠(yuǎn)程監(jiān)控,服務(wù)器的性能參數(shù)較多,同時(shí)一個(gè)管理員要能同時(shí)監(jiān)控多臺(tái)服務(wù)器,服務(wù)器性能的監(jiān)控過(guò)程是間隔一段時(shí)間獲取一次服務(wù)器的性能參數(shù),間隔時(shí)間太長(zhǎng)就失去了實(shí)
58、時(shí)監(jiān)控的效果,間隔時(shí)間一般在5S左右,一段時(shí)間內(nèi)產(chǎn)生的數(shù)據(jù)量比較大,對(duì)中心服務(wù)器上的數(shù)據(jù)庫(kù)是一個(gè)考驗(yàn),可靠性非常重要。在客戶端要實(shí)時(shí)顯示服務(wù)器運(yùn)行狀態(tài),較短時(shí)間內(nèi)處理較大量的數(shù)據(jù),軟件的壓力比較大,可靠性是非常重要的。</p><p><b> 易用性要求</b></p><p> 本系統(tǒng)目標(biāo)是把管理員從復(fù)雜的服務(wù)器監(jiān)控中解放出來(lái),因此要具有很好的易用性。服務(wù)器的
59、性能的參數(shù)很多,選擇必要的性能參數(shù),直觀的顯示給管理員,便于管理員分析然后調(diào)整服務(wù)器的部署,均衡服務(wù)器是非常必要的。管理員不一定對(duì)服務(wù)器的性能有很深的研究,因此易用性,直觀的顯示給管理員是本系統(tǒng)的要求。</p><p><b> 效率要求</b></p><p> 本系統(tǒng)是實(shí)時(shí)監(jiān)控,處理的數(shù)據(jù)量較大,效率很重要,要在間隔時(shí)間內(nèi)把數(shù)據(jù)發(fā)存入中心服務(wù)器的數(shù)據(jù)庫(kù),同時(shí)發(fā)
60、送到客戶端顯示,如果效率很低,則這次處理還未完成,下次數(shù)據(jù)已經(jīng)到來(lái),可能沖掉上一次的數(shù)據(jù),這要求系統(tǒng)的處理速度很快,同時(shí)間隔時(shí)間不能太短。還有隨時(shí)間的推移,中心服務(wù)器上數(shù)據(jù)庫(kù)的數(shù)據(jù)量逐漸增大,數(shù)據(jù)量可能太大,占滿磁盤空間,因此需要清除一部分?jǐn)?shù)據(jù),只保存一段時(shí)間內(nèi)的數(shù)據(jù)。</p><p><b> 可移植性要求</b></p><p> 由于本系統(tǒng)中的Windows
61、InfoMonitor是安裝在每個(gè)服務(wù)器上的,因此要有很好的移植性,便于WindowsInfoMonitor的安裝,運(yùn)行。</p><p><b> 系統(tǒng)開(kāi)發(fā)環(huán)境</b></p><p> 系統(tǒng)的開(kāi)發(fā)環(huán)境包括軟件環(huán)境和硬件環(huán)境兩部分。是開(kāi)發(fā)系統(tǒng)必備的環(huán)境。</p><p><b> 軟件環(huán)境</b></p>
62、;<p> 客戶端操作系統(tǒng)為Microsoft Windows 7及以上版本。</p><p> 服務(wù)器端和中心服務(wù)器端的操作系統(tǒng)為Windows Server 2000版本及以上版本。采用Windows系統(tǒng)是因?yàn)楸鞠到y(tǒng)是調(diào)用Sigar工具來(lái)獲取服務(wù)器的性能數(shù)據(jù)。</p><p> 數(shù)據(jù)庫(kù)操作系統(tǒng)為MySQL5.1。</p><p> 系統(tǒng)開(kāi)發(fā)
63、語(yǔ)言:JAVA程序設(shè)計(jì)語(yǔ)言。</p><p> 系統(tǒng)開(kāi)發(fā)工具:MyEclipse8.5及MySQL-Front工具。</p><p> 系統(tǒng)運(yùn)行環(huán)境:JDK1.6。</p><p><b> 硬件環(huán)境</b></p><p> 客戶機(jī)配置:建議采用Intel處理器(1.5GHz)以上、內(nèi)存2GB、硬盤100GB以
64、上。</p><p> 中心服務(wù)器配置:建議采用Intel雙核處理器(2.0GHz)、內(nèi)存2GB、硬盤150GB以上。</p><p> 服務(wù)器配置:建議采用Intel處理器(1.5GHz)以上、內(nèi)存2GB、硬盤100GB以上。</p><p><b> 本章小結(jié)</b></p><p> 本章先闡述了需求的背景
65、,然后對(duì)系統(tǒng)進(jìn)行了各方面的需求分析,主要包括:系統(tǒng)總體需求分析、系統(tǒng)功能性分析、系統(tǒng)非功能性需求分析。在系統(tǒng)的功能需求分析中對(duì)系統(tǒng)功能進(jìn)行了詳細(xì)化劃分,畫出了用例圖,并描述各個(gè)模塊的功能需求。在非功能性分析中對(duì)系統(tǒng)的可靠性、易用性、效率、可移植性需求進(jìn)行了分析。最后,對(duì)系統(tǒng)的開(kāi)發(fā)環(huán)境進(jìn)行簡(jiǎn)要的介紹。</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p> 本
66、章將主要是系統(tǒng)的設(shè)計(jì)階段。根據(jù)第三章的系統(tǒng)需求分析主要從系統(tǒng)的總體架構(gòu)、系統(tǒng)的功能模塊劃分、獨(dú)立模塊的設(shè)計(jì)以及數(shù)據(jù)模型的設(shè)計(jì)等方面對(duì)系統(tǒng)進(jìn)行了詳細(xì)設(shè)計(jì)。采用了Web服務(wù)技術(shù),使系統(tǒng)具有了松散耦合性,良好的擴(kuò)展性和可移植性特點(diǎn)。</p><p><b> 系統(tǒng)概述</b></p><p> WindowsInfoMonitor服務(wù)和ShowWinInfo程序組成了服
67、務(wù)器應(yīng)用監(jiān)控系統(tǒng)。WindowsInfoMonitor服務(wù)安裝在服務(wù)器上,獲取服務(wù)器的性能參數(shù)。ShowWinInfo程序是管理員操作端,所有的監(jiān)控命令都是由此發(fā)出,監(jiān)控到的服務(wù)器性能參數(shù)返回到瀏覽器中,在瀏覽器中動(dòng)態(tài)直觀的顯示服務(wù)器當(dāng)前的運(yùn)行狀態(tài)。</p><p><b> 系統(tǒng)總體架構(gòu)</b></p><p> 本系統(tǒng)主要實(shí)現(xiàn)服務(wù)器遠(yuǎn)程監(jiān)控功能。在一個(gè)客戶端瀏
68、覽器中可以同時(shí)監(jiān)控多臺(tái)服務(wù)器,服務(wù)器的性能參數(shù)上傳至中心服務(wù)器數(shù)據(jù)庫(kù)中,在客戶端可以訪問(wèn)中心服務(wù)器上的數(shù)據(jù)庫(kù),查詢服務(wù)器的性能參數(shù),并在客戶端動(dòng)態(tài)顯示。系統(tǒng)的總體架構(gòu)圖如下圖4-1。</p><p> 圖4-1 系統(tǒng)總體架構(gòu)圖</p><p><b> 劃分功能模塊</b></p><p> 本系統(tǒng)實(shí)現(xiàn)的服務(wù)器應(yīng)用監(jiān)控。實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。并
69、非本地監(jiān)控,但同時(shí)利用了sigar采集系統(tǒng)性能參數(shù),因此把服務(wù)器性能參數(shù)獲取放在服務(wù)器上,同時(shí)在中心服務(wù)器上保存服務(wù)器的性能參數(shù)及服務(wù)器信息。客戶端用于管理員操作,發(fā)送監(jiān)控命令,查看服務(wù)器運(yùn)行狀態(tài)。系統(tǒng)分為兩大模塊WindowsInfoMonitor服務(wù)模塊和ShowWinInfo程序模塊。系統(tǒng)的邏輯模塊圖如圖4-2所示。</p><p> 圖4-2 系統(tǒng)的邏輯模塊圖</p><p>
70、<b> 獨(dú)立模塊設(shè)計(jì)</b></p><p> WindowsInfoMonitor服務(wù)模塊設(shè)計(jì)</p><p> WindowsInfoMonitor服務(wù)模塊主要用于獲取服務(wù)器的性能參數(shù),并將服務(wù)器的性能參數(shù)發(fā)送到客戶端程序及存入中心服務(wù)器上的數(shù)據(jù)庫(kù)。服務(wù)性能參數(shù)的獲取是通過(guò)使用Sigar工具包。</p><p> 服務(wù)器的性能參數(shù)
71、根據(jù)性能對(duì)象分為操作系統(tǒng)、文件存儲(chǔ)、CPU_內(nèi)存、分區(qū)、磁盤I/O、TOP進(jìn)程、網(wǎng)卡流量、登錄用戶、用戶操作。</p><p> 操作系統(tǒng)對(duì)象的主要性能參數(shù)有設(shè)備ID、主機(jī)名稱、操作系統(tǒng)版本、操作系統(tǒng)內(nèi)核、開(kāi)機(jī)時(shí)間等。</p><p> 文件存儲(chǔ)對(duì)象的主要性能參數(shù)有設(shè)備ID、類別、文件存儲(chǔ)目錄、文件大小等。</p><p> CPU_內(nèi)存對(duì)象的主要性能參數(shù)有設(shè)
72、備ID、CPU個(gè)數(shù)、CPU主頻、CPU使用率、內(nèi)存總量、內(nèi)存使用數(shù)量、內(nèi)存剩余數(shù)量、內(nèi)存使用率等。</p><p> 分區(qū)對(duì)象的主要性能參數(shù)有設(shè)備ID、磁盤名稱、分區(qū)掛載點(diǎn)、分區(qū)名稱、分區(qū)總量、分區(qū)使用量、分區(qū)剩余量、分區(qū)使用率等。</p><p> 磁盤I/O對(duì)象的主要性能參數(shù)有設(shè)備ID、磁盤名稱、單位時(shí)間讀次數(shù)、單位時(shí)間寫次數(shù)。</p><p> TOP進(jìn)
73、程對(duì)象的主要性能參數(shù)有設(shè)備ID、進(jìn)程名、所屬用戶名、PID、虛擬內(nèi)存、常駐內(nèi)存、共享內(nèi)存、CPU使用率、運(yùn)行時(shí)間長(zhǎng)度等。</p><p> 網(wǎng)卡流量對(duì)象的主要性能參數(shù)有設(shè)備ID、網(wǎng)卡名稱、IP地址、單位時(shí)間流量、單位時(shí)間輸入丟包數(shù)、網(wǎng)卡流入使用率、單位時(shí)間流出量、單位時(shí)間丟包數(shù)、單位時(shí)間輸入錯(cuò)包數(shù)、網(wǎng)卡流出使用率等。</p><p> 登錄用戶對(duì)象的主要性能參數(shù)有設(shè)備ID、登陸用戶名、
74、登陸時(shí)間、客戶端IP。</p><p> 用戶操作對(duì)象的主要性能有登陸用戶名、登陸時(shí)間、客戶端IP、操作命令、退出時(shí)間等。</p><p> WindowsInfoMonitor服務(wù)模塊的運(yùn)行流程圖如4-3。</p><p> 圖4-3 WindowsInfoMonitor服務(wù)模塊的運(yùn)行流程圖</p><p> ShowWinInf
75、o客戶端程序設(shè)計(jì)</p><p> ShowWinInfo程序模塊主要是安裝在中心服務(wù)器,由管理員直接使用的模塊。管理員在瀏覽器中選擇要監(jiān)控的服務(wù)器,同時(shí)選擇要監(jiān)控的服務(wù)器性能參數(shù),點(diǎn)擊開(kāi)始監(jiān)控按鈕,開(kāi)始監(jiān)控。檢索數(shù)據(jù)庫(kù)中的服務(wù)器性能參數(shù),然后顯示在客戶端。管理員可以查看過(guò)去一段時(shí)間服務(wù)器的運(yùn)行狀態(tài)。為了方便管理員查看服務(wù)器的運(yùn)行狀態(tài),頁(yè)面顯示部分使用Highcharts控件,顯示效果為餅形圖,直方圖線條等。S
76、howWinInfo程序的運(yùn)行流程圖如圖4-4。</p><p> 圖4-4 ShowWinInfo程序的運(yùn)行流程圖</p><p><b> 數(shù)據(jù)模型設(shè)計(jì)</b></p><p> 本系統(tǒng)主要是在中心服務(wù)器上需要保存數(shù)據(jù),以便客戶端查詢。需要保存的數(shù)據(jù)包括兩部分:服務(wù)器的信息和服務(wù)器性能參數(shù)。</p><p>
77、 服務(wù)器的性能參數(shù)較多,而且每隔一段時(shí)間就會(huì)增加新的信息,因此采用MySQL數(shù)據(jù)庫(kù)來(lái)管理服務(wù)器性能參數(shù)數(shù)據(jù)。采用數(shù)據(jù)庫(kù)數(shù)據(jù)的插入,查詢就變得非常容易了。由于本系統(tǒng)實(shí)現(xiàn)的是同時(shí)監(jiān)控多臺(tái)服務(wù)器,因此對(duì)應(yīng)于每個(gè)服務(wù)器建立一張表,以服務(wù)器的名字作為ID名。由于服務(wù)器的性能參數(shù)都一樣,所以每個(gè)表的字段都是一樣的。表內(nèi)的字段為服務(wù)器的性能參數(shù)。由于需要采集的信息比較多,所以分類型分別制定表的結(jié)構(gòu)為操作系統(tǒng)(sbcj_czxt)、文件存儲(chǔ)(sbcj
78、_wjcc)、CPU_內(nèi)存(sbcj_cpu_nc)、分區(qū)(sbcj_fq)、磁盤I/O(sbcj_cpio)、TOP進(jìn)程(sbcj_top)、網(wǎng)卡流量(sbcj_wkll)、登錄用戶(sbcj_dlyh)、用戶操作(sbcj_yhcz)、狀態(tài)總結(jié)(sbcj_ztzj)。各表詳細(xì)分布如下:</p><p> 操作系統(tǒng)表詳見(jiàn)表4-1;</p><p> 文件存儲(chǔ)表詳見(jiàn)表4-2;</
79、p><p> 表4-1操作系統(tǒng)(sbcj_czxt)</p><p> 表4-2 文件存儲(chǔ)(sbcj_wjcc)</p><p><b> 本章小結(jié)</b></p><p> 本章是對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),先對(duì)系統(tǒng)進(jìn)行了整體性概述,設(shè)計(jì)系統(tǒng)整體架構(gòu),然后進(jìn)行系統(tǒng)功能性模塊化劃分,合理的劃分出兩大模塊,并對(duì)兩大模塊進(jìn)行更一步的
80、設(shè)計(jì),最后,進(jìn)行了詳細(xì)的數(shù)據(jù)庫(kù)表模型設(shè)計(jì)。</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p> 本章將主要編程實(shí)現(xiàn)系統(tǒng)。在第四章系統(tǒng)設(shè)計(jì)的基礎(chǔ)上編程實(shí)現(xiàn)系統(tǒng)。按照第四章的功能模塊劃分,本章首先實(shí)現(xiàn)獨(dú)立功能模塊,然后是模塊間的數(shù)據(jù)通信,整個(gè)系統(tǒng)整合運(yùn)行起來(lái)。</p><p> 系統(tǒng)實(shí)現(xiàn)首先獨(dú)立功能模塊的實(shí)現(xiàn),然后實(shí)現(xiàn)獨(dú)立功能模塊間
81、的通信,使獨(dú)立功能模塊組合連接起來(lái)形成系統(tǒng)。</p><p> WindowsInfoMonitor服務(wù)實(shí)現(xiàn)</p><p> WindowsInfoMonitor服務(wù)要實(shí)現(xiàn)的功能主要包括以下幾個(gè)方面:</p><p> 獲取服務(wù)器的性能參數(shù)。</p><p> 向指定數(shù)據(jù)庫(kù)持久化服務(wù)器性能參數(shù)</p><p>
82、; 獲取服務(wù)器的性能參數(shù)</p><p> WindowsInfoMonito服務(wù)獲取服務(wù)器的性能參數(shù)是通過(guò)調(diào)用Sigar工具來(lái)實(shí)現(xiàn)。</p><p> 采集服務(wù)器操作系統(tǒng)信息,可獲取到服務(wù)器主機(jī)名稱,操作系統(tǒng)版本,操作系統(tǒng)內(nèi)核,調(diào)用sigar中g(shù)etenv()方法得到數(shù)據(jù),部分代碼如下:</p><p><b> //操作系統(tǒng)</b>
83、</p><p> public void Czxt(){</p><p> sbcj_czxt czxtVO = new sbcj_czxt(); </p><p><b> //獲取主機(jī)名稱</b></p><p> Map<String, String> map = System
84、.getenv();</p><p> String Zjmc = map.get("COMPUTERNAME"); </p><p> //獲取操作系統(tǒng)版本</p><p> Properties props = System.getProperties(); </p><p> String C
85、zxtbb = props.getProperty("os.name");</p><p> //操作系統(tǒng)內(nèi)核</p><p> String Czxtnh = props.getProperty("os.arch");</p><p> czxtVO.setZjmc(Zjmc);</p><p
86、> czxtVO.setCzxtbb(Czxtbb);</p><p> czxtVO.setCzxtnh(Czxtnh);</p><p> dao.addSbcj_czxt(czxtVO);</p><p><b> }</b></p><p> 采集服務(wù)器文件存儲(chǔ)信息,可獲取到盤符類型,文件存儲(chǔ)
87、目錄,文件大小,調(diào)用sigar中g(shù)etFileSystemList()方法得到數(shù)據(jù),部分代碼如下:</p><p><b> //文件存儲(chǔ)</b></p><p> public void Wjcc() throws SigarException{</p><p> Sigar sigar = new Sigar();</p>
88、;<p> FileSystem fslist[] = sigar.getFileSystemList();</p><p> for(int i=0;i<fslist.length;i++){</p><p> sbcj_wjcc wjccVO = new sbcj_wjcc();</p><p> FileSystem fs = fs
89、list[i];</p><p><b> //獲取盤符類型</b></p><p> String Lb = fs.getSysTypeName();</p><p><b> //文件存儲(chǔ)目錄</b></p><p> String Wjccml = fs.getDirName();&l
90、t;/p><p><b> //文件大小</b></p><p> long Wjdx = 0;</p><p> if(!(fs.getSysTypeName()).equals("cdrom")){</p><p> FileSystemUsage usage = null;</p
91、><p> usage = sigar.getFileSystemUsage(fs.getDirName());</p><p> switch (fs.getType()) {</p><p> case 0: // TYPE_UNKNOWN :未知</p><p><b> break;</b></p>
92、;<p> case 1: // TYPE_NONE</p><p><b> break;</b></p><p><b> case 2: </b></p><p> Wjdx = usage.getTotal()/1024;</p><p><b> }<
93、;/b></p><p><b> }</b></p><p> wjccVO.setLb(Lb);</p><p> wjccVO.setWjccml(Wjccml);</p><p> wjccVO.setWjdx(Wjdx);</p><p> dao.addSbcj_wjc
94、c(wjccVO);</p><p><b> }</b></p><p><b> }</b></p><p> 采集服務(wù)器CPU內(nèi)存信息,可獲取CPU個(gè)數(shù),CPU主頻,調(diào)用sigar中g(shù)etCpuInfoList()方法得到數(shù)據(jù),部分代碼如下:</p><p><b> //C
95、PU內(nèi)存</b></p><p> public void CPU_nc() throws SigarException{</p><p> sbcj_cpu_nc cpu_ncVO= new sbcj_cpu_nc(); </p><p> Sigar sigar = new Sigar();</p><p> CpuI
96、nfo infos[] = sigar.getCpuInfoList();</p><p><b> //獲取CPU個(gè)數(shù)</b></p><p> int Gs = infos.length;</p><p><b> //獲取CPU主頻</b></p><p> long zp = 0;&
97、lt;/p><p> for (int i = 0; i < infos.length; i++) {</p><p> CpuInfo info = infos[i];</p><p> zp += info.getMhz();</p><p><b> }</b></p><p>
98、; Mem mem = sigar.getMem();</p><p> long Zl = mem.getTotal() / 1024L/1024;</p><p> long Sysl = mem.getUsed() / 1024L/1024;</p><p> long Ncsy = mem.getFree() / 1024L/1024;</p&
99、gt;<p> float Nc_Syl = Sysl/Zl;</p><p> cpu_ncVO.setGs(Gs);</p><p> cpu_ncVO.setZp(zp+"");</p><p> cpu_ncVO.setZl(Zl);</p><p> cpu_ncVO.setSysl(Sy
100、sl);</p><p> cpu_ncVO.setNcsy(Ncsy);</p><p> cpu_ncVO.setNc_Syl(Nc_Syl);</p><p> dao.addSbcj_cpu_nc(cpu_ncVO);</p><p><b> }</b></p><p>
101、采集服務(wù)器磁盤I/O信息,可獲取磁盤名稱,單位時(shí)間讀次數(shù),單位時(shí)間寫次數(shù),調(diào)用sigar中g(shù)etFileSystemList ()方法得到數(shù)據(jù),部分代碼如下: </p><p><b> //磁盤I/O</b></p><p> public void Cpio() throws SigarException{ </p><p&g
102、t; Sigar sigar = new Sigar();</p><p> FileSystem fslist[] = sigar.getFileSystemList();</p><p> for(int i=0;i<fslist.length;i++){</p><p> sbcj_cpio cpioVO = new sbcj_cpio();&l
103、t;/p><p> FileSystem fs = fslist[i];</p><p> if(!(fs.getSysTypeName()).equals("cdrom")){</p><p><b> //獲取磁盤名稱</b></p><p> String Cpmc = fs.getD
104、evName();</p><p> FileSystemUsage usage = null;</p><p> usage = sigar.getFileSystemUsage(fs.getDirName());</p><p> //獲取單位時(shí)間讀次數(shù)</p><p> float Dcs = usage.getDiskRead
105、s();</p><p> //獲取單位時(shí)間寫次數(shù)</p><p> float Xcs = usage.getDiskWrites();</p><p> cpioVO.setCpmc(Cpmc);</p><p> cpioVO.setDcs(Dcs);</p><p> cpioVO.setXcs(Xc
106、s);</p><p> dao.addSbcj_cpio(cpioVO);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 采集服務(wù)器網(wǎng)卡流量信息,可獲
107、取網(wǎng)卡名稱,IP地址,單位時(shí)間流入量,單位時(shí)間輸入丟包數(shù),單位時(shí)間輸入錯(cuò)包數(shù),單位時(shí)間輸入錯(cuò)包數(shù),單位時(shí)間流出量,單位時(shí)間輸出丟包數(shù),單位時(shí)間輸出錯(cuò)包數(shù),調(diào)用sigar中g(shù)etNetInterfaceList()方法得到數(shù)據(jù),部分代碼如下:</p><p><b> //網(wǎng)卡流量</b></p><p> public void Wkll() throws Sig
108、arException{</p><p> sbcj_wkll wkllVO = new sbcj_wkll();</p><p> Sigar sigar = new Sigar();</p><p> String ifNames[] = sigar.getNetInterfaceList();</p><p> for(int
109、i = 0;i<ifNames.length;i++){</p><p><b> //獲取網(wǎng)卡名稱</b></p><p> String name = ifNames[i];</p><p> NetInterfaceConfig ifconfig = sigar.getNetInt
110、erfaceConfig(name);</p><p><b> //獲取IP地址</b></p><p> String IP = ifconfig.getAddress();</p><p> NetInterfaceStat ifstat = sigar.getNetInterfaceStat(name);</p>&
111、lt;p> //獲取單位時(shí)間流入量</p><p> long Lrl = ifstat.getRxBytes();</p><p> //獲取單位時(shí)間輸入丟包數(shù)</p><p> long Srdbs = ifstat.getRxDropped();</p><p> //獲取單位時(shí)間輸入錯(cuò)包數(shù);</p>&l
112、t;p> long Srcbs = ifstat.getRxErrors();</p><p> //獲取單位時(shí)間流出量</p><p> long Lcl = ifstat.getTxBytes();</p><p> //獲取單位時(shí)間輸出丟包數(shù)</p><p> long Scdbs = ifstat.getTxDropp
113、ed();</p><p> //獲取單位時(shí)間輸出錯(cuò)包數(shù)</p><p> long Sccbs = ifstat.getTxErrors();</p><p> dao.addSbcj_wkll(wkllVO);</p><p><b> }</b></p><p><b>
114、 }</b></p><p> 采集服務(wù)器登錄用戶信息,可獲取登陸用戶名,登錄用戶IP,調(diào)用sigar中g(shù)etenv ()方法得到數(shù)據(jù),部分代碼如下:</p><p><b> //登錄用戶</b></p><p> public void Dlyh() throws UnknownHostException{</p&g
115、t;<p> sbcj_dlyh dlyhVO = new sbcj_dlyh(); //登錄用戶</p><p> Map<String, String> map = System.getenv();</p><p> String Yhm = map.get("USERNAME"); // 獲取用戶
116、名</p><p> InetAddress addr;</p><p> addr = InetAddress.getLocalHost();</p><p> String IP = addr.getHostAddress(); //獲取IP</p><p> dlyhVO.setYhm(Yhm);</p&
117、gt;<p> dlyhVO.setIP(IP);</p><p> dao.addSbcj_dlyh(dlyhVO);</p><p><b> }</b></p><p> 采集服務(wù)器用戶操作信息,調(diào)用sigar中g(shù)etenv ()方法得到數(shù)據(jù),部分代碼如下:</p><p><b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 火災(zāi)監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)---供暖鍋爐監(jiān)控系統(tǒng)設(shè)計(jì)
- 網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控及管理系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)--畢業(yè)設(shè)計(jì)管理系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)
- 結(jié)晶器畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 再沸器畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 攪拌器畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 液壓系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)—
- 電子計(jì)分器畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 高樓逃生器畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)任務(wù)分發(fā)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 論壇系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 空調(diào)系統(tǒng)設(shè)計(jì) 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 財(cái)務(wù)系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 空調(diào)系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)--離合器設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)---離合器設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 攤鋪機(jī)液壓系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論