OCSNGによる効率的なソフトウェア財産目録管理

私は勤務先の会社で、各種のLinuxディストリビューションまたはWindowsを搭載したコンピュータ、約200台を管理している。社内のハードウェアおよびソフトウェアの財産目録情報を管理するために、PHPベースの財産目録アプリケーションを自前で構築していた。このソフトウェアでは、少しでも情報に変更があると、我々の手作業による情報の更新が必要だったため、おわかりのとおり、データはいつも古い状態だった。このシステムに代わって、GNU GPLの下でリリースされているOpen Computer and Software Inventory Next Generation(OCSNG)を新たに導入したところ、OCSNGは我々のニーズに非常によく合致した。導入すればすぐにわかるだろうが、OCSNGの利点は、データの収集と更新を自動的に行ってくれることにある。財産目録管理では、非常に重要な機能だ。

OCSNGでは、OSの種類とバージョン、インストールされているパッチやアプリケーションといったソフトウェア情報だけでなく、プロセッサ、マザーボード、ビデオカード、PCIカード、メモリなど、ハードウェア情報の管理および表示もできる。各種LinuxやWindowsのほか、Mac OS X、Solaris、AIXにも対応している。

Fedora Core 4が動作しているLinuxサーバの1台に、OCSNGをダウンロードしてインストールを行った。このサーバ側のソフトウェアは、Windows NTでも動作する。OCSNGのソフトウェアは、3つの部分で構成されている。クライアントとサーバとの間でやりとりを行う通信サーバ、Webインタフェースを提供する管理サーバ、そして管理対象の各コンピュータにインストールされるエージェントだ。

通信サーバはPerlで書かれている。これを動作させるために、Comprehensive Perl Archive Network(CPAN)から追加モジュールをいくつかダウンロードする必要があった。マニュアルには、インストールの要件と手順が詳しく記されているので、インストールは簡単に済んだ。

一方、管理サーバはPHPで書かれており、動作させるにはPHP、Apache、それにMySQLが必要になる。こちらのインストールもわかりやすい。

OCSNGのLinux用クライアントソフトウェアは、Perlアプリケーションである。実行するには、XML-Simple、Compress-Zlib、Net-IPといったPerlモジュールが必要だ。Windowsの場合は、ログオンスクリプトまたはActive Directoryを使ったインストールか、セットアップファイルによるフルインストールのいずれかを選ぶことができる。

このエージェントは、各クライアントシステムにインストールされると、その財産目録情報をHTTP経由で通信サーバに送信する。財産目録情報は、通信サーバのデータベースに格納され、管理サーバのWebインタフェースを使って参照できるようになる。

OCSNGでは、ハードウェアやソフトウェアの情報以外に、購入日や設置場所、認定ユーザ、サポート契約の詳細といった補足的な管理情報も財産目録データベースの一部として保存できる。管理サーバは、ハードウェアおよびソフトウェア情報の任意のパラメータを用いた検索に対応している。

通信サーバと管理サーバには、クライアントで実行中のエージェントにアップデートを適用する機能がある。Windowsクライアントの場合、先に述べたActive Directoryを使ってエージェント自体をインストールすることもできる。

Windowsのエージェントには、レジストリを参照し、レジストリパラメータの値を報告する機能がある。この機能は、使用中のソフトウェアのシリアル番号を監視するのに思いがけず役立っている。

OCSNGで興味深いのは、ネットワーク化されていないコンピュータの財産目録にも対応できる機能である。ネットワークの設定がされていない、または、OCSNGが稼働しているネットワークにつながっていないコンピュータは、常に存在し得る。そうしたクライアントはオフライン・クライアントとみなされ、オフラインモードでOSCNGのエージェントを実行して、管理サーバにデータを送信することができる。

すべてのクライアントコンピュータでエージェントが実行されていることは、通常、自動財産目録管理ソフトウェアにとっての前提条件である。また、OCSNGは、財産目録情報がまだ登録されていないコンピュータを検出することもできる。そうして発見されたホストがプリンタやルータのようなデバイスなのか、未登録のコンピュータなのかを判断するために、nmapのようなツールを使って高度な分析を行うのだ。OCSNGは、ネットワークスキャンの作業をエージェントに実行させ、その結果は通信サーバに報告される。この機能は、特に、いくつかのサブネットに分かれた巨大なネットワークにおいて、未登録コンピュータ検出作業の負荷を分散させるのに役立っている。OCSNGは、サーバによるこの検出の処理にどのクライアントに協力させるのが最適かを判断する堅牢な仕組みを備えている。

また、再インストールが行われた登録済コンピュータを検出する機能もある。さらに、管理者には、オペレーティングシステムまたは他の環境の再インストールによって起こり得る登録の重複を特定し、解消する機能まで提供されている。

OCSNGには、私が財産目録管理ソフトウェアに求めていたすべての機能が揃っている。各種コンポーネント間の通信には、HTTPなどオープンな標準規格が採用されているため、検索の入力として財産目録情報を必要とするその他のシステムとの統合も容易である。たとえば、GPLライセンスのヘルプデスク管理システム、GLPIは、このOCSNGと統合されている。

NewsForge.com 原文