kmuto’s blog

はてな社でMackerel CREをやっています。料理と旅行といろんなIT技術

SNMP MIBデータベースをツリー化&検索する『MIBの杜』を作ってみた

ネットワーク機器などに利用されるSNMPのそれぞれのオブジェクトはOIDという識別子で整理されており、このOIDはツリー構造になっている。どのOIDがどういうものを表すかは、MIBというデータベースに定義されている。ASN.1という抽象構文で、人間がこれを拾って読むことはあまり想定されていない(少なくともOIDと紐づけて探すのは人間では無理)。

で、これを見るためにMIBブラウザというソフトウェアジャンルがあるのだが、LinuxmacOSWindowsどれもあんまり良いOSSがない。Linuxではtkmibくらい(Tk…)。

対策の1つとしてOIDと説明をCSVで書き出す『miburi』を過去に作っていた。

kmuto.hatenablog.com

しかし、やはりツリー構造をたどりたいケースも多いので、Geminiに聞きながらWebアプリケーションとして今回作ってみた。その名も『MIBの杜』。新撰組秋保窓とは無関係である。

github.com

バックエンド側でMIBファイル群を解析し、フロントエンドからツリー表示・検索・詳細表示ができる。

バックエンドはGo、フロントエンドはReact。GeminiはReactについては素晴しい精度で教えてくれて、独自にやることがほぼなかった。しかしGoについてはgosmiパッケージについての知見が怪しく、普通にデタラメなことを返してくる。CoPilotの提案もいまいちだったため、プロトタイプはほぼ手書き。

個人的にはけっこう便利なものになったし、日英両方の言語で使えるようにしたので、同じように困っている人が気付いて使ってくれるといいな。

github.com