MikroTik社がRouterOSのおまけで(勝手な解釈)開発しているSNMPベースのネットワーク監視ツール、DudeにMIBを追加する方法をいつも忘れるのでまとめておきます。RouterOSはかろうじて日本でもユーザがちらほら確認されますが、Dudeとなるとググってもさっぱりで私ぐらいだと思いますが、v3の頃からもう10年以上愛用しています。当時用意されていたWindows用のバイナリはサーバモード、クライアントモードで動かすことが出来て、LinuxでもWINEで動かす方法が公式でもサポートされていたので、CentOSZ+WINEでサーバ、ローカルはWindowsやUbuntuでクライアントモードを動かしていました。
時は移り、現行のv6系のDudeではサーバモードはRouterOS内包のみとなったことから、仮想マシンベースのRouterOSを新造し運用しています。リソースがとても少なくて済むのは有り難いのですが、とてもクセのあるWebUIやコンソールCLIにはなかなか慣れません。
SNMPベースのDudeではデフォルトでも豊富なMIBが用意されていますが、APCやVMware、Windows Serverなどメーカー固有のMIBについては、各自でサーバへアップロードする必要があります。v3系の頃はクライアントモードのGUIからアップロードしたり、そもそもWindowsなりLinuxなり、Dudeバイナリのあるフォルダへ放り込めば良いだけなので簡単でした。これがv6系では廃され、RouterOSのWebUIにあるファイルアップロードでいいのかな、と思ったのですが、よく見るとこれ、アップロード先パスを指定する手段が見当たらず、アップロードしたけどDudeに届かず、みたいな状況に。
RouterOSにはsshが用意されていることから、sftpを介してファイル転送してみます。作業用のUbuntuのファイルマネージャ、Nautilusでは、以下の要領で容易に開くことが出来ます。
1 |
sftp://USERNAME@IPADDRESS/ |
既存のファイルには手を付けないよう、別個にフォルダを新規作成してそこへMIBファイルをコピーします(下図でコピーしたのは、APC UPS用PowerNet MIB)。
正しく転送されていることをRouterOSのFile機能上とDudeクライアントから確認。

図05.DudeクライアントのFiles機能で転送されたファイルを視認
アップロードしたMIBファイルをDudeに読み込ませるには、機器を再起動させるか、次の要領でDudeサービスを停止・再起動させる必要があります(実際、ファイルを配置しただけで数時間放置してみましたが、リロード再読込のようなアクションはありませんでした)。
- RouterOSのWebUI左メニューDude内Settingsを開く。
- Enabledに入っているチェックを外してApply(これで停止)。
- 再び今度はチェックを入れてApply(これで開始)。
Dudeサービスの再起動後、クライアント側でも正しく表示されたら、追加されたMIBが読み込まれているか確認します。先ずはMIBのファイルレベルで。
次にモジュールタブへ移り、MIB内のモジュールが登録されているか確認します。
以上の手順で更に必要なMIBを追加します。ちょっとWindows Server 2012 のDHCPサーバサービスのトラブルシューティングが必要になったので、関連するMIBをWindows Serverのシステムフォルダから抜き出し、Dudeへアップロードします。
MIBを読み込ませた後、Dudeクライアントのsnmpwalkで、追加したDHCPに関するOIDを参照してみました(ちなみにこのDudeクライアントは、MacOS+WINEで動いています)。
SNMPベースの監視ツールではZabbixやNagiosがポピュラーですが、Dudeはクライアントで監視するデバイスを追加する手順がとても単純なので導入しやすいので、小規模ネットワークでDudeクライアントをスタンドアローンモードで運用するのに適しています。