xymond_channel - Feed a xymond channel to a worker module
xymond_channel --channel=CHANNEL [options] workerprogram [worker-options]
xymond_channel hooks into one of the xymond(8) channels that provide
information about events occurring in the Xymon system. It retrieves messages
from the xymond daemon, and passes them on to the workerprogram on the
STDIN (file descripter 1) of the worker program. Worker programs can then
handle messages as they like.
A number of worker programs are shipped with xymond, e.g.
xymond_filestore(8) xymond_history(8) xymond_alert(8)
xymond_rrd(8)
If you want to write your own worker module, a sample worker
module is provided as part of the xymond distribution in the xymond_sample.c
file. This illustrates how to easily fetch and parse messages.
xymond_channel accepts a few options.
- --channel=CHANNELNAME
- Specifies the channel to receive messages from, only one channel can be
used. This option is required. The following channels are available:
"status" receives all Xymon status- and summary-messages
"stachg" receives information about status changes
"page" receives information about statuses triggering alerts
"data" receives all Xymon "data" messages
"notes" receives all Xymon "notes" messages
"enadis" receives information about hosts being disabled or
enabled.
- --filter=EXPRESSION
- EXPRESSION is a Perl-compatible regular expression. xymond_channel will
match the first line of each message against this expression, and silently
drops any message that does not match the expression. Especially useful
for custom worker modules and during testing, to limit the amount of data
that the module must process.
Note that messages for "logrotate", "shutdown",
"drophost", "renamehost", "droptest" and
"renametest" are always forwarded by xymond_channel, whether
they match the filter or not.
- --msgtimeout=TIMEOUT
- Modify the default timeout (30 seconds) for the worker module to handle a
message. If a message is not handled within this time, it is considered
lost. You normally do not have to modify this unless you have an extremely
busy server.
- --daemon
- xymond_channel is normally started by xymonlaunch(8) as a task
defined in the tasks.cfg(5) file. If you are not using xymonlaunch,
then starting xymond_channel with this option causes it to run as a
stand-alone background task.
- --pidfile=FILENAME
- If running as a stand-alone daemon, xymond_channel will save the
process-ID of the daemon in FILENAME. This is useful for automated
startup- and shutdown- scripts.
- --env=FILENAME
- Loads the environment variables defined in FILENAME before starting
xymond_channel. This is normally used only when running as a stand-alone
daemon; if xymond_channel is started by xymonlaunch, then the environment
is controlled by the task definition in the tasks.cfg(5) file.
- --log=FILENAME
- Redirect output to this log-file.
- --md5 / --no-md5
- Enable/disable checksumming of messages passed from xymond_channel to the
worker module. This may be useful if you suspect that data may be
corrupted, e.g. when sent to a remote worker module. Note that enabling
this may break communication with old versions of Xymon worker modules.
Default: Disabled.
- --debug
- Enable debugging output.
This program does not use any configuration files.