2

Windows 7 の vm があります。Windows SNMP エージェント サービスをインストールしました。次に、私のPCから、snmpsharpnetを使用してSNMPエージェントと通信するためのC#で小さなプログラムを開発しました。

次のようないくつかのサンプル 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 負荷を取得しようとしていますが、機能しません (ここから情報を取得しました)。正しい OID を学習するために、( ireasoning.comから) Mib Browser もインストールしました。

私の質問は次のとおりです。

  • Windows 7 から CPU 負荷を取得するための正しい OID はどれですか?

  • OID はすべてのシステムで共通ではありませんね。Linux、Windows、ルーターには独自の OID があるということですか?

  • Windows 7 の OID はどこにありますか?

4

1 に答える 1

4

1.3.6.1.2.1.25.3.3.1.2は、HOST-RESOURCESMIBのhrProcessorTableの一部です。Mib Browserなどのツールを使用して、テーブルOID1.3.6.1.2.1.25.3.3でSNMPウォークを実行します。または、そのOIDから開始して、SNMPNextを実行します。たとえば、デュアルコアCPUを使用している場合、コアの1つのプロセッサ負荷は1.3.6.1.2.1.25.3.3.1.2.1.1のようなOIDにある可能性があります。

于 2012-08-12T18:06:45.520 に答える