sysinfo-client

sysinfo-client is a perl script which gathers information on a computer and sends the result to a central server for storage or processing. It was written to update a CAMP installation, but can be parsed by other scripts as well.

The sysinfo-client script is a very basic container that uses modules to extend its capabilities. With no modules or scripts, sysinfo reports the information in the configuration file (client, machine name, serial number and UUID) and displays the report to stdout. As a cron job, that means the report will go to the root user’s e-mail account for the server.

  • Modules gather information from the client machine such as disk usage, cpu/memory information, installed software and even IPMI event logs. Modules may be written in any language. They simply process information and return it as a series of tab delimited lines on stdout.
  • Scripts determine how to send information to the CAMP server. Currently, they can be uploaded via http, or sent via e-mail. The transport scripts are prioritized in the configuration to allow failover (ie, if http upload fails, fall back to smtp, then fall back to storing the file on a local disk)

sysinfo was designed to not require any perl modules be installed, though modules and scripts are allowed to require those. The generated script as of this writing is in custom generated YAML, in keeping with the idea of not needing anything beyond the basic Perl interpreter.

The sysinfo installer has been tested on the following operating systems:

sysinfo-client has been tested on Microsoft operating systems using Strawberry Perl, but no modules have been created, and the testing has not been very thorough to date.

The stable version of sysinfo may be downloaded via subversion from:

http://svn.dailydata.net/svn/camp_sysinfo_client_3/tags/stable

and development acquired from

http://svn.dailydata.net/svn/camp_sysinfo_client_3/trunk