NAME

blinkenlights - DNSSEC-Tools rollerd GUI

SYNOPSIS

  blinkenlights <rollrec-file>

DESCRIPTION

blinkenlights is a GUI tool for use with monitoring and controlling the DNSSEC-Tools rollerd program. It displays information on the current state of the zones rollerd is managing. The user may control some aspects of rollerd's execution using blinkenlights menu commands.

blinkenlights creates a window in which to display information about each zone rollerd is managing. (These zones are those in rollerd's current rollrec file.) As a zone's rollover status changes, blinkenlights will update its display for that zone. Skipped zones, zones listed in the rollrec file but which are not in rollover or normal operation, are displayed but have very little useful information to display.

The user may also select a set of zones to hide from the display. These zones, if in the rolling state, will continue to roll; however, their zone information will not be displayed. Display state for each zone will persist across blinkenlights executions.

Menu commands are available for controlling rollerd. The commands which operate on a single zone may be executed by keyboard shortcuts. The zone may be selected either by clicking in its "zone stripe" or by choosing from a dialog box. Display and execution options for blinkenlights are also available through menu commands. More information about the menu commands is available in the MENU COMMANDS section.

blinkenlights is only intended to be started by rollerd, not directly by a user. There are two ways to have rollerd start blinkenlights. First, rollctl may be given the -display option. Second, the -display option may be given on rollerd's command line.

OPTIONS

blinkenlights takes the following options:

-display

Tells rollerd to execute blinkenlights as a child process.

-maxzones

Tells blinkenlights how many zones to display.

-Version

Displays the version information for blinkenlights and the DNSSEC-Tools package.

-help

Displays a usage message and exits.

SCREEN LAYOUT

The blinkenlights window is laid out as a series of "stripes". The top stripe contains status information about rollerd, the second stripe contains column headers, and the bulk of the window consists of zone stripes. The list below provides more detail on the contents of each stripe.

See the WINDOW COLORS section for a discussion of the colors used for the zone stripes.

WINDOW COLORS

The default blinkenlights configuration uses window coloring to provide visual cues and to aid in easily distinguishing zone information. The default window coloring behavior gives each zone stripe has its own color and the rollover state section of each zone stripe is shaded to show the zone's phase. Window coloring can be turned off (and on) with configuration options and menu commands.

Color Usage

The two window coloring behaviors are discussed more fully below:

Colors Used

The color names are taken from the X11 rgb.txt file (X11 1.1.3 - XFree86 4.4.0 for MacOS X.) If these aren't available in your rgb.txt file, similar names should be selected. The actual red/green/blue values used are given below to assist in finding suitable replacements. These values were taken from the rgb.txt file.

Blue Shades:

    blue                0   0 255
    lightblue2        178 223 238
    darkslategray1    151 255 255
    skyblue1          135 206 255
    steelblue1         99 184 255
    turquoise1          0 245 255
    cornflower blue   100 149 237
    dodger blue        30 144 255

Red Shades:

    red               255   0   0
    pink              255 192 203
    lightsalmon1      255 160 122
    tomato            255  99  71
    indianred         205  92  92
    violetred1        255  62 150
    orangered1        255  69   0
    firebrick1        255  48  48

Green Shades:

    green               0 255   0
    darkseagreen1     193 255 193
    darkolivegreen1   202 255 112
    lightgreen        144 238 144
    seagreen1          84 255 159
    spring green        0 255 127
    greenyellow       173 255  47
    lawngreen         124 252   0

MENU COMMANDS

A number of menu commands are available to control the behavior of blinkenlights and to send commands to rollerd. These commands are discusses in this section.

File Menu

The commands in this menu are basic GUI commands.

Options Menu

The commands in this menu control the appearance and behavior of blinkenlights.

General Control Menu

The commands in this menu are GUI interfaces for the rollctl commands related to general zone management.

ZSK Control Menu

The commands in this menu are GUI interfaces for the rollctl commands related to ZSK-specific zone management.

KSK Control Menu

The commands in this menu are GUI interfaces for the rollctl commands related to KSK-specific zone management.

Display Menu

The commands in this menu provide control over what is being displayed. There are commands for displaying and hiding both zone stripes, columns of key sets, columns of rollrec names, and columns of zonenames.

The zonestripe commands allow all, some, or none of the zone stripes to be displayed. Undisplayed rolling zones will continue to roll, but they will do so without the blinkenlights window indicating this.

The data column commands allow individual columns of data to be hidden or displayed. The zone status column may not be hidden. Only one of the rollrec name and zonename columns may be hidden at a time.

Help Menu

The commands in this menu provide assistance to the user.

CONFIGURATION FILE

Several aspects of blinkenlights' behavior may be controlled from configuration files. Configuration value may be specified in the DNSSEC Tools configuration file or in a more specific rc.blinkenlights. The system-wide blinkenlights configuration file is in the DNSSEC-Tools configuration directory and is named blinkenlights.conf. Multiple rc.blinkenlights files may exist on a system, but only the one in the directory in which blinkenlights is executed is used.

The following are the available configuration values:

    colors      Turn on/off use of colors on zone stripes.
    fontsize    The size of the font in the output window.
    maxzones    The number of zones to display.
    modify      Turn on/off execution of rollerd modification commands.
    noshow      Turn off display of particular columns.
    shading     Turn on/off shading of the status columns.
    showskip    Turn on/off display of skipped zones.
    skipcolor   The background color used for skipped zones.

The rc.blinkenlights file is only searched for in the directory in which blinkenlights is executed. The potential problems inherent in this may cause these blinkenlights-specific configuration files to be removed in the future.

This file is in the "field value" format, where field specifies the output aspect and value defines the value for that field. The following are the recognized fields:

Empty lines and comments are ignored. Comment lines are lines that start with an octothorpe ('#').

Spaces are not allowed in the configuration values.

Choose your skipcolors carefully. The only foreground color used is black, so your background colors must work well with black.

The noshow command controls display of the various data columns. The command valid values are:

    rollrecs    Turn off display of the rollrec names column.
                This value may not be used with "noshow zonenames".
    zonenames   Turn off display of the zonenames column.
                This value may not be used with "noshow rollrecs".
    zonegroups  Turn off display of the zonegroups column.
    kskset      Turn off display of the KSK signing set columns.
    zskset      Turn off display of the ZSK signing set columns.
    keysets     Turn off display of the KSK and ZSK signing set columns.

REQUIREMENTS

blinkenlights is implemented in Perl/Tk, so both Perl and Perl/Tk must be installed on your system.

WARNINGS

blinkenlights has several potential problems that must be taken into account.

development environment

blinkenlights was developed and tested on a single-user system running X11 using a relatively small number of zones. While it works fine in this environment, it has not been run on a system with many users or in a situation where the system console hasn't been in use by the blinkenlights user.

long-term performance issues

In early tests, the longer blinkenlights runs, the slower the updates become. This is probably a result of the Tk implementation or the way Tk interfaces with X11. This is pure supposition, though.

This performance impact is affected by a number of things, such as the number of zones managed by rollerd and the length of rollerd's sleep interval. Large numbers of zones or very short sleep intervals will increase the possibility of blinkenlights' performance degrading.

This appears to have been resolved by periodically performing a complete rebuild of the screen. blinkenlights keeps track of the number of screen updates it makes and rebuilds the screen when this count exceeds a threshold. The threshold is built into blinkenlights and stored in the $paintmax variable. This threshold may be adjusted if there are too many screen rebuilds or if blinkenlights' performance slows too much. Raising the number will reduce the screen rebuilds; lowering the number will (may) increase performance.

display irregularities

If the user modifies the number of zones to be displayed, then sometimes the blinkenlights window is left in an irregular state. The requested number of zones are displayed, but there is a large grey void above and below the zone display. This is an occasional problem and will be fixed as time allows.

COPYRIGHT

Copyright 2006-2014 SPARTA, Inc. All rights reserved. See the COPYING file included with the DNSSEC-Tools package for details.

AUTHOR

Wayne Morrison, tewok@tislabs.com

SEE ALSO

bubbles(8), rollctl(8), rollerd(8), zonesigner(8)

Net::DNS::SEC::Tools::timetrans(3)

Net::DNS::SEC::Tools::keyrec(5), Net::DNS::SEC::Tools::rollrec(5),