The sysinfo module consists of a Perl script run via cron which processes reports sent via the sysinfo-client script.
Since the sysinfo-client script can send reports via http upload, smtp and/or other methods, the sysinfo server script must check all of those. It then reads each report and updates device information in CAMP.
The sysinfo-client script is, again, 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.
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.