ブログ

2020.09.24

CiscoルータのSNMPのエラー

 こんにちは、アヴァンティのKRです。

昨日、YAMAHA RTX1210をCisco921Jに交換したという話を書きました。
そのCisco921Jなんですが、SNMPでステータスが取得できないという障害に見舞われました。
ルータのログを見てみると

%SNMP-3-INPUT_QFULL_ERR: Packet dropped due to input queue full

というエラーが延々と記録されています。
なんじゃこりゃ、初めて見たぞと思って調べてみましたが、英語のCiscoのナレッジページに

IOSのバグじゃないのか
SNMPの設定をやり直したら解決した

という話が書いてあるくらいでした。
日本語のページでは情報が見付けられなかったのですが、またレアケースにでもぶつかったのだろうかと思いつつ、もう少し調べてみると、やはり英語のCiscoのナレッジに

show snmpを実行してみろ
SNMP Engineのqueueがmax「1」になってるから、溢れるのは当然だ


と書いてありました。
「そんな馬鹿なことがある訳ないだろうに」と思いつつ、Cisco921Jでshow snmpを実行すると確かに

SNMP Engine:
   queue 0/1 (current/max), 1375 dropped

キューはmax「1」になっていて、ドロップ(つまりキュー溢れ)がカウントされていました。
ちなみに、Cisco921Jの前のモデルのCisco841Mも、その前のCisco892Jもshow snmpの出力結果は

SNMP Engine:
   queue 0/1000 (current/max), 0 dropped

このようにキューはmax「1000」になっており、当然ながらドロップなど一つもカウントされていません。
そりゃ、キューが「1」しかないのであれば、ログのメッセージの通りにキューが溢れるのは当然ですよね。
どうしてデフォルト設定がこうなってしまったのかは判りませんが、これじゃ使い物になりません。

snmp-server queue-limit engine 1000

でキューの最大数を「1000」に変更しました。
以降、SNMPのステータスが取得できないとか、キューが溢れるといったことは起らなくなりました。
Cisco800シリーズがCisco900シリーズになって単に仕様が変わっただけなのか、バグなのか、どちらなんでしょうね。

しかし、日本語での情報が見当たらないというのは、どういうことなんでしょうか。
みんな「SNMPなんて使っていない」ということなのか、それとも「こんなの常識だろう」ということなのか?
それとも単に、私の検索のやり方がマズいだけですかね??

ページトップへ