用NSClient4j在java中讀取windows性能計數器數據。
NSClient4j是一個提供了簡單的API存取WPM(windows performance monitor)數據的純java客戶端。它使用了一個叫NSClient的Windows服務。Nagios是一個運行在Linux上的系統監視 包,NSClient最初是爲它寫的一個插件。Nagios是一個需要從Linux上查詢NT服務統計數據很大的告警和監視系統,由此,NSClient 誕生了。
NSClient是一個爲了請求、接收請求,查詢相應的WPM計數器值,並以一個字符串的形式返回值的監聽在可配置端口上的 Windows本地服務。在開始的時候,它被一個叫做chentnt的本地Linux Nagios插件調用。然而,由於這個協議相當簡單,因此java可以通過socket管理通訊,NSClient4j是一個和NSClient通訊的簡 單的java類。使用Java API,開發人員能連接到NSClient上,發出一個WPM計數器值的請求,並處理其響應的結果。下圖是該結構的原理:
下邊的信息是可以被NSClient檢查到的:
CPU負載
內存負載
磁盤空間
服務狀態
處理狀態
系統正常允許時間
文件日期和時間
詳細信息參閱:
http://www.javaworld.com/javaworld/jw-11-2004/jw-1108-windowspm.html#resources
https://nsclient4j.dev.java.net/files/documents/2366/7972/NSClient4J.jar