SNMP MIBデータベースをツリー化&検索する『MIBの杜』を作ってみた
ネットワーク機器などに利用されるSNMPのそれぞれのオブジェクトはOIDという識別子で整理されており、このOIDはツリー構造になっている。どのOIDがどういうものを表すかは、MIBというデータベースに定義されている。ASN.1という抽象構文で、人間がこれを拾って読むことはあまり想定されていない(少なくともOIDと紐づけて探すのは人間では無理)。
で、これを見るためにMIBブラウザというソフトウェアジャンルがあるのだが、Linux・macOS・Windowsどれもあんまり良いOSSがない。Linuxではtkmibくらい(Tk…)。
対策の1つとしてOIDと説明をCSVで書き出す『miburi』を過去に作っていた。
しかし、やはりツリー構造をたどりたいケースも多いので、Geminiに聞きながらWebアプリケーションとして今回作ってみた。その名も『MIBの杜』。新撰組や秋保窓とは無関係である。
バックエンド側でMIBファイル群を解析し、フロントエンドからツリー表示・検索・詳細表示ができる。
バックエンドはGo、フロントエンドはReact。GeminiはReactについては素晴しい精度で教えてくれて、独自にやることがほぼなかった。しかしGoについてはgosmiパッケージについての知見が怪しく、普通にデタラメなことを返してくる。CoPilotの提案もいまいちだったため、プロトタイプはほぼ手書き。
個人的にはけっこう便利なものになったし、日英両方の言語で使えるようにしたので、同じように困っている人が気付いて使ってくれるといいな。