If you work in smaller environments, like I do, the need for inventory software can seem...well, distant. Maybe you can keep track of everything already, or maybe that spreadsheet or wiki page is just fine.
But what happens when you upgrade your systems? What about when you want to get more information, like service tags or the number of DIMM slots in use? What about keeping a history of each machine, so you can see what problems you've had with it? What about simply hitting the jackpot and getting ten or twenty or fifty machines in a week?
Relax. OCS Inventory NG and GLPI are here to help.
OCS Inventory NG
OCS Inventory NG is a French project released under the GPL. It helps you:
- keep track of your systems, including a full inventory of software and hardware
- manage the inventory using a web interface
- deploy packages to your systems as needed
Now, I'll be honest: I don't use the package management part of OCSNG. (I use cfengine for that.) Instead, I use the agent software to get machines to inventory themselves.
The OCSNG agent a clever tool that runs well on both Unix (I've tested it on OpenBSD, CentOS and Ubuntu Linux, and Solaris) and Windows (I've only tried it on Windows XP so far). It takes an inventory of the hardware (including things like Dell service tags), number and type of hard drives, and MAC addresses, and reports it via the web interface.
(One gotcha: I tried for a while to get the web interface to work behind Apache's mod_reverse_proxy, but this failed. In the end I gave up and put the website on a server available directly from my networks.)
Because the agent is meant to be self-sufficient, it will automagically install the various Perl modules it needs if it can't find them and put them under its installation directory (/opt/OCSNG by default). I'd rather grab those modules using the distro's package management tool, so I wish there was a way to turn that behaviour off. However, that's a minor nit.
You'll notice that the management website is kind of spare. This is where GLPI shines.
GLPI is another French, GPL'd tool, and it complements OCS Inventory quite well. It has a much broader aim: rather than simply keeping track of your machines, it allows you to keep a whole swath of information about them. Problems and their resolution, support contracts, contact people, random notes -- GLPI wil track it all.
Again, though, I already have tools for much of this (Request Tracker for tickets, FosWiki for documentation). What I really like about GLPI are the inventory tools.
GLPI will certainly let you add new machines manually to its inventory. There is a plugin for GLPI called OCS Import that will let you suck data in from your OCSNG installation, and that's what I've done.
Installing the OCS Import plugin is simple, but adding new machines takes a bit more work. Rather than automagically grabbing info from OCSNG whenever it shows up, the plugin allows you to specify machines to insert into GLPI, or to update afterward.
(Originally, I was going to write that it was a shame that you had to do this by hand, not just the first time, but every time the information in OCSNG got updated. However, it turns out there is a script in the plugin to do a mass synchronization of GLPI with OCSNG and is suitable for running from cron. Memo to myself: RTFM.)
GLPI's interface is easy to use. You can update location information, add PDFs of support contracts, or change the responsible person. You can export inventory lists to PDF. Additionally, you can extend its functionality with a multitude of plugins, covering everything from order management to exporting notes to Outlook to showing Snort alerts.
You've tried chocolate and peanut butter; now try OCS Inventory NG and GLPI. You'll like it.