服務(wù)器應(yīng)用監(jiān)控系統(tǒng)畢業(yè)設(shè)計說明書_第1頁
已閱讀1頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  畢 業(yè) 設(shè) 計</b></p><p>  題  目:  服務(wù)器應(yīng)用監(jiān)控系統(tǒng)</p><p>  院、 系: 計算機(jī)科學(xué)與技術(shù)學(xué)院 計算機(jī)系</p><p><b>  任務(wù)書</b></p><p> 學(xué)生姓名:

2、 學(xué)號:</p><p> 學(xué) 院:計算機(jī)科學(xué)與技術(shù) 專業(yè):計算機(jī)科學(xué)與技術(shù)</p><p> 任務(wù)起止時間: </p><p> 畢業(yè)設(shè)計(論文)題目:服務(wù)器應(yīng)用監(jiān)控系統(tǒng)</p><p> 畢業(yè)設(shè)計工作內(nèi)容: 收集資料    3.1  — 3.20確定主題 3.21 — 4.

3、1規(guī)劃后臺與網(wǎng)站 4.1 — 4.2選擇合適的制作工具 4.20 — 5.10實(shí)現(xiàn)設(shè)計 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、計原理 作者:William Stallings,出版社:機(jī)械工業(yè)出版社</p><p> 指導(dǎo)教師意見:簽名:年 月 日系主任意見:簽名:年 月 日</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)再無法滿足企業(yè)的需求。網(wǎng)絡(luò)和應(yīng)用規(guī)模日趨擴(kuò)大,服務(wù)器網(wǎng)絡(luò)集群大量應(yīng)用于中、小型企業(yè)中,服務(wù)器性能監(jiān)控和日常維護(hù)變得復(fù)雜。服務(wù)器管理員迫切需要一個實(shí)用的監(jiān)控系統(tǒng)來幫助他們實(shí)時了解服務(wù)器的運(yùn)行狀態(tài),檢測服務(wù)器故障,令維護(hù)服務(wù)器的正常運(yùn)行。</p><p>  服務(wù)器性能監(jiān)控是指針對服務(wù)器系統(tǒng)的運(yùn)行狀態(tài)以及各項指標(biāo)的監(jiān)控。監(jiān)控指標(biāo)包括:CPU 使用率、CPU 負(fù)載、內(nèi)

6、存使用率、磁盤 I/O、磁盤空間、網(wǎng)絡(luò)流量等。并實(shí)時的將監(jiān)控獲得的服務(wù)器性能參數(shù)傳回來顯示在客戶端,同時上傳至中心服務(wù)器上的數(shù)據(jù)庫中,便于以后查詢,分析。</p><p>  本文圍繞服務(wù)器應(yīng)用性能監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn),研究了Web服務(wù)技術(shù),服務(wù)器的性能參數(shù)獲取和利用Char組件動態(tài)顯示服務(wù)器的運(yùn)行狀態(tài)。Web服務(wù)的使用簡化了客戶端系統(tǒng),服務(wù)器的性能參數(shù)獲取過程封裝在一個Windows進(jìn)程中,系統(tǒng)具有很好的擴(kuò)展性

7、。系統(tǒng)的實(shí)現(xiàn)目標(biāo)是服務(wù)器性能的遠(yuǎn)程監(jiān)控,一對多監(jiān)控,服務(wù)器管理員可以查看服務(wù)器歷史一段時間運(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 國內(nèi)外文獻(xiàn)綜述5</p><p>  1.3 論文研究內(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性能計數(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)開發(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è)計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è)計15</p><p>  4.4.1 WindowsInfoMonitor服務(wù)模塊設(shè)計15</p><p>  4.4.2 ShowWinInfo客戶端程序設(shè)計17</p><p>  4.5 數(shù)據(jù)模型設(shè)計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ù)庫持久化服務(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 前臺展示業(yè)務(wù)核心代碼49<

25、/p><p><b>  緒論</b></p><p><b>  選題目的和意義</b></p><p>  在網(wǎng)絡(luò)中部署的服務(wù)器系統(tǒng),隨著時間的推移,系統(tǒng)中的用戶數(shù)量和數(shù)據(jù)量不斷增加,系統(tǒng)壓力越來越大,系統(tǒng)速度越來越慢,對客戶端的響應(yīng)時間越來越長,有時服務(wù)器甚至?xí)V狗?wù),無法響應(yīng)用戶請求,從而使整個網(wǎng)絡(luò)陷入癱瘓。面對這樣

26、的情況,網(wǎng)絡(luò)管理員總希望在第一時間找到問題出在哪里,而往往由于缺少必要的分析和診斷工具,無法迅速找到到底是CPU,內(nèi)存,磁盤,網(wǎng)絡(luò)等哪個部分出了問題,是硬件配置較低需要升級設(shè)備,還是受到木馬攻擊,被木馬搶占了資源。如何監(jiān)控和解決服務(wù)器性能問題,成為管理員面臨的最棘手的問題。尤其是隨著互聯(lián)網(wǎng)絡(luò)的發(fā)展,單一的服務(wù)器已經(jīng)無法滿足企業(yè)需求,大規(guī)模的服務(wù)器集群得到廣泛應(yīng)用,云計算發(fā)展勢頭迅猛,如何調(diào)整服務(wù)器部署,均衡負(fù)載,使服務(wù)器資源得到充分利用

27、,大大提高資源的利用率成為最重要的關(guān)注點(diǎn)。服務(wù)器的性能監(jiān)控顯得越來越重要了。</p><p><b>  國內(nèi)外文獻(xiàn)綜述</b></p><p>  當(dāng)前,企業(yè)信息化規(guī)模越來越大,水平不斷提高,如何維護(hù)并有效管理這些資源,已經(jīng)成為企業(yè)信息化過程中面臨的嚴(yán)峻問題和關(guān)注的焦點(diǎn)。在對這些資源的管理中,服務(wù)器是核心設(shè)備,對它的管理至關(guān)重要。Windows服務(wù)在企業(yè)中應(yīng)用十分廣

28、泛,對其性能進(jìn)行管理非常必要。Windows服務(wù)器自帶有性能管理功能,但只能在本機(jī)上才能查看其運(yùn)行情況。而且只能實(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。相比較而言,國外產(chǎn)品功能強(qiáng)大,但價格昂貴,操作界面不符合中國人習(xí)慣;而國內(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é)果來判定企業(yè)應(yīng)用的工作情況,可以查看數(shù)據(jù)庫內(nèi)的監(jiān)控數(shù)據(jù),分析出服務(wù)器的性能,便于服務(wù)器的部署,使資源得

30、到更有效更充分的利用。</p><p>  未來服務(wù)器不再是傳統(tǒng)的單服務(wù)器,而是由多個服務(wù)器構(gòu)成的服務(wù)器群。對于服務(wù)器群來說,服務(wù)器的管理變得更加重要。合理的利用資源,使所有服務(wù)器資源得到最大化利用,不僅僅可以節(jié)約硬件上的成本,同時可以加快服務(wù)器的響應(yīng)速度,提高服務(wù)器的吞吐量,而要實(shí)現(xiàn)服務(wù)器的管理,依據(jù)的就是服務(wù)器的性能,了解單服務(wù)器的性能,均衡服務(wù)器,避免服務(wù)器出現(xiàn)“饑飽過度”。服務(wù)器應(yīng)用性能監(jiān)控將在提高服務(wù)器

31、性能方面發(fā)揮重大作用。</p><p><b>  論文研究內(nèi)容</b></p><p>  本課題主要研究服務(wù)器應(yīng)用的性能監(jiān)控,獲取服務(wù)器的性能參數(shù),保存至數(shù)據(jù)庫并且顯示,提供用戶可以查看過去一段時間服務(wù)器的運(yùn)行狀態(tài)。具體內(nèi)容包括以下幾個方面:</p><p>  獲取服務(wù)器的性能參數(shù):設(shè)計一個組件WindowsInfoMonitor,Win

32、dowsInfoMonitor是一個Windows下進(jìn)行的線程,里面使用Sigar獲取服務(wù)器的性能,包括CPU的利用率,內(nèi)存的占用率,磁盤I/O的數(shù)據(jù)傳輸速度,網(wǎng)絡(luò)帶寬等信息。</p><p>  服務(wù)器性能數(shù)據(jù)上傳至中心服務(wù)器數(shù)據(jù)庫:通過在中心服務(wù)器安裝的WebService提供的借口,將服務(wù)器的性能數(shù)據(jù)上傳到中心服務(wù)器的數(shù)據(jù)庫中。</p><p>  客戶端從中心服務(wù)器數(shù)據(jù)庫提取數(shù)據(jù):

33、客戶端通過在中心服務(wù)器安裝的WebService提供的接口,獲取數(shù)據(jù)庫內(nèi)服務(wù)器的性能數(shù)據(jù)。</p><p>  服務(wù)器性能參數(shù)在客戶端界面上的顯示:使用Jsp技術(shù)和Highcharts控件將服務(wù)器的性能數(shù)據(jù)顯示在客戶端界面上,用繪制曲線圖,直方圖條或者文字報告等形式展示,直觀的向用戶展示服務(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ù)器上,大大簡化客戶端操作。</p><p><b>  服務(wù)器應(yīng)用性能監(jiān)控</b></p><p>  服務(wù)器性能監(jiān)控是指針對服務(wù)器系統(tǒng)的運(yùn)行狀態(tài)以及各項指標(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ī)通過網(wǎng)絡(luò)系統(tǒng)Internet/Intranet,對遠(yuǎn)程服務(wù)器進(jìn)行監(jiān)控和控制。并實(shí)時的將監(jiān)控獲得的服務(wù)器性能參數(shù)傳回來顯示在客戶端,同時上傳至中心服務(wù)器上的數(shù)據(jù)庫中,便于以后查詢,分析。 </p><p>  服務(wù)器性能監(jiān)控技術(shù)目前比較成熟,并且應(yīng)用在調(diào)整服務(wù)器部署中。服務(wù)器的穩(wěn)定性及其性能資源利用狀態(tài)需要長時間的累計服

36、務(wù)器相關(guān)數(shù)據(jù),然后進(jìn)行分析,最后得出正確結(jié)論。可以針對所有設(shè)備的 CPU 負(fù)載、內(nèi)存利用率等進(jìn)行全網(wǎng)記錄。也可以對單獨(dú)的應(yīng)用服務(wù)器等進(jìn)行記錄。 </p><p>  服務(wù)器的網(wǎng)絡(luò)流量來自服務(wù)器與外界的數(shù)據(jù)交換。這個流量包括了正常的應(yīng)用程序與外界的數(shù)據(jù)交換,也包括了非法服務(wù)或進(jìn)程(例如病毒)產(chǎn)生的數(shù)據(jù)量。定期分析一段時間來的服務(wù)器網(wǎng)卡流量,可以發(fā)現(xiàn)是否有不正常的變化,如突然增高或突然很低,這對檢查服務(wù)器的運(yùn)行狀態(tài)很

37、有幫助。 </p><p>  對應(yīng)用服務(wù)器的性能資源進(jìn)行記錄,幫助管理人員根據(jù)這些統(tǒng)計結(jié)果分析出這些設(shè)備的主要運(yùn)行參數(shù)的變化規(guī)律,從而為正確評定用戶網(wǎng)絡(luò)設(shè)備的承載能力提供依據(jù)。另外,如果必要的話,也可以對所有的服務(wù)器連接線路的流量指標(biāo)進(jìn)行記錄,以便對整個網(wǎng)絡(luò)的流量分布全面了解,以確定網(wǎng)絡(luò)的瓶頸,為今后的網(wǎng)絡(luò)擴(kuò)容提供依據(jù)。 </p><p><b>  服務(wù)器性能參數(shù)獲取<

38、/b></p><p>  服務(wù)器性能參數(shù)獲取是指通過一定的方法,獲取服務(wù)器的性能指標(biāo)的過程。服務(wù)器的性能指標(biāo)包括CPU使用率、內(nèi)存使用率、磁盤I/O、磁盤空間、網(wǎng)絡(luò)流量等。Java語言下服務(wù)器性能參數(shù)選擇利用sigar控件和Windows性能計數(shù)器。</p><p><b>  使用Sigar</b></p><p>  Sigar是英

39、文System Information Gatherer And Reporter的簡寫,中文意思是系統(tǒng)信息采集者,是一個開源的工具,提供了跨平臺的系統(tǒng)信息收集的API,由C語言實(shí)現(xiàn)的。</p><p>  可以收集的信息包括:</p><p>  CPU信息,包括基本信息(vendor、model、mhz、cacheSize)和統(tǒng)計信息(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)程信息,包括每個進(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)行時間以及負(fù)載,JAVA的版本信息等;&l

42、t;/p><p>  使用Windows性能計數(shù)器</p><p>  服務(wù)器性能監(jiān)視,是Windows NT提供的一種系統(tǒng)功能。Windows NT一直以來總是集成了性能監(jiān)視工具,它提供了有關(guān)操作系統(tǒng)當(dāng)前運(yùn)行狀況的信息,針對各種對象提供了數(shù)百個性能計數(shù)器,在本地計算機(jī)可以打開管理工具,選擇性能監(jiān)視器,點(diǎn)擊添加計數(shù)器按鈕,可以查看Windows NT具體提供了哪些性能計數(shù)器,同時可以查看性能監(jiān)

43、視對象,對象實(shí)例等。性能計數(shù)器能實(shí)時采集系統(tǒng)內(nèi)的應(yīng)用程序、服務(wù)、驅(qū)動程序等的性能數(shù)據(jù),以此來分析系統(tǒng)的瓶頸,最終幫助用戶進(jìn)行系統(tǒng)的合理調(diào)配。通過編寫程序可以訪問所有的Windows性能計數(shù)器,通過計數(shù)器可以獲得服務(wù)器的性能參數(shù)。</p><p><b>  Web服務(wù)概述</b></p><p>  Web服務(wù)(Web Service)是一種實(shí)現(xiàn)Internet環(huán)境下

44、組建開發(fā)的技術(shù)。目標(biāo)是把全世界的Internet/Intranet變成一個虛擬計算環(huán)境,實(shí)現(xiàn)跨平臺的可操作性。</p><p><b>  本章小結(jié)</b></p><p>  本章主要對服務(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>  本章將主要對系統(tǒng)的需求進(jìn)行分析。主要從系統(tǒng)的功能性需求和非功能性需求進(jìn)行深入細(xì)致的分析。對系統(tǒng)需求進(jìn)行全面細(xì)致的分析是系統(tǒng)快速高效開發(fā)的前提,才能保證設(shè)計實(shí)現(xiàn)的系統(tǒng)滿足系統(tǒng)的需求。</p><p><b>  需求背景</b></p><p>  隨著網(wǎng)絡(luò)的發(fā)展,單一服務(wù)器已經(jīng)無法滿足企業(yè)需要,服務(wù)器集群已廣泛應(yīng)用。服務(wù)器部署,服務(wù)

46、器管理越來越重要。服務(wù)器監(jiān)控是服務(wù)器管理的前提,只有監(jiān)控了服務(wù)器運(yùn)行狀態(tài),才能合理部署服務(wù)器,調(diào)整服務(wù)器,均衡服務(wù)器,使服務(wù)器資源得到充分利用,避免出現(xiàn)服務(wù)器“過度饑飽”的情況。網(wǎng)絡(luò)中的服務(wù)器系統(tǒng)部署完成后,隨著時間的推移,系統(tǒng)的數(shù)據(jù)量和用戶量不斷增加,系統(tǒng)壓力越來越大,系統(tǒng)運(yùn)行速度越來越慢,客戶端用戶等待時間越來越長,有時甚至等待不到響應(yīng)。Windows 網(wǎng)絡(luò)服務(wù)系統(tǒng)自帶的服務(wù)器性能監(jiān)視工具只可以在本地監(jiān)視自身系統(tǒng),無法遠(yuǎn)程監(jiān)控其他服

47、務(wù)器,但現(xiàn)在的服務(wù)器不再單一,管理員需要同時監(jiān)控多個服務(wù)器,而且有時管理員有事離開,回來發(fā)現(xiàn)服務(wù)器癱瘓了,無法知道服務(wù)器癱瘓原因,因此還要求服務(wù)器監(jiān)控系統(tǒng)能提供查詢功能,查詢服務(wù)器過去一段時間的運(yùn)行狀態(tài)。</p><p>  服務(wù)器性能監(jiān)控技術(shù)已經(jīng)比較成熟了,只是沒有實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,不提供查詢功能,只是提供了日志,而沒有更詳細(xì)的記錄服務(wù)器過去一段時間的運(yùn)行狀態(tài)。目前云計算非常流行,幾大云計算公司都針對自己的云計算平

48、臺開發(fā)了監(jiān)控系統(tǒng),比如盛大的“云監(jiān)控” ,亞馬遜的“AWS”等,這些監(jiān)控系統(tǒng)雖然功能很強(qiáng)大,但是系統(tǒng)太大,對于小企業(yè),小范圍內(nèi)的服務(wù)器群監(jiān)控不太適合,在小規(guī)模的服務(wù)器群遠(yuǎn)程監(jiān)控這一塊,市場幾乎是空白。雖然服務(wù)器群在朝著更大,更集中發(fā)展,但小規(guī)模的服務(wù)器群還將在未來一段時間長久存在,而服務(wù)器的監(jiān)控則在任何大小的服務(wù)器群中都是必須的,因為服務(wù)器的監(jiān)控對服務(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è)計首先滿足服務(wù)器性能監(jiān)控的要求,同時要考慮到系統(tǒng)的可靠性,靈活性,方便管理員管理監(jiān)視服務(wù)器。服務(wù)器集群數(shù)量比較大,管理員需要同時監(jiān)控多個服務(wù)器,管理員可能有事離開,但監(jiān)視不停,之后可以查閱之前一段時間服務(wù)器的運(yùn)行狀態(tài)。直觀的顯示服務(wù)器運(yùn)行狀態(tài)便于管理員了解服務(wù)器的運(yùn)行情況。本系統(tǒng)正常運(yùn)行需要如下三個環(huán)節(jié):首先開啟被監(jiān)控

50、服務(wù)器上的WindowsInfoMonitor服務(wù),其次開啟中心服務(wù)器上的ShowWinInfo程序,最后打開瀏覽器根據(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ù)庫中存儲的持久化數(shù)據(jù),并且在瀏覽器中進(jìn)行顯示,這個是管理員最直接接觸到的。</p><p><b>  系統(tǒng)功能</b></p><p>  本系統(tǒng)的功能是服務(wù)器上WindowsInfoMonitor服務(wù)采集

52、服務(wù)器的運(yùn)行狀態(tài),然后發(fā)送給客戶端提供客戶端顯示,同時把性能參數(shù)存儲到服務(wù)器上的數(shù)據(jù)庫。遠(yuǎn)程監(jiān)控可以使得一個管理員可以在客戶端同時監(jiān)控幾臺服務(wù)器,中心服務(wù)器提供數(shù)據(jù)庫,使得管理員可以查看過去一段時間服務(wù)器的運(yùn)行狀態(tài)。</p><p>  WindowsInfoMonitor服務(wù)功能需求</p><p>  WindowsInfoMonitor服務(wù)是安裝在服務(wù)器上,獲取服務(wù)器的性能參數(shù)。在服

53、務(wù)運(yùn)行時候需要向中心服務(wù)器注冊自己的服務(wù)器信息,包括服務(wù)器名和服務(wù)器的IP地址,注冊的目的是客戶端可以訪問中心服務(wù)器獲取服務(wù)器的信息,和服務(wù)器進(jìn)行通信。WindowsInfoMonitor服務(wù)運(yùn)行后要實(shí)時監(jiān)聽客戶端ShowWinInfo發(fā)來的監(jiān)控命令,包括開始監(jiān)控,停止監(jiān)控等。根據(jù)命令控制服務(wù)器監(jiān)控線程的運(yùn)行。在監(jiān)控線程中,每隔一段時間獲取一次服務(wù)器的性能參數(shù),然后向中心服務(wù)器發(fā)送性能參數(shù),存入數(shù)據(jù)庫,同時把性能參數(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、,同時直觀顯示服務(wù)器的運(yùn)行狀態(tài)供管理員查看,分析調(diào)整服務(wù)器部署。ShowWinInfo客戶端在運(yùn)行時訪問中心服務(wù)器上的數(shù)據(jù)庫,獲取所存儲的服務(wù)器的信息,添加到服務(wù)器列表中,管理員可以選擇這些服務(wù)器進(jìn)行監(jiān)控。管理員可以通過添加性能計數(shù)器,移除性能計數(shù)器選擇要監(jiān)控的服務(wù)器性能參數(shù)。發(fā)送開始監(jiān)控,停止監(jiān)控,更新,查詢過去一段時間的服務(wù)器的運(yùn)行狀態(tài)等命令,獲取服務(wù)器的性能參數(shù),再以直方圖型,線條,報告等形式顯示在瀏覽器窗口中。服務(wù)器的性能是實(shí)時

56、動態(tài)顯示的,非常直觀。更新頻率決定了監(jiān)控的強(qiáng)度。更新間隔時間越短,監(jiān)控強(qiáng)度越大,能發(fā)現(xiàn)服務(wù)器出現(xiàn)的瞬間癱瘓原因。但不是更新時間越短越好,更新時間越短。服務(wù)器的開銷越大。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ù)較多,同時一個管理員要能同時監(jiān)控多臺服務(wù)器,服務(wù)器性能的監(jiān)控過程是間隔一段時間獲取一次服務(wù)器的性能參數(shù),間隔時間太長就失去了實(shí)

58、時監(jiān)控的效果,間隔時間一般在5S左右,一段時間內(nèi)產(chǎn)生的數(shù)據(jù)量比較大,對中心服務(wù)器上的數(shù)據(jù)庫是一個考驗,可靠性非常重要。在客戶端要實(shí)時顯示服務(wù)器運(yùn)行狀態(tài),較短時間內(nèi)處理較大量的數(shù)據(jù),軟件的壓力比較大,可靠性是非常重要的。</p><p><b>  易用性要求</b></p><p>  本系統(tǒng)目標(biāo)是把管理員從復(fù)雜的服務(wù)器監(jiān)控中解放出來,因此要具有很好的易用性。服務(wù)器的

59、性能的參數(shù)很多,選擇必要的性能參數(shù),直觀的顯示給管理員,便于管理員分析然后調(diào)整服務(wù)器的部署,均衡服務(wù)器是非常必要的。管理員不一定對服務(wù)器的性能有很深的研究,因此易用性,直觀的顯示給管理員是本系統(tǒng)的要求。</p><p><b>  效率要求</b></p><p>  本系統(tǒng)是實(shí)時監(jiān)控,處理的數(shù)據(jù)量較大,效率很重要,要在間隔時間內(nèi)把數(shù)據(jù)發(fā)存入中心服務(wù)器的數(shù)據(jù)庫,同時發(fā)

60、送到客戶端顯示,如果效率很低,則這次處理還未完成,下次數(shù)據(jù)已經(jīng)到來,可能沖掉上一次的數(shù)據(jù),這要求系統(tǒng)的處理速度很快,同時間隔時間不能太短。還有隨時間的推移,中心服務(wù)器上數(shù)據(jù)庫的數(shù)據(jù)量逐漸增大,數(shù)據(jù)量可能太大,占滿磁盤空間,因此需要清除一部分?jǐn)?shù)據(jù),只保存一段時間內(nèi)的數(shù)據(jù)。</p><p><b>  可移植性要求</b></p><p>  由于本系統(tǒng)中的Windows

61、InfoMonitor是安裝在每個服務(wù)器上的,因此要有很好的移植性,便于WindowsInfoMonitor的安裝,運(yùn)行。</p><p><b>  系統(tǒng)開發(fā)環(huán)境</b></p><p>  系統(tǒng)的開發(fā)環(huán)境包括軟件環(huán)境和硬件環(huán)境兩部分。是開發(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)是因為本系統(tǒng)是調(diào)用Sigar工具來獲取服務(wù)器的性能數(shù)據(jù)。</p><p>  數(shù)據(jù)庫操作系統(tǒng)為MySQL5.1。</p><p>  系統(tǒng)開發(fā)

63、語言:JAVA程序設(shè)計語言。</p><p>  系統(tǒng)開發(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、,然后對系統(tǒng)進(jìn)行了各方面的需求分析,主要包括:系統(tǒng)總體需求分析、系統(tǒng)功能性分析、系統(tǒng)非功能性需求分析。在系統(tǒng)的功能需求分析中對系統(tǒng)功能進(jìn)行了詳細(xì)化劃分,畫出了用例圖,并描述各個模塊的功能需求。在非功能性分析中對系統(tǒng)的可靠性、易用性、效率、可移植性需求進(jìn)行了分析。最后,對系統(tǒng)的開發(fā)環(huán)境進(jìn)行簡要的介紹。</p><p><b>  系統(tǒng)設(shè)計</b></p><p>  本

66、章將主要是系統(tǒng)的設(shè)計階段。根據(jù)第三章的系統(tǒng)需求分析主要從系統(tǒng)的總體架構(gòu)、系統(tǒng)的功能模塊劃分、獨(dú)立模塊的設(shè)計以及數(shù)據(jù)模型的設(shè)計等方面對系統(tǒng)進(jìn)行了詳細(xì)設(shè)計。采用了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ù)返回到瀏覽器中,在瀏覽器中動態(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)控功能。在一個客戶端瀏

68、覽器中可以同時監(jiān)控多臺服務(wù)器,服務(wù)器的性能參數(shù)上傳至中心服務(wù)器數(shù)據(jù)庫中,在客戶端可以訪問中心服務(wù)器上的數(shù)據(jù)庫,查詢服務(wù)器的性能參數(shù),并在客戶端動態(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)控,但同時利用了sigar采集系統(tǒng)性能參數(shù),因此把服務(wù)器性能參數(shù)獲取放在服務(wù)器上,同時在中心服務(wù)器上保存服務(wù)器的性能參數(shù)及服務(wù)器信息??蛻舳擞糜诠芾韱T操作,發(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è)計</b></p><p>  WindowsInfoMonitor服務(wù)模塊設(shè)計</p><p>  WindowsInfoMonitor服務(wù)模塊主要用于獲取服務(wù)器的性能參數(shù),并將服務(wù)器的性能參數(shù)發(fā)送到客戶端程序及存入中心服務(wù)器上的數(shù)據(jù)庫。服務(wù)性能參數(shù)的獲取是通過使用Sigar工具包。</p><p>  服務(wù)器的性能參數(shù)

71、根據(jù)性能對象分為操作系統(tǒng)、文件存儲、CPU_內(nèi)存、分區(qū)、磁盤I/O、TOP進(jìn)程、網(wǎng)卡流量、登錄用戶、用戶操作。</p><p>  操作系統(tǒng)對象的主要性能參數(shù)有設(shè)備ID、主機(jī)名稱、操作系統(tǒng)版本、操作系統(tǒng)內(nèi)核、開機(jī)時間等。</p><p>  文件存儲對象的主要性能參數(shù)有設(shè)備ID、類別、文件存儲目錄、文件大小等。</p><p>  CPU_內(nèi)存對象的主要性能參數(shù)有設(shè)

72、備ID、CPU個數(shù)、CPU主頻、CPU使用率、內(nèi)存總量、內(nèi)存使用數(shù)量、內(nèi)存剩余數(shù)量、內(nèi)存使用率等。</p><p>  分區(qū)對象的主要性能參數(shù)有設(shè)備ID、磁盤名稱、分區(qū)掛載點(diǎn)、分區(qū)名稱、分區(qū)總量、分區(qū)使用量、分區(qū)剩余量、分區(qū)使用率等。</p><p>  磁盤I/O對象的主要性能參數(shù)有設(shè)備ID、磁盤名稱、單位時間讀次數(shù)、單位時間寫次數(shù)。</p><p>  TOP進(jìn)

73、程對象的主要性能參數(shù)有設(shè)備ID、進(jìn)程名、所屬用戶名、PID、虛擬內(nèi)存、常駐內(nèi)存、共享內(nèi)存、CPU使用率、運(yùn)行時間長度等。</p><p>  網(wǎng)卡流量對象的主要性能參數(shù)有設(shè)備ID、網(wǎng)卡名稱、IP地址、單位時間流量、單位時間輸入丟包數(shù)、網(wǎng)卡流入使用率、單位時間流出量、單位時間丟包數(shù)、單位時間輸入錯包數(shù)、網(wǎng)卡流出使用率等。</p><p>  登錄用戶對象的主要性能參數(shù)有設(shè)備ID、登陸用戶名、

74、登陸時間、客戶端IP。</p><p>  用戶操作對象的主要性能有登陸用戶名、登陸時間、客戶端IP、操作命令、退出時間等。</p><p>  WindowsInfoMonitor服務(wù)模塊的運(yùn)行流程圖如4-3。</p><p>  圖4-3 WindowsInfoMonitor服務(wù)模塊的運(yùn)行流程圖</p><p>  ShowWinInf

75、o客戶端程序設(shè)計</p><p>  ShowWinInfo程序模塊主要是安裝在中心服務(wù)器,由管理員直接使用的模塊。管理員在瀏覽器中選擇要監(jiān)控的服務(wù)器,同時選擇要監(jiān)控的服務(wù)器性能參數(shù),點(diǎn)擊開始監(jiān)控按鈕,開始監(jiān)控。檢索數(shù)據(jù)庫中的服務(wù)器性能參數(shù),然后顯示在客戶端。管理員可以查看過去一段時間服務(wù)器的運(yùn)行狀態(tài)。為了方便管理員查看服務(wù)器的運(yùn)行狀態(tài),頁面顯示部分使用Highcharts控件,顯示效果為餅形圖,直方圖線條等。S

76、howWinInfo程序的運(yùn)行流程圖如圖4-4。</p><p>  圖4-4 ShowWinInfo程序的運(yùn)行流程圖</p><p><b>  數(shù)據(jù)模型設(shè)計</b></p><p>  本系統(tǒng)主要是在中心服務(wù)器上需要保存數(shù)據(jù),以便客戶端查詢。需要保存的數(shù)據(jù)包括兩部分:服務(wù)器的信息和服務(wù)器性能參數(shù)。</p><p>

77、  服務(wù)器的性能參數(shù)較多,而且每隔一段時間就會增加新的信息,因此采用MySQL數(shù)據(jù)庫來管理服務(wù)器性能參數(shù)數(shù)據(jù)。采用數(shù)據(jù)庫數(shù)據(jù)的插入,查詢就變得非常容易了。由于本系統(tǒng)實(shí)現(xiàn)的是同時監(jiān)控多臺服務(wù)器,因此對應(yīng)于每個服務(wù)器建立一張表,以服務(wù)器的名字作為ID名。由于服務(wù)器的性能參數(shù)都一樣,所以每個表的字段都是一樣的。表內(nèi)的字段為服務(wù)器的性能參數(shù)。由于需要采集的信息比較多,所以分類型分別制定表的結(jié)構(gòu)為操作系統(tǒng)(sbcj_czxt)、文件存儲(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)表詳見表4-1;</p><p>  文件存儲表詳見表4-2;</

79、p><p>  表4-1操作系統(tǒng)(sbcj_czxt)</p><p>  表4-2 文件存儲(sbcj_wjcc)</p><p><b>  本章小結(jié)</b></p><p>  本章是對系統(tǒng)進(jìn)行設(shè)計,先對系統(tǒng)進(jìn)行了整體性概述,設(shè)計系統(tǒng)整體架構(gòu),然后進(jìn)行系統(tǒng)功能性模塊化劃分,合理的劃分出兩大模塊,并對兩大模塊進(jìn)行更一步的

80、設(shè)計,最后,進(jìn)行了詳細(xì)的數(shù)據(jù)庫表模型設(shè)計。</p><p><b>  系統(tǒng)實(shí)現(xiàn)</b></p><p>  本章將主要編程實(shí)現(xiàn)系統(tǒng)。在第四章系統(tǒng)設(shè)計的基礎(chǔ)上編程實(shí)現(xiàn)系統(tǒng)。按照第四章的功能模塊劃分,本章首先實(shí)現(xiàn)獨(dú)立功能模塊,然后是模塊間的數(shù)據(jù)通信,整個系統(tǒng)整合運(yùn)行起來。</p><p>  系統(tǒng)實(shí)現(xiàn)首先獨(dú)立功能模塊的實(shí)現(xiàn),然后實(shí)現(xiàn)獨(dú)立功能模塊間

81、的通信,使獨(dú)立功能模塊組合連接起來形成系統(tǒng)。</p><p>  WindowsInfoMonitor服務(wù)實(shí)現(xiàn)</p><p>  WindowsInfoMonitor服務(wù)要實(shí)現(xiàn)的功能主要包括以下幾個方面:</p><p>  獲取服務(wù)器的性能參數(shù)。</p><p>  向指定數(shù)據(jù)庫持久化服務(wù)器性能參數(shù)</p><p>

82、;  獲取服務(wù)器的性能參數(shù)</p><p>  WindowsInfoMonito服務(wù)獲取服務(wù)器的性能參數(shù)是通過調(diào)用Sigar工具來實(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ù)器文件存儲信息,可獲取到盤符類型,文件存儲

87、目錄,文件大小,調(diào)用sigar中g(shù)etFileSystemList()方法得到數(shù)據(jù),部分代碼如下:</p><p><b>  //文件存儲</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>  //文件存儲目錄</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個數(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個數(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ù),調(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ù)</p><p>  float Dcs = usage.getDiskRead

105、s();</p><p>  //獲取單位時間寫次數(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ù),單位時間輸出錯包數(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>  //獲取單位時間流入量</p><p>  long Lrl = ifstat.getRxBytes();</p><p>  //獲取單位時間輸入丟包數(shù)</p><p>  long Srdbs = ifstat.getRxDropped();</p><p>  //獲取單位時間輸入錯包數(shù);</p>&l

112、t;p>  long Srcbs = ifstat.getRxErrors();</p><p>  //獲取單位時間流出量</p><p>  long Lcl = ifstat.getTxBytes();</p><p>  //獲取單位時間輸出丟包數(shù)</p><p>  long Scdbs = ifstat.getTxDropp

113、ed();</p><p>  //獲取單位時間輸出錯包數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論