ブログ
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なんて使っていない」ということなのか、それとも「こんなの常識だろう」ということなのか?
それとも単に、私の検索のやり方がマズいだけですかね??