今まで、OpenDCIMやDevice42、RalphといったDCIMツールを触ってきたのだが、DegitalOceanから『netbox』というDCIMツールが出たようなので、ちょっと触ってみることにする。
ちゃんとOSにインストールするなら、こちらの公式ドキュメントを参考に行うといいだろうが、ちょっと面倒くさそうだ。
Dockerイメージもあるので、今回はお試しということもあってこちらを利用する(なので、前提として最新版(少なくとも、docker-composeのVersion2の記述方法に対応したバージョン)のDockerとdocker-composeがインストール済みとなってる必要がある)。また、Dockerの設定ファイルを見たところ、今時点では16.04には対応してなさそうなので、14.04を用いる。
Dockerおよびdocker-composeをインストールしたら、以下のコマンドで「netbox」のDockerイメージを起動させる。
git clone -b master https://github.com/digitalocean/netbox.git
cd netbox
sudo docker-compose up -d
Dockerでの起動が終了したら、「http://IPアドレス」でアクセスできる。
この状態だとログイン前のため、何も編集ができない(閲覧モードになる)。右上の「Log in」からログインできる。

ログイン用のデフォルトID/PWは「admin/admin」となっている。

ログイン後の画面がこちら。

「netbox」は、以下のような構成になっているようだ。
- Organization 
- Sites … 地理的な場所(DCのある場所)
 - Tenants … そのSiteに紐づく客や部門など
 
 - DCIM 
- Racks … ラックの情報(Sitesがないと作れない)
 - Devices … ラックに搭載するデバイスの情報
 
 - IPAM 
- VRFs … VRFの情報
 - Aggregates … トップレベルIPの割り当て情報
 - Prefixes … IPv4/IPv6ネットワーク割り当て情報
 - IP Addresses … 各IPアドレスの管理情報
 - VLANs … 各VLANの管理情報
 
 - Circuits 
- Providers … インターネットプロバイダ情報
 - Circuits … インターネット接続情報?(インターネット速度など)
 
 - Secrets 
- Secrets … パスワードなどの機密情報(今時点でSSL経由の通信ないみたいだけど。まぁリバースプロキシをコンテナで動かさせたりすればいいだけだから…)
 
 
各機能(特にRackまわり)、なんとなく触ってみたので、スクリーンショットを貼っておく。
ラック。ラックに搭載する機器はデバイスタイプ(自分で設定する。サーバとかスイッチとか)ごとに色を変えられるので、閲覧性は悪くない。

各デバイスにはネットワークポートを設定でき、それぞれ対向先の機器についても定義できる。
(この辺はまだRalphにはついてないんだよなぁ…今年の10月から開発するって言ってたけど、どうなんだろう…)


各ネットワークポートの作成には正規表現を使えるので、スイッチの作成では結構楽。

シークレット機能が少し面白い。
登録時に鍵で暗号化しておき、自身のProfileで設定した鍵と一致した場合は中身を見れるようだ。
こんな機能があるのにSSL経由の通信じゃないのは残念だが、また改善されていくだろう。


DegitalOceanの作成したツールということもあり、結構期待してもよさそう。
まだDCIMを導入してないような環境であれば一考の価値はありそうだ。

