How to monitor package versions across multiple (Linux) servers

We use Puppet for installing the base level OS and packages, but our own application packages are deployed manually by individual developers.

I'm looking for a web dashboard to view/monitor the package versions across all machines. Has anyone come across something that achieves this? The puppet-dashboard project is interesting, but it gives a node-centric view, whereas I'd like to see at the class level, e.g.

          Server 1 | Server 2 | Server 3 
   pkg1   v1.2     | v1.2     | *v1.3*
   pkg2   v.09     | v.09     | v.09

Thank you!


Solution 1:

You can use http://www.ocsinventory-ng.org/fr/ it will inventory the packages on your boxes.

Some people like to couple it with gpli

http://www.ocsinventory-ng.org/en/about/features/ocsng-glpi.html

Used with a IT and Asset Management Software such as open source tool GLPI, you will have a powerful inventory and asset management software with automatic updates of computer configuration, license management, help desk and more.

Solution 2:

This looks like OCSInventory does a SNMP-bulkwalk of the Host-Resources-Installed-Sofware-Tree.

If your software is being installed with a package mechanism that will work for you.

If it does not, you will have to code something yourself.

You could run a cron-job, that calls specific binaries and updates version information with a simple SQL-statement into a central DB.

If you are interested in just a few packages, you might code that query using dpkg-queries (or rpm-queries on RPM-based systems).