Windows系统监控
Windows系統監控
一、??????應用框架的選取與介紹
???????? 該監控系統使用J-Interop開源框架調用WMI來實現。Windows管理規范(WMI)是微軟對來自分布式管理任務組(DMTF)基于Web的企業管理(WBEM)和通用信息模型(CIM)標準的實現。WMI用于訪問Windows系統,應用,網絡,設備等組件,并管理他們,可以實現對本地或遠程操作系統的監控,比較流行的Java調用WMI開源框架有J-Interop,JACOB-Project和J-Integra,而J-Interop是完全免費開源的API,并且它提供了沒有任何依賴的純DCOM橋,完全使用Java編寫的沒有任何的JNI代碼。
二、??????環境準備
1.????????Windows要開啟Remote Registry,Remote Procedure Call(RPC)和Windows Management Instrumentation服務,如下圖:
 
 
圖:開啟服務
2.????????修改安全策略
???????? 通過cmd命令行鍵入secpol.msc來開啟本地安全策略,本地安全策略-->安全選項找到網絡訪問:本地賬戶的共享和安全模型,將它的安全設置更改為經典。如下圖:
 
 
圖:修改本地安全策略
3.????????禁用防火墻
4.????????WindowsServer 2008和高版本的系統需注冊表越獄
???????? 找到注冊表HKEY_CLASSES_ROOT\CLSID\下面的注冊表并更改管理員完全控制
{76A64158-CB41-11D1-8B02-00600806D9B6}的控制權。Windows Server 2008不再給Administrators完全控制權。只能通過SetACL.exe來更改。
a)下載SetACL.exe,下載地址:
https://files.helgeklein.com/downloads/SetACL/current/SetACL%20(executable%20version).zip
b)解壓安裝,cmd命令行cd到SetACL.exe目錄之下,以管理員的身份運行如下代碼:
 圖:注冊表越獄
修改成功后管理員的權限顯示如下圖:
 圖:修改管理員權限
三、??????程序代碼
????? 程序代碼地址:https://xxsrd.f3322.org/svn/HDZX/Android/DOC/Server
??? 創建WmiService類,如下圖
 
圖:創建WmiService類
????????
?
?
?
???????? 建立和服務器的連接獲取IJIDispatch對像
 
 
圖:獲取IJIDispatch對像
???????? 查詢部分:
 
 
圖:查詢代碼
四、??????運行結果
1.????????cpu使用的情況:
a) WmiService.query("select * fromWin32_PerfFormattedData_PerfOS_Processor");查
?
詢結果如下圖:
 
b) WmiService.query("select * fromWin32_ Processor");(Windows server 2003服務器不適用) 
 
?
2.????????邏輯磁盤可用空間:WmiService.query("select * from Win32_LogicalDisk");
 
3.????????系統服務:WmiService.query("select * from Win32_Service");
 
4.????????
 物理內存:WmiService.query("select *from Win32_ PhysicalMemory");
 
5.????????可用物理內存:WmiService.query("select * from Win32_OperatingSystem");
? ? ? ? ? ? ? ?
6.????????網卡信息:WmiService.query("select * from Win32_NetworkAdapter");
 
7.????????進程信息:WmiService.query("select * from Win32_Process");
 
8.????????網絡流量:
WmiService.query("select * from Win32_ PerfRawData_Tcpip_NetworkInterface");
 
五、??????注意事項
1.????????使用Windows2008 R2,Server 2012 R1和R2及Windows7時需要對注冊表進行越獄操作。
2.????????Windows2003服務器對select * from Win32_Processor查詢不支持,可替換為:
select * from Win32_PerfFormattedData_PerfOS_Processor
3.????????Windows7上啟動遠程注冊表訪問
默認情況下,即使啟動了遠程注冊表服務,Windows7任將拒絕遠程注冊表。解決辦法,在計算機上以管理員的身份運行powershell執行Enable-PSRenoting,重啟計算機。
4.????????防火墻必須允許開啟TCP和UDP的端口號
1)????????TCP端口135(DEC、RPC定位器服務)
2)????????TCP端口139(NetBIOS會話服務)
3)????????TCP端口445(Windows共享)
4)????????C:\WINDOWS\System32\dllhost.exe(隨機端口)
5)????????C:\WINDOWS\System32\javaw.exe(隨機端口)
六、??????常見錯誤
1.????????錯誤碼:0xC0000034
 
啟動控制面板,打開"管理工具",打開"服務"。在列表中找到Remote Registry(遠程注冊表服務),啟動此項服務。
2.????????
 錯誤碼: 0x8001FFFF
1)關閉防火墻
2)修改編輯注冊表HEKY_LOCAL_MACHINE\System\CurrentControlSet\COntrol\Lsa找到或創建注冊表LMCompatibilityLevel的值為2,關閉注冊表重啟計算機。
3)服務器版本過低,對有些查詢語句不支持。
3.????????
 錯誤碼:0xC000006D
1)禁用防火墻
2)當端口139(NetBIOS會話服務)和445(Windows共享)不可用會出現該錯
3)啟動控制面板,進入“管理工具”,然后點擊“本地安全策略”。這將打開
“本地安全設置”窗,轉到“本地策略”->“安全選項”->“網絡訪問:本地
?賬戶的共享和安全模型”。更改為“經典”。
4.????????錯誤碼:0x00000005
1)????????禁用防火墻
2)????????更改注冊表HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Pollices\System,創建或修改32位DWORD:LocalAccountTokenFilterPolicy的值為1。
3)????????
 Windows2008 R2,Server 2012R1,Win7,Win8,修改默認注冊表的權限,請參考本文環境準備中的第四項。
5.????????錯誤碼:0x800706BA
1)????????關閉防火墻
2)????????啟動Remote Procedure Call(RCP)服務。
總結
以上是生活随笔為你收集整理的Windows系统监控的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 【群晖Nas开启WebDAV服务,路由器
 - 下一篇: 适配器(Adapter)