68 lines
2.6 KiB
Plaintext
Executable File
68 lines
2.6 KiB
Plaintext
Executable File
SPUD -- Statistic Polling and Updating Daemon
|
|
System Productivity and Utilization Daemon
|
|
...or something
|
|
|
|
-- Introduction --
|
|
SPUD is a set of programs that are designed to collect statistics using
|
|
a variety of methods that are easily extendable to gather information on
|
|
almost anything you could want to get statistics on. It then stores these
|
|
bits of data in a simple hash server that supports retrieving data enmasse
|
|
as well as subscribing to update events.
|
|
|
|
|
|
-- The Components --
|
|
There are several pieces to the system:
|
|
|
|
- server
|
|
A simple server that stores key/value pairs with 100 data points
|
|
of history.
|
|
|
|
- gatherer
|
|
The program that gathers the actual numbers and puts them in a
|
|
stats-server.
|
|
|
|
- replicator
|
|
Works in conjunction with a properly configured SSH daemon and the
|
|
cmdshell utility to get stats from one secure network to another.
|
|
|
|
- wrapper
|
|
A little script that effectively "wraps" another shell command and
|
|
pipes its STDOUT/STDERR to appropriately named keys on the server.
|
|
Also keeps track of the start/end times of the last time the command
|
|
ran.
|
|
|
|
- cmdshell
|
|
A simple utility program that works with stats-replicator.
|
|
|
|
For more information on each component, please see the various
|
|
configuration files in the conf directory as well as the opening comments
|
|
of each program. They are fairly well described in there.
|
|
|
|
|
|
-- Setup --
|
|
More documentation to come after the bugs are worked out and the system is
|
|
actually setup and in use. But, in general:
|
|
|
|
1. Run a stats-server in your internal network somewhere and note the port.
|
|
|
|
2. Setup the stats.conf for the statistic gatherers. Then run it once on
|
|
a machine that's got some spare time to do gathering. Make sure to point
|
|
this configuration's config files at the server from step 1.
|
|
|
|
3. Setup an SSH daemon and dummy account on a border machine that you can
|
|
get to from the outside world and that can also see the internal network.
|
|
Set the shell of the dummy user to cmdshell and configure cmdshell. Also
|
|
setup the authorized_keys file appropriately. You will want a command
|
|
(e.g. replicator) that points at the server setup in step 1.
|
|
|
|
4. Setup a second stats-server on your local machine/network. Note down
|
|
the port again.
|
|
|
|
5. Setup the stats-local.conf on your local end to point to the SSH daemon
|
|
that you setup in step 3. Now run the replicator and point it at this
|
|
config file and it will start copying data from the first stats server to
|
|
the second.
|
|
|
|
That's it. Now get some statistics displayers and all of the data gathered
|
|
and put onto the first server will be replicated over to the second server.
|