キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1291
閲覧回数
1
いいね!
0
コメント
kaihosok
Cisco Employee
Cisco Employee

 

 

はじめに

本ドキュメントでは、機器温度センサー値の監視をするため、個々の OID が表す情報について1つずつ確認し、機器温度センサーの単位やスケールなど把握した上での手順を紹介します。

 

概要

NX-OS で動作している Nexus シリーズスイッチに対して、SNMP にて温度センサーのモニタリングする場合は、
CISCO-ENTITY-SENSOR-MIB の以下 OID にて温度情報を取得することができます。

  • entSensorType (1.3.6.1.4.1.9.9.91.1.1.1.1.1)
  • entSensorScale (1.3.6.1.4.1.9.9.91.1.1.1.1.2)
  • entSensorPrecision (1.3.6.1.4.1.9.9.91.1.1.1.1.3)
  • entSensorValue (1.3.6.1.4.1.9.9.91.1.1.1.1.4)
  • entSensorStatus (1.3.6.1.4.1.9.9.91.1.1.1.1.5)

 

OID Description Value
entSensorType
センサーのタイプ voltsAC(3),voltsDC(4),amperes(5),watts(6),celsius(8),rpm(10), etc.
entSensorScale センサーのスケール micro(7),milli(8),units(9),kilo(10),mega(11), etc.
entSensorPrecision センサーの精度 (-8..9)
entSensorValue センサーの値 (-1000000000..1000000000)
entSensorStatus センサーの状態  ok(1),unavailable(2),nonoperational(3)


また、個々のユニットの対応については Entity-MIB の entPhysicalDescr ( 1.3.6.1.2.1.47.1.1.1.1.2 ) にて確認可能です。

 

取得シナリオ

今回は、N9K-C93600CD-GX における FRONT / BACK / CPU / ASIC の温度センサー値を取ると想定します。
つまり、show environment や show environment temperature で取得可能な温度センサーが対象となります。

N9K-C93600CD-GX# show environment temperature
Temperature:
--------------------------------------------------------------------
Module   Sensor        MajorThresh   MinorThres   CurTemp     Status
                       (Celsius)     (Celsius)    (Celsius)
--------------------------------------------------------------------
1        FRONT           80              70          37         Ok
1        BACK            60              42          32         Ok
1        CPU             105             80          40         Ok
1        Wolfridge       120             95          64         Ok
N9K-C93600CD-GX#

  

(1) entPhysicalDescr による対象の確認

温度の単位が celcius であることから celsius(8) を示す entPhysicalIndex をピックアップするのも手ではありますが、先に entPhysicalDescr ( 1.3.6.1.2.1.47.1.1.1.1.2 ) を全て表示させ、対象 entPhysicalIndex を確認します。

コマンド例:snmpwalk -v 2c -c public <A.B.C.D> entPhysicalDescr

% snmpwalk -v 2c -c public <A.B.C.D> 1.3.6.1.2.1.47.1.1.1.1.2
SNMPv2-SMI::mib-2.47.1.1.1.1.2.10 = STRING: "Fabric Stack Root"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.22 = STRING: "28x100/40G + 8x400G QSFP-DD Ethernet Module"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.149 = STRING: "N9K-C93600CD-GX"
omit
SNMPv2-SMI::mib-2.47.1.1.1.1.2.5238 = STRING: "Linecard-1 Port-33"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.38486 = STRING: "module-1 FRONT"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.38487 = STRING: "module-1 BACK"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.38488 = STRING: "module-1 CPU"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.38489 = STRING: "module-1 Wolfridge"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.42710 = STRING: "Module-1 Forwarding Engine-1"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.48854 = STRING: "Transceiver(slot:1-port:1)"

確認対象と思われる FRONT / BACK / CPU / Wolfridge の並びが確認できました。
entPhysicalName(1.3.6.1.2.1.47.1.1.1.1.7) を使用することでも同様の結果が得られます。

 

(2) entSensorType による単位の確認

次に、entSensorType を確認して、それらが celsius(8) か確認します。

コマンド例:snmpwalk -v 2c -c public <A.B.C.D> entSensorType

% snmpwalk -v 2c -c public <A.B.C.D> 1.3.6.1.4.1.9.9.91.1.1.1.1.1
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.38486 = INTEGER: 8
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.38487 = INTEGER: 8
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.38488 = INTEGER: 8
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.38489 = INTEGER: 8
snip

 本記事冒頭の表に記載がある通り、 INTEGER: 8 は、celsius を指しています。

 

(3) entSensorScale によるスケールの確認

次に、entSensorScale を確認して各値のスケールを確認します。

コマンド例:snmpwalk -v 2c -c public <A.B.C.D> entSensorScale

% snmpwalk -v 2c -c public <A.B.C.D> 1.3.6.1.4.1.9.9.91.1.1.1.1.2
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.2.38486 = INTEGER: 9
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.2.38487 = INTEGER: 9
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.2.38488 = INTEGER: 9
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.2.38489 = INTEGER: 9

9 は units(9) となり、倍数がありません。つまり値に対してキロなどのスケールがないことを示します。

 

(4) entSensorPrecision による精度の確認

精度情報を取得するため、entSensorPrecision を使用します。

コマンド例:snmpwalk -v 2c -c public <A.B.C.D> entSensorPrecision

% snmpwalk -v 2c -c public <A.B.C.D> 1.3.6.1.4.1.9.9.91.1.1.1.1.3
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.3.38486 = INTEGER: 0
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.3.38487 = INTEGER: 0
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.3.38488 = INTEGER: 0
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.3.38489 = INTEGER: 0

 

(5) entSensorStatus による Status の確認

目標としていた値を entSensorValue で取得する前に、Status を entSensorStatus で確認します。

コマンド例:snmpwalk -v 2c -c public <A.B.C.D> entSensorStatus

% snmpwalk -v 2c -c public <A.B.C.D> 1.3.6.1.4.1.9.9.91.1.1.1.1.5
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.5.38486 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.5.38487 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.5.38488 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.5.38489 = INTEGER: 1

 ok(1),unavailable(2),nonoperational(3) であることから、Status が全て OK であることが確認できます。

 

(6) entSensorValue による温度センサー値の確認

最後に目標としていた各温度センサーの値を entSensorValue で取得します。

コマンド例:snmpwalk -v 2c -c public <A.B.C.D> entSensorValue

% snmpwalk -v 2c -c public <A.B.C.D> 1.3.6.1.4.1.9.9.91.1.1.1.1.4
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.38486 = INTEGER: 36
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.38487 = INTEGER: 32
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.38488 = INTEGER: 40
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.38489 = INTEGER: 64

 

まとめ

(1) ~ (6) で得た結果をまとめると次のような表になります。

entPhysicalIndex entPhysicalDescr entSensorType entSensorScale entSensorPrecision
entSensorStatus entSensorValue CurTemp(℃)
38486 FRONT celsius(8) units(9) 0 ok(1) 36 36 
38487 BACK celsius(8) units(9) 0 ok(1) 32 32
38488 CPU celsius(8) units(9) 0 ok(1) 40 40
38489 Wolfridge celsius(8) units(9) 0 ok(1) 64 64

これで、目標としていた show environment や show environment temperature で取得可能な温度センサー値が取得できました。

 

参考情報

Nexus シリーズ : SNMP 関連ポータル

Nexus シリーズ: MIBのサポートリスト

SNMP を使用する Catalyst 6500/6000 での環境温度の取得方法 

IOS-XR: SNMPによる温度センサーモニタリング 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします