hobbitd_alert is a worker module for hobbitd, and as such it is normally
run via the
program. It receives hobbitd page- and ack-messages from the "page"
channel via stdin, and uses these to send out alerts about failed
and recovered hosts and services.
The operation of this module is controlled by the
file. This file holds the definition of rules and recipients,
that determine who gets alerts, how often, for what servers etc.
Sets the filename for the
file. The default value is "etc/hobbit-alerts.cfg" below the Xymon
Dumps the configuration after parsing it. May be useful to track
down problems with configuration file errors.
File where the current state of the hobbitd_alert module is saved.
When starting up, hobbitd_alert will also read this file to restore
the previous state.
Defines how often (in seconds) the checkpoint-file is saved.
If this option is present, alert messages will include a line with
"cfid:N" where N is the linenumber in the hobbit-alerts.cfg file that
caused this message to be sent. This can be useful to track down
problems with duplicate alerts.
--test HOST SERVICE [options]
Shows which alert rules matches the given HOST/SERVICE combination.
Useful to debug configuration problems, and see what rules are used
for an alert.
The possible options are:
The COLORNAME parameter is the color of the alert: red, yellow or purple.
The SECONDS parameter is the duration of the alert in seconds.
The GROUPNAME paramater is a groupid string from the hobbit-clients.cfg
The TIMESTRING parameter is the time-of-day for the alert, expressed as an
absolute time in the epoch format (seconds since Jan 1 1970). This is
easily obtained with the GNU date utility using the "+%s" output format.
Enable debugging output.
HOW HOBBIT DECIDES WHEN TO SEND ALERTS
The hobbitd_alert module is responsible for sending out all alerts.
When a status first goes to one of the ALERTCOLORS, hobbitd_alert
is notified of this change. It notes that the status is now in an
alert state, and records the timestamp when this event started,
and adds the alert to the list statuses that may potentially trigger
one or more alert messages.
This list is then matched against the hobbit-alerts.cfg configuration.
This happens at least once a minute, but may happen more often. E.g.
when status first goes into an alert state, this will always trigger
the matching to happen.
When scanning the configuration, hobbitd_alert looks at all of the
configuration rules. It also checks the DURATION setting against
how long time has elapsed since the event started - i.e. against
the timestamp logged when hobbitd_alert first heard of this event.
When an alert recipient is found, the alert is sent and it is recorded
when this recipient is due for his next alert message, based on the
REPEAT setting defined for this recipient. The next time hobbitd_alert
scans the configuration for what alerts to send, it will still find
this recipient because all of the configuration rules are fulfilled,
but an alert message will not be generated until the repeat interval
It can happen that a status first goes yellow and triggers an alert,
and later it goes red - e.g. a disk filling up. In that case, hobbitd_alert
clears the internal timer for when the next (repeat) alert is due
for all recipients. You generally want to be told when something that
has been in a warning state becomes critical, so in that case the REPEAT
setting is ignored and the alert is sent. This only happens the first
time such a change occurs - if the status switches between yellow and red
multiple times, only the first transition from yellow->red causes this
When an status recovers, a recovery message may be sent - depending
on the configuration - and then hobbitd_alert forgets everything about
this status. So the next time it goes into an alert state, the entire
process starts all over again.
The first part of a command line used to send out an e-mail with a
subject, typically set to "/usr/bin/mail -s" . hobbitd_alert will add
the subject and the mail recipients to form the command line used
for sending out email alerts.
The first part of a command line used to send out an e-mail without
a subject. Typically this will be "/usr/bin/mail". hobbitd_alert will
add the mail recipients to form the command line used for sending
out email alerts.