我有一個虛擬機與Windows 7.我已經安裝了Windows的SNMP代理服務。 然後從我的電腦中,我開發了一個C#中的小程序,使用snmpsharpnet與SNMP代理進行通信並且可以工作!如何在Windows 7中查找CPU使用情況的OID?
我使用了一些樣品的OID,如:
- .1.3.6.1.2.1.1.1.0獲得系統描述
- .1.3.6.1.2.1.25.1.6。得到進程數
所以我的程序工作,我有正確的網絡連接。
string host = "192.168.1.92";
string community = "public";
SimpleSnmp snmp = new SimpleSnmp(host, community);
if (!snmp.Valid)
{
Console.WriteLine("SNMP agent host name/ip address is invalid.");
return;
}
Dictionary<Oid, AsnType> result = snmp.Get(SnmpVersion.Ver1, new string[] { ".1.3.6.1.2.1.25.3.3.1.2" });
if (result == null)
{
Console.WriteLine("No results received.");
Console.ReadKey();
return;
}
foreach (KeyValuePair<Oid, AsnType> kvp in result)
{
Console.WriteLine("{0}: {1} {2}", kvp.Key.ToString(),
SnmpConstants.GetTypeName(kvp.Value.Type),
kvp.Value.ToString());
}
Console.ReadKey();
}
現在我試圖讓使用.1.3.6.1.2.1.25.3.3.1.2 CPU的負荷,但我doen't工作(有信息從here)。我還安裝了Mib瀏覽器(從ireasoning.com)以瞭解正確的OID。
我的問題是:
哪個是正確的OID擺脫Windows 7的CPU負載?
OID對於所有系統都不常見,不是嗎?我的意思是linux,windows,路由器有自己的OID?
我在哪裏可以找到Windows 7的OID?
我的vm只有在cpu上。在我的Ireasoning MIB瀏覽器中,我去了OID hrProcessorLoad(.1.3.6.1.2.1.25.3.3.1.2)並且工作(它在最後一分鐘給出了平均值)。但在我的代碼中,snmp.get返回null – 2012-08-12 18:17:07
我對MIB瀏覽器並不是很熟悉,但我認爲在進行SNMP調用時會有原始文本輸出。我想知道它是否在爲您執行SNMP Next呼叫。 – dangowans 2012-08-12 18:19:45
也許吧。我將按照你的想法,並嘗試做一些GetNext調用... – 2012-08-12 18:22:56