標籤:營運技術 it營運 勤智數位 營運管理軟體
1、Windows OS和WMI簡介
隨著互連網技術的飛速發展,我們對於IT業務系統的服務能力要求越來越高。根據Gartner統計2017年1季度全球伺服器出貨量超過125億美金,正在運行支撐各種業務的伺服器數量更是龐大。這些伺服器中有超過50%的伺服器正在使用Windows OS。這些Windows OS支撐了各種大中小型的業務應用,支撐著人們工作、生活等各項活動的開展。那麼如此龐大的系統,我們如何有效監控和管理呢?微軟為Windows OS提供了一個有效監控工具WMI。
圖 1-1 全球伺服器作業系統佔有率
WMI(Windows Management Instrumentation)是微軟對WBEM(Web-Based Enterprise Management)的實現,WBEM則是工業界制定的訪問企業環境下管理資訊的統一標準[1]。WMI使用CIM(Common Information Model)工業標準[2]來表示作業系統、應用、網路、裝置以及其他被管組件。CIM與WBEM由DMTF(Distributed Management Task Force)開發和維護。
除使用WMI擷取本機電腦資訊外,WMI還可經由DCOM(Distributed Component ObjectModel[3])建立遠端連線擷取遠端電腦的資訊。因此WMI可作為監控Windows作業系統的有力手段。
2、跨網路環境下的Windows OS伺服器監控
由於IT業務系統的日益龐大,IT基礎資源正在通過各種資源集區將網路和伺服器資源進行虛擬化(1:N和N:1)。我們將不同業務隔離在不同的虛擬網路中,同時還有跨地區的業務應用分布。在這樣的環境下,需要對於Windows OS進行統一監控,通常都必須面對一個問題--NAT地址轉換。NAT可以有效節約IP地址,隱藏內部的網路環境;但是在NAT環境下由於通常採用1對多或者多對多的地址映射規則,導致了監控平台無法有效訪問Windows OS。
圖 1-2 大型IDC的典型業務情境
勤智營運結合多年的IT營運經驗,將主機的有效配置和勤智IT資源智能發現技術相結合,通過OneCenter統一營運平台,有效解決了跨越NAT的Windows OS伺服器監控問題。下面詳細分析一下WMI在NAT環境下的相關特性。
2.1 NAT環境下的WMI配置
在NAT環境下,當監控營運平台需要從NAT業務網路外部存取業務網路內部Windows OS伺服器時,需要在NAT Gateway上配置靜態連接埠映射,將WAN端的入站請求正確轉寄到被監控遠端電腦。
2.1.1連接埠映射配置
WMI經由DCOM建立遠端連線,因此將向遠端電腦135連接埠發起請求:
圖 2-1 無NAT環境下的WMI遠端連線
圖 2-1展示了無NAT環境下WMI建立遠端連線的WireShark軟體抓包情況(經過濾),其中監控營運平台IP為172.16.30.31,Windows OS伺服器IP地址為192.168.1.33。注意,除了向Windows OS伺服器的135連接埠發起TCP握手請求之外,當監控營運平台接收到RemoteCreateInstance Response後,還會向1043連接埠發起請求。經過多次實驗可知,這一連接埠是隨機的。這是由於作業系統會向每個DCOM應用程式分配一個終結點(Endpoint),在預設配置下,WMI的終結點是隨機的TCP連接埠。
因此,需要實現跨越NAT的Windows OS監控除了完成135連接埠的映射外,還需要將WMI的終結點固定下來並進行連接埠映射。在Windows Vista及更新的作業系統中,可以通過執行命令Winmgmt /Standalone後重啟WMI服務實現 [4]。固定的終結點預設為24158,這一數值可以進行設定。
在NAT Gateway上配置連接埠映射:135映射到遠端電腦的135連接埠;終結點映射到遠端電腦的對應連接埠,就完成了NAT路由上的連接埠映射配置。
2.1.2IP地址配置
通過NAT配置連接埠映射後,WMI串連仍然無法成功,WBEMTest測試載入器將提示RPC伺服器不可用:
圖 2-2 NAT環境下的WMI遠端連線
圖 2-2展示了NAT環境下WMI建立遠端連線的WireShark軟體抓包情況(經過濾),其中本機電腦IP為10.1.103.82,NAT GatewayWAN端地址為10.1.104.68,NAT已設定連接埠映射。此時,當監控營運平台伺服器收到RemoteCreateInstance Response後,並未向Windows OS伺服器WMI終結點(路由器WAN端24158連接埠)發起TCP握手請求。
考慮到WMI終結點可以指定任意TCP連接埠,必然在響應中有對應的終結點連接埠資訊,則可以猜想在響應中也有對應的IP地址資訊。深入分析RemoteCreateInstance Response:
圖 2-3 RemoteCreateInstance Response分析
圖 2-3 展示了響應中的地址資訊,其中WIN-JO2OB7DN0HG為遠端電腦的主機名稱,192.168.40.1為監控營運平台伺服器與NAT路由器LAN端在同一子網內的私人IP地址,192.168.40.1和192.168.1.200為監控營運平台其他網卡IP地址,並且可以抓包到本機電腦嘗試向這幾個地址發起請求。
基於上述事實,一種解決方式是在本地計算的Hosts檔案中,將監控營運平台的主機名稱解析為NAT路由器的WAN端IP。這樣本機電腦就會嘗試向NAT路由器的WAN端發起請求,完成WMI串連。
3、總結
本文簡單介紹了WMI、NAT等基礎知識,並詳細說明了WMI監控遠端電腦的配置方法以及在NAT環境下的網路設定方法。通過分析NAT環境下WMI的資料包,初步探索了WMI通過DCOM建立遠端連線的內部原理。希望這個分析過程能在配置其他網路環境下的其他協議時起到一些協助。
營運採集技術分享: 通過WMI監控NAT後的Windows系統