Design draft sitesummary =========== system to collect key info about all the machines on a site, to help the sysadmin keep track of a lot of hosts. Should be capable of handling both thin clients and "real machines" - two package, one server sitesummary and one client sitesummary-client - the client submits information to the server using HTTP put. It include the list of files it intend to submit, to detect deleted files. - the HTTP connection is either using SSL, or the file(s) transfered are GPG encrypted. (figure out key exchange system) - the client submit a set of files and output from commands with hw information etc (need plugin system to make it submit more files) - lspci - lsusb - dmidecode - uname -s / -m / -r / -v / -o - ifconfig -a - public ssh host key - /etc/debian_version - dpkg -l - /etc/apt/sources.list - /etc/fstab - /proc/cpuinfo - /proc/meminfo - the server track changes done to the files (some version control system like rcs?) on each host, and make summary report on the number of individual machines reporting to the server - how do we identify machines? MAC address could work (ip -s -f link maddr - which when several interfaces?). IP addess will not work for thin clients on private networks behind two different servers. the linux hostid command is only using IP address and is useless. Can not generate random key stored on the file system, as this would give all thin clients on a server the same ID. dmidecode serial number might work for some models, but others have the same serial number on several machines. - ideas for use of this info - machine count, grouped by os/kernel/etc - can generate a list of host keys for distribution to the clients - can generate dhcp MAC<->IP mapping - can generate lts.conf files for the LTSP clients The server can either be a CGI script, or listen on some port on its own. The client should be a platform independent script with as few dependencies as possible, to make it lightweight and easy to install on all machines. (perl, python, /bin/sh?) Should the client know which files to report, or should the server be able to affect it? Can cfengine, nagios or munin be used for this instead?