とあるアプリからのSNMPポーリング失敗が原因かもしれない問題があるのでスイッチ側の調査を行うことにしたが、SNMPは詳しくないので手動で試してスイッチでカウンタの上がり方を確認する事にした。
やる事
サーバで実行するコマンド
スイッチに対してSNMPのポーリングをかける。
snmpwalk -v1 -c コミュニティ名 192.168.10.1 .1.3.6.1.4.1.9.9.46.1.3.1.1.2
スイッチで実行するコマンド
スイッチのSNMP受信数などのカウンタ値を確認する。
show snmp
手動実行前のスイッチの状態
show snmpにどんなオプションがあるかチラ見する。
chassis
community
contact
context
engineID
group
host
location
mib
pending
sessions
stats
user
view
そこそこあるがshow snmpだけで試すことにした。
switch# show snmp Chassis: FOCXXXXXXXX 10026099 SNMP packets input 0 Bad SNMP version errors 0 Unknown community name 0 Illegal operation for community name supplied 0 Encoding errors 10022164 Number of requested variables 0 Number of altered variables 10022172 Get-request PDUs 102908 Get-next PDUs 0 Set-request PDUs 0 Input queue packet drops (Maximum queue size 1000) 10027311 SNMP packets output 0 Too big errors (Maximum packet size 1500) 1999 No such name errors 0 Bad values errors 0 General errors 10026099 Response PDUs 1000 Trap PDUs Packets currently in SNMP process input queue: 0 SNMP global trap: enabled SNMP logging: enabled Logging to 192.168.20.1.162, 0/10, 536 sent, 11 dropped. Logging to 192.168.20.2.162, 0/10, 536 sent, 11 dropped.
初めて見るのでイマイチ見所がわからない。
とりあえずログだけとって次へ進む。
サーバの手動実行コマンド
事前に成功することを試して実行したので問題なく結果が表示される。
server# snmpwalk -v1 -c コミュニティ名 192.168.10.1 .1.3.6.1.4.1.9.9.46.1.3.1.1.2 SNMPv2-SMI::enterprises.9.9.46.1.3.1.1.2.1.1 = INTEGER: 1 SNMPv2-SMI::enterprises.9.9.46.1.3.1.1.2.1.96 = INTEGER: 1 SNMPv2-SMI::enterprises.9.9.46.1.3.1.1.2.1.97 = INTEGER: 1 SNMPv2-SMI::enterprises.9.9.46.1.3.1.1.2.1.98 = INTEGER: 1 以下略
実行後のスイッチの状態
SNMPポーリング実行後はいくつかカウンタ の増加があった値に赤色を付けた。
#はコメント
switch# show snmp Chassis: FOCXXXXXXXX 10026219 SNMP packets input #入力されたパケットの合計数が120増加 0 Bad SNMP version errors 0 Unknown community name 0 Illegal operation for community name supplied 0 Encoding errors 1002284 Number of requested variables #SNMPマネージャからの要求数が120増加 0 Number of altered variables 10022172 Get-request PDUs #SNMPポーリングを受ける時は上がらないみたい。 103028 Get-next PDUs #受信したGet-nextの要求数が120増加 0 Set-request PDUs 0 Input queue packet drops (Maximum queue size 1000) 10027431 SNMP packets output #送信されたパケットの合計数が120増加 0 Too big errors (Maximum packet size 1500) 1999 No such name errors 0 Bad values errors 0 General errors 10026219 Response PDUs #要求に対して応答した数が120増加 1000 Trap PDUs Packets currently in SNMP process input queue: 0 SNMP global trap: enabled SNMP logging: enabled Logging to 192.168.20.1.162, 0/10, 536 sent, 11 dropped. Logging to 192.168.20.2.162, 0/10, 536 sent, 11 dropped.
という事で成功したパターンのカウンタの増え方が分かった。
わかった事
ポーリングを受信したら増えるカウンタ
- SNMP packets input #入力されたパケットの合計数
- Number of requested variables #SNMPマネージャからの要求数
- Get-next PDUs #受信したGet-nextの要求数
今回試した1回のポーリングでいずれも120増加した。
ポーリングに応答したら増えるカウンタ
- SNMP packets output #送信されたパケットの合計数
- Response PDUs #要求に対して応答した数
今回試した1回のポーリングでいずれも120増加した。
コミュニティ名を間違えたら上がるカウンタ
- Unknown community name #存在しないコミュニティ名での要求数
適当なコミュニティ名でわざと間違えるとカウンタが6上がった。
MIB値を間違えたら上がるカウンタ
- No such name errors #存在しないMIB値の要求を受け取った数
MIB値を存在しない「.1.3.6.1.4.1.9.9.46.1.3.1.1.50」で実行するとカウントが1上がった。
ここは失敗の原因になりそうな気がする。