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.
xymond(8),
xymon(7)