ネットワークデバイスモニターを作っています。その一部は、ユーザーが関心のある SNMP 値 (SNMP OID) を入力できる PHP フロントエンドです。ユーザーにとってプロセスを簡単にしたいので、ユーザーがツリーから値を選択できるようにする単純な MIB ブラウザーを作成したいと考えています。
問題は、MIB ファイルをユーザーに提示できる場所からデータベース (または少なくとも XML のような形式) に読み取ることです。オンザフライでMIBファイルを解析するのは無駄に思えるので、PHPのsnmp_read_mib()を除外します-MIBを一度読み取ってOID変換をDBに保存できない限り?
また、できれば自分でパーサーを書くのは避けたいです。:)
libsmi を見つけましたが、この場合の使用方法がわかりません... smidump を使用してみましたが、有用なコンテンツのない短い XML しか作成できませんでした。ただし、xmldump はまだ試していません。Debian では (パッケージとして) 利用できず、ソースからビルドする必要があるからです。また、2005年のものだと思います。
問題は、OID 名やその他のデータ (SNMP トラップ情報) を MIB ファイルから読み取り、すぐに使用できる形式に変換するにはどうすればよいかということです。