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.
- •
- rollerd information stripe
The information stripe contains five pieces of information: rollerd's
current rollrec file, the count of rolling zones, the count of
skipped zones, the count of zones to be displayed, and the amount of time
rollerd waits between processing its queue. Coincidentally, that
last datum is also the amount of time between blinkenlights screen
updates.
- •
- column headers stripe
This stripe contains the column headers for the columns of each zone
stripe.
- •
- zone stripes
Each zone managed by rollerd (i.e., every zone in the current
rollrec file) will have a zone stripe which describes that zone's
current state. The stripe is divided into three sections: zone
identification, the current rollover state, and the zone's DNSSEC keys.
The zone identification section contains the name of the zone, the name of
the zone's rollrec entry, and the zone's zonegroup.
The rollover state section contains the rollover phase number, a text
explanation of the phase, and the amount of time remaining in that
rollover phase. The phase explanation is "normal operation" when
the zone isn't currently in rollover.
The DNSSEC key section contains two subsections, one for the zone's ZSK keys
and another for the zone's KSK keys. Each subsection contains the names of
the signing sets active for the zone. The ZSK subsection lists the
Current, Published, and New ZSK keys; the KSK subsection lists the Current
and Published.
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:
- •
- zone stripe colors
Each rolling zone's stripe is given one of three colors: blue, red, or
green. The color is assigned on a top-down basis and the colors wrap if
there are more than three zones. So, the first zone is always blue, the
second zone red, the third zone green, the fourth zone blue, etc.
The colors do not stay with a particular zone. If a rolling zone becomes a
skipped zone, the zone stripes will be reassigned new colors to account
for that skipped zone.
Skipped zones are not colored with these three colors. Stripes for skipped
zones are colored either grey or a color set in the configuration file. If
you choose to use a non-standard color for skipped zones your should
ensure that it is not one of the colors used for rolling zones'
stripes. Modifying the skipcolor configuration field allows the
skipped-zone color to be changing.
The colors configuration field can be used to turn on or off the use
of colors for zone stripes. If stripe coloring is turned off, then every
stripe will be displayed using the skipcolor color.
- •
- rollover-state shading
The only portion of a zone stripe that changes color is the status column;
the color of the rest of the zone stripe stays constant. Before a zone
enters rollover, the status column is the same color as the rest of the
stripe. When the zone enters rollover, the status column's color is
changed to a very light shade of the stripe's normal color. As the
rollover phases progress towards rollover completion, the status column's
shade darkens. Once rollover completes, the status column returns again to
the same shade as the rest of that stripe.
The shading configuration field can be used to turn on or off the use
of shading in the rollover-state column. If shading is turned off, then
the zone stripe will be a solid color.
See the CONFIGURATION FILE section for information on setting the
configuration fields.
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.
The commands in this menu are basic GUI commands.
- •
- Halt Rollerd After Current Operations
rollerd's execution is halted after completing its current set of
zone operations. As a result, blinkenlights' execution will also be
halted.
- •
- Halt Rollerd Now
rollerd's execution is halted immediately. As a result,
blinkenlights' execution will also be halted. If rollerd's
command queue already contains a set of commands, they may be processed
prior to this command.
- •
- Quit
blinkenlights will stop execution.
The commands in this menu control the appearance and behavior of
blinkenlights.
- •
- Row Colors (toggle)
This menu item is a toggle to turn on or off the coloring of zone stripes.
If row coloring is turned off, zone stripes will all be the same color. If
row coloring is turned on, zone stripes will be displayed in varying
colors. See the WINDOW COLORS section for a discussion of row
coloring.
- •
- Status Column Shading (toggle)
This menu item is a toggle to turn on or off the shading of the zone status
column. If shading is turned off, the zone stripes will present a solid,
unchanging band of color for each zone. If shading is turned on, the color
of the zone status column will change according to the zone's rollover
state.
- •
- Skipped Zones Display (toggle)
This menu item is a toggle to turn on or off the display of skipped zones.
If display is turned off, zone stripes for skipped zones will not be
displayed. If display is turned on, zone stripes for all zones will be
displayed.
- •
- Status Times Display (toggle)
This menu item is a toggle to turn on or off the display of status times. If
display is turned off, the remaining time for a rollover phase will not be
displayed in the "Status" column. If display is turned on, the
remaining times will be displayed.
- •
- Modification Commands (toggle)
In some situations, it may be desirable to turn off blinkenlights'
ability to send commands to rollerd. This menu item is a toggle to
turn on or off this ability. If the commands are turned off, then the
"ZSK Control" and "KSK Control" menus and their
keyboard shortcuts are disabled. If the commands are turned on, then the
"ZSK Control" and "KSK Control" menus and their
keyboard shortcuts are enabled.
- •
- Font Size
This menu item allows selection of font size of text displayed in the main
window.
Normally, changing the font size causes the window to grow and shrink as
required. However, on Mac OS X there seems to be a problem when the size
selected increases the window size to be greater than will fit on the
screen. If the font size is subsequently reduced, the window size does not
shrink in response.
- •
- Zones to Display
This menu item allows selection of the number of zones to be displayed in
the main window.
The commands in this menu are GUI interfaces for the
rollctl commands
related to
general zone management.
- •
- Sign Selected Zone
rollerd is instructed to sign the selected zone. The zone will only
be signed; no key rollover will occur.
- •
- Sign All Zones
rollerd is instructed to sign all the zones it manages. The zone
will only be signed; no key rollover will occur.
- •
- Sign Active Zones
rollerd is instructed to sign all the zones it manages. Skipped
zones will not be signed. The zone will only be signed; no key rollover
will occur.
- •
- Run the Queue
rollerd is awoken and runs through its queue of zones. The operation
required for each zone is then performed.
- •
- Skip Selected Zone
The selected zone will be moved to the skipped state. This only has an
effect on rolling zones. A zone may be selected by clicking on its zone
stripe. If this command is selected without a zone having been selected, a
dialog box is displayed from which a currently rolling zone may be
chosen.
- •
- Skip All Zones
All zones will be moved to the skipped state. This has no effect on
currently skipped zones.
- •
- Restart Selected Skipped Zone
The selected zone will be moved from the skipped state to the roll state.
The zone will re-enter the roll state at the same point from which it
entered the skip state; it will not be moved to the beginning of either
KSK or ZSK rollover. This only has an effect on skipped zones. A zone may
be selected by clicking on its zone stripe. If this command is selected
without a zone having been selected, a dialog box is displayed from which
a currently skipped zone may be chosen.
- •
- Restart All Skipped Zones
All zones will be moved from the skipped state to the roll state. The zones
will re-enter the roll state at the same point from which they entered the
skip state; they will not be moved to the beginning of either KSK or ZSK
rollover. This has no effect on currently rolling zones.
The commands in this menu are GUI interfaces for the
rollctl commands
related to ZSK-specific zone management.
- •
- Roll Selected Zone's ZSK
The selected zone's ZSK will be moved to the rollover state. This has no
effect on zones that are already in rollover. A zone may be selected by
clicking on its zone stripe. If this command is selected without a zone
having been selected, a dialog box is displayed from which a currently
skipped zone may be chosen.
- •
- Roll All Zones' ZSKs
All zones' ZSKs will be moved to the rollover state. This has no effect on
currently rolling zones.
The commands in this menu are GUI interfaces for the
rollctl commands
related to KSK-specific zone management.
- •
- DS Published for Selected Zone
This command is used to indicate that the selected zone's parent has
published a new DS record for the zone. It moves the zone from phase 6 to
phase 7 of KSK rollover.
- •
- DS Published for All Zones
This command is used to indicate that all the zones in KSK rollover phase 6
have new DS records published by their parents. It moves all these zones
from phase 6 to phase 7 of KSK rollover. There is no effect on zones not
in KSK rollover phase 6.
- •
- Roll Selected Zone's KSK
The selected zone's KSK will be moved to the rollover state. This has no
effect on zones that are already in rollover. A zone may be selected by
clicking on its zone stripe. If this command is selected without a zone
having been selected, a dialog box is displayed from which a currently
skipped zone may be chosen.
- •
- Roll All Zones' KSKs
All zones' KSKs will be moved to the rollover state. This has no effect on
currently rolling zones.
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.
- •
- Zone Selection
A dialog box is displayed that holds a list of the zones currently managed
by rollerd. The user may select which zones should be displayed by
clicking on the zone's checkbox. Zones with a selected checkbox will be
displayed; zones without a selected checkbox will not be displayed.
- •
- Display All Zones
All zones will be displayed in the blinkenlights window.
- •
- Hide All Zones
No zones will be displayed in the blinkenlights window.
- •
- Rollrec Name (toggle)
This menu item is a toggle to turn on or off the display of rollrec
names. If display is turned off, the column holding the rollrec
names will be removed from the display and the display window will shrink.
If display is turned on, the column holding the rollrec names will
be restored to the display and the display window will be expanded.
When displayed, the rollrec names will always be the leftmost
columns.
- •
- Zone Name (toggle)
This menu item is a toggle to turn on or off the display of the zone names
in a rollrec entry. If display is turned off, the column holding
the zone names will be removed from the display and the display window
will shrink. If display is turned on, the column holding the zone names
will be restored to the display and the display window will be expanded.
When displayed, the zone name will always be the second-from left or
leftmost column, depending on if the rollrec name is also being
displayed.
- •
- Zonegroup Name (toggle)
This menu item is a toggle to turn on or off the display of the zoneground
in rollrec entries. If display is turned off, the column holding
the rollrec names will be removed from the display and the display window
will shrink. If display is turned on, the column holding the rollrec names
will be restored to the display and the display window will be expanded.
When displayed, the rollrec names will always be the in one of the first
through third columns, depending on if the rollrec name and zone
name are also being displayed.
- •
- KSK Sets (toggle)
This menu item is a toggle to turn on or off the display of KSK signing set
names. If display is turned off, the columns holding the KSK signing set
names and labels will be removed from the display and the display window
will shrink. If display is turned on, the columns holding the KSK signing
set names and labels will be restored to the display and the display
window will be expanded.
When displayed, KSK signing sets will always be the rightmost columns.
- •
- ZSK Sets (toggle)
This menu item is a toggle to turn on or off the display of ZSK signing set
names. If display is turned off, the columns holding the ZSK signing set
names and labels will be removed from the display and the display window
will shrink. If display is turned on, the columns holding the ZSK signing
set names and labels will be restored to the display and the display
window will be expanded.
When displayed, ZSK signing sets will always be immediately to the right of
the zone status column.
- •
- Hide All Keysets
Turns off display of the KSK and ZSK signing set names.
- •
- Show All Keysets
Turns on display of the KSK and ZSK signing set names.
- •
- Refresh Display
Refresh the blinkenlights display. The display will automatically
refresh after a certain number of updates; this command forces it to
happen immediately upon invocation.
The commands in this menu provide assistance to the user.
- •
- Help
Display a window containing help information.
- •
- About Blinkenlights
Display a window containing versoin information on blinkenlights and
DNSSEC-Tools.
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-2012 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),