QQ:2237433
測試版和詳細文檔下載地址:http://61.241.81.36/shololo/monitor/
尋求各種方式合作.
一, 系統簡要概述:
1, 開發目的
隨著社會的發展,我們已經進入一個信息時代。伴隨著計算機和網絡技術的不斷發展,越來越多的計算機,服務器被廣泛應用到各個領域。它們能否正常穩定的工作影響到社會生活的方方面面。
為確保網絡的重要組成部分-服務器能夠正常運行,及時發現服務器運行狀態是否異常.初步分析出問題原因, 並且能夠在最短的時間內通知管理員以便解決問題.減少損失。而且該系統大大減輕系統管理員的工作強度,節省人力資源成本。
2,運行平台
SUN SOLARIS7/8 包括SPARC和x86版本.
FreeBSD 4.0+
3,系統結構
該系統采用C/S結構.
主監控服務器(一台):負責被監控服務器分組管理,定時采集數據,數據邏輯判斷,數據入庫,報警.
被監控服務器(多台):打開某一端口監聽數據采集請求.數據采集並傳送給主控服務器
5,分組管理
為便於管理,可根據一定條件將一台或多台服務器劃分為一各組.在同一組內的服務器具有相同的數據采集周期和相同的管理員名單.如該組中的任何一台服務器出現故障,則只將報警消息發給該組的管理員.
6,報警
服務器運行不正常時,監控服務器會向該組管理員發出報警.報警方式為電子郵件.也可采用手機短信報警(需要與當地移動公司有短信發送協議)
7,配置文件維護
為減輕維護難度與復雜度,統一將配置文件放在主監控服務器上,被監控服務器上只放置自定義部分.在絕大多數情況下只需要維護主監控服務器上的配置文件.
8,數據采集指標,指標狀態
靜態指標:
1),服務器操作系統類型
2),操作系統版本
3),CPU型號
4),CPU個數
5),內存大小
6),SWAP大小
7),PATCH版本
8),時區
動態指標:
9),系統連續運行時間
10),系統時間
11),CPU LOAD(1MIN,5MIN,15MIN)
12),CPU狀態,Solaris下(IDLE,USER,KERNEL,IO,SWAP) FreeBSD下(IDEL,USER,SYSTEN,NICE,INTERRUPT)
13),內存使用率
14),SWAP使用率
15),系統中當前總共進程數目
16),某一進程占用的CPU(可以設置多個)
17),某一進程占用的系統資源(可以設置多個)
18),某一進程在系統中的數目(可以設置多個)
19),某一物理分區使用率(可以設置多個)
20),某一物理分區I-NODE使用率(可以設置多個)
21),系統網絡總連接數目
22),連接中SYNC狀態的數目,用於判斷是否遭到DOS攻擊
23),已成功建立連接的數目
24),監測服務器某一端口是否可以連通(可是設置多個).
25),十個用戶自定義外掛模塊(用戶可以根據服務器用途不同,自己編寫要監控的內容,然後掛接到系統裡面)
指標可以有兩個狀態,觀察(WATCH),報警(ALARM).所有靜態指標只能是觀察狀態,所有動態指標可以是上面兩個狀態中的一種.
所有靜態指標屬於系統基本配置,屬於非量化指標.所有動態指標屬於量化指標,都可以標明一閥值.將采集上來的數據根據配置文件中規定好的判斷邏輯進行比較,若滿足判斷邏輯且為報警狀態則報警.
9,判斷邏輯
支持六種判斷邏輯:
SEQ == 等於
SNE != 不等於
SGT > 大於
SGE >= 大於等於
SLT < 小於
SLE <= 小於等於
10,安全
被監控服務器采用IP允許措施,只有其配置文件中允許的主機才可以提出數據采集請求.否則連接會馬上斷開.
主監控服務器與被監控服務器采用特定二進制命令結構進行通訊,
11,可擴充性
由於服務器的任務不同,可能需要監控一些特殊指標.因此預留了十個自定義指標.用戶可以在被監控服務器上自行開發自己的監控模塊(最多十個),然後無縫的掛接到監控系統中.
12,數據紀錄與歷史數據顯示
每次采集的數據都記錄在數據庫中,現支持的數據庫有Oracle,SYBASE,mysql顯示和查詢界面基於B/S結構,免除安裝額外程序和不兼容問題.用戶也可根據自行需要開發顯示,查詢程序.
如采用debug方式運行可打印日志到屏幕或者文件.
二、項目技術可行性分析
1.項目名稱、項目主要內容及目前進展情況
(1)項目名稱:UNIX服務器集群動態性能監控系統。SERVERS MONITOR
(2)主要內容:采集UNIX服務器的各項動態性能指標:如系統負載狀況、CPU使用率、內存,交換區使用狀況、特定進程的狀態,所占系統資源(包括占用CPU,內存和交換區)、磁盤使用率以及特定服務是否正常,端口是否可以連通,正常響應。服務器當前網絡狀態等。將采集來的數據進行整理,並根據指定的邏輯與給定閥值進行比較,如果滿足該邏輯,則進行報警。報警方式可選擇郵件或者手機短信息。並且還可以將采集來的數據存入數據庫,作為數據挖掘,數據分析的數據源。
(3)目前項目的進展情況:已完成Solaris7/8(Sparc / x86),FreeBSD(4.0以上)的所有功能。
2.關鍵技術及創新點的論述
關鍵技術:
(1)UNIX內核的狀態讀取,由C語言實現。由於UNIX系統基本上是由C語言編寫實現,所以該系統可以很好的與操作系統銜接,且不需要任何額外的系統開銷,執行效率高。
(2)使用C/S結構進行基於TCP/IP的數據傳輸。
(3)用C語言實現數據庫讀寫。
(4)報警信息的發送,郵件和短信。
創新點:
(1)從操作系統內核讀取系統狀態,准確高效。
(2)采用分布式結構,一台主控服務器可以監控多台服務器的狀態。被監控服務器只負責數據采集,然後發送給主控服務器。盡量減少監控程序在被監控服務器上的系統開銷。所有的邏輯判斷,報警,數據存儲全部由主控服務器完成。
(3)服務器的分組管理。可以對被監控服務器按照一定條件分組。每個組設置不同的一個或多個管理員,報警信息只發送給該組的管理員
(4)系統的延展性。每一台被監控服務器可以根據自身的需要,可以使用任何語言最多編寫十個自定義模塊來監測自身的特殊服務。自定義的模塊可以無縫的接入到報警系統中。
(5)主機信任制。只有被信任的主機才允許向被監控服務器發出數據采集請求。每一台被監控服務器上都有一個主機信任列表。增加了安全性。
3.技術性能水平(指標)與國內外先進水平的比較:
現與國外著名自由監控軟件Big Brother(http://bb4.com/)進行對比。
---------------------------------------------------------
SERVERS MONITOR BIG BROTHER
---------------------------------------------------------
開發語言 C SHELL
---------------------------------------------------------
系統結構 C/S C/S
---------------------------------------------------------
執行效率 高 低
---------------------------------------------------------
分組管理 支持 不支持
---------------------------------------------------------
監控指標 多,可以到進程級別 少,只能是系統基本狀態
---------------------------------------------------------
可擴充性 支持十個用戶自定義模塊 不支持用戶自定義模塊
---------------------------------------------------------
數據庫 可支持多種數據庫 不支持數據庫
---------------------------------------------------------
歷史數據的保存 支持 不支持
---------------------------------------------------------
4.技術成熟性和可靠性論述:
(1) 技術成熟性的論述及有關部門對本項目技術成果的技術鑒定情況:
本系統所使用到的基本技術都是開放性技術,或者已經很成熟,是經過多年發展和驗證的技術。因此在技術上不存在技術壁壘和難點。
(2) 本項目產品的技術檢測、分析化驗的情況:
本系統經過功能測試,達到預期的目標。經測試能夠完成預定的功能,並對被監控服務器產生盡量小的系統開銷。
(3) 本項目產品在實際使用條件下的可靠性、安全性的情況等。
本系統已被國內某著名網絡公司使用,一台主監控服務器,負責一百台以上服務器的監控。已經過兩個月的實際運行,運行狀況良好。誤報警率不高於2%。另外由於數據采用自定義數據結構二進制傳輸,和信任主機制度,未發生安全問題。
三、項目、產品市場調查和需求預測
國內外市場調查和預測
(1)隨著互聯網的不斷發展,各個行業都已經離不開網絡。每年都有大量的服務器投入使用。這些服務器能否正常運行,會影響到我們生活的每一個領域。本系統主要是動態監測服務器性能,因此只要有網絡存在,並且對服務器正常工作能力有較高要求行業都適用。采用該系統可以大大縮短服務器問題處理周期,能夠及時發現問題,初步判斷問題原因,通知管理員解決問題。最大程度的減少由於服務器問題帶來的損失。並且降低系統管理員的勞動強度,解放勞動力,現在各公司使用的一些監控軟件大都是單機版,不支持服務器集群監控。或者使用的是一些自由軟件,像Big Brother等,由於這些系統都是自由軟件,不但監控的指標少,而且缺乏必要的技術支持。
(2)該系統已經被國內某著名網絡公司實際使用,並得到了系統管理員的一致好評。
四、補充說明
現在已經發布V1.3 for Solaris7/8,FreeBSD4.0+
Linux版本正在移植過程中,計劃春節以後發布LINUX版本.
我的聯系方式:
[email protected]
ICQ:117610173
QQ:2237433
MSN:
[email protected]
上次的socket問題我寫的沒有錯誤,是正確的。主要是我的應用方式很特殊。
我有一個Java類,這個java類裡面有一個方法是native,也就是java裡面的JNI.
這個native方法我是用C語言實現的,裡面用到了非阻塞socket。
然後我把這個java類打成了一個bean.。
這個bean在被其他java程序調用的時候是沒有錯誤的。但是如果被jsp調用,就出現了我上次說的問題。
我主要感覺是普通的java程序運行方式和jsp運行方式不大一樣。jsp是要通過應用服務器來運行的。我用的是resin-2.0.3。當然具體為什麼我還沒搞清楚。我後來改成阻塞模式就可以了
(2)該系統已經被國內某著名網絡公司實際使用,並得到了系統管理員的一致好評。
四、補充說明
現在已經發布V1.3 for Solaris7/8,FreeBSD4.0+
Linux版本正在移植過程中,計劃春節以後發布LINUX版本.
我的聯系方式:
[email protected]
ICQ:117610173
QQ:2237433
MSN:
[email protected]
上次的socket問題我寫的沒有錯誤,是正確的。主要是我的應用方式很特殊。
我有一個Java類,這個java類裡面有一個方法是native,也就是java裡面的JNI.
這個native方法我是用C語言實現的,裡面用到了非阻塞socket。
然後我把這個java類打成了一個bean.。
這個bean在被其他java程序調用的時候是沒有錯誤的。但是如果被jsp調用,就出現了我上次說的問題。
我主要感覺是普通的java程序運行方式和jsp運行方式不大一樣。jsp是要通過應用服務器來運行的。我用的是resin-2.0.3。當然具體為什麼我還沒搞清楚。我後來改成阻塞模式就可以了