It's purpose is to report ServerKit runtime statistics on a virtual terminal periodically, optionally with screen blanking disabled in the interests of keeping recent statistics available in the face of system failures, overloads, or access restrictions regardless of console inactivity.
The information displayed is the same information you see on the server processes output upon delivery of SIGUSR1, but the vtstats report loop is unrelated to the builtin ServerKit signal-driven statistics report beyond sharing the same reporting function.
When used along with disabled screen blanking and vt activation enabled, this module takes advantage of the characteristic of frame buffers to independently continue displaying the contents of memory regardless of the overall system health/state. Even when the machine is frozen the RAMDAC continues "displaying" the contents of video memory.
If you do not disable screen blanking, you lose the ability to simply attach a display adapter and view the current video memory contents in situations where the machine is unable to respond to keypresses or other events that would normally unblank the screen. (lockups)
To integrate vtstats into existing ServerKit personalities, simply add the vtstats.so module to the existing personalities modules subdirectory. Configuration of the vtstats module is achieved through adding a vtstats section to your existing c11n file.
Vtstats will generally require a server process that starts as root so it can manipulate /dev/console. It is recommended that you configure the personality to switch users using the uid and gid directives when executing as root. Note that in order for ServerKit to allow root execution, the executes_as_root configuration option must be set to true.
ServerKit versions 1.2.0 and earlier contain a bug in the reporting function which ignores the supplied FILE * and prints directly to stderr. If when vtstats reports statistics you get some of the statistics printed to stderr instead of the virtual terminal, your ServerKit has the bug.
|period||integer||Period to insert (sleep) between reports in seconds, default is 5|
|vt_number||integer||Which virtual terminal to use, 0 means find next available and is the default.|
|activate_vt||boolean||Toggles wether the module should "activate" (switch to, focus, etc) the vt_number being used. Default is false|
|disable_blanking||boolean||Toggles wether the module should disable screen blanking on the console. Default is false|
You can query the module for its supported configuration options by simply running it like a normal executable program. This is the preferred method of keeping informed on what configuration values are supported and what the defaults are.
Here is some sample output of running the module:
swivel@volatile:~/src/vtstats-0.0.1$ ./vtstats.so ServerKit bundled module inspector - Summary - Name: vtstats Description: Virtual terminal ServerKit statistics reporter Module version: 0.0.1 ServerKit build environment version: 1.2.0 Authors: Vito Caputo <vcapu***NOSPAM***om> - Supported configuration options & defaults - period = 5 vt_number = 0 activate_vt = false disable_blanking = false
|Release date||Tar.gz||MD5 checksum|
If you would like to contribute to this project monetarily, feel free to donate via the paypal button below.