Windows の SNMP サービスから取れる情報

Windows 10 で SNMP サービスを有効にして取ってみました。概ね下記のような情報が取れます。

  • SNMPv2-MIB::system
    • sysDescr とか sysUpTime とか
  • IF-MIB::interfaces
    • ネットワークインタフェース
  • RFC1213-MIB::ip
  • RFC1213-MIB::icmp
  • TCP-MIB::tcp
  • UDP-MIB::udp
    • ip とか icmp とか tcp とか udp とか
  • SNMPv2-MIB::snmp
    • SNMP パケット関係のメトリクスとか
  • HOST-RESOURCES-MIB::host
    • ホストのいろいろな情報(代表的なものを抜粋)
    • hrSystemUptime
    • hrSystemProcesses
    • hrStorageTable
      • hrStorageType
      • hrStorageDescr
      • hrStorageSize
      • hrStorageUsed
    • hrProcessorTable
      • hrProcessorLoad
  • IF-MIB::ifMIB
    • interfaces と似たような情報?
  • IPV6-MIB::ipv6MIB
    • ipv6 とか
  • SNMPv2-SMI::enterprises.77.1

トラフィックは IF-MIB::interfaces から普通に取れます。ただ、コントロールパネルのアダプタの設定には表示されないものがたくさんあがってきてるので、目的のインタフェースを特定するのが難しそう。

メモリ使用量とディスク使用量は HOST-RESOURCES-MIB::hrStorageTable から取れます。メモリもディスクも混在しているので hrStorageType を見て区別する必要があります。

CPU使用率は HOST-RESOURCES-MIB::hrProcessorLoad で CPU ごとに取れます。Load とあるけど MIB を読むと下記の通りだったので、ロードアベレージではなく CPU 使用率のはずです。ググるとロードアベレージだと思っている人が多そうでした。

The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.

このプロセッサがアイドル状態でなかった時間のパーセンテージの平均値。 実装は、必要であれば、この1分間のスムージング期間に近似することがあります。 Power by Google Translate

ロードアベレージは素ではとれなさそう・・ググると snmp-informant をインストールして取れるようにする例を見かけます。


2ヶ月ぐらい前に社内に書いてたメモからのコピペ。