moncmd(1)

NAME
moncmd - send commands to mon daemon and show the results.

SYNOPSIS
moncmd [-a] [-d] [-l username] [-f file] [-s server] [-p port] [command]

DESCRIPTION
moncmd sends commands to the mon server.

OPTIONS

-a  Authenticate with the server.

-d  enable debugging, which is the same as -s localhost.

-f file
    Read and execute commands from file.

-l username
    Supply username as the username while authenticating to the server.

-s server
    Connect to server.

-p port
    Use TCP port port when connecting to the server, instead of the default of 32777.

MONITOR HOST
moncmd will use the host specified by the -s parameter as the server. If there is no -s parameter it will use the host specified in the MONHOST environment variable. If there is no host in either of these locations it will exit with an error.

BATCH OPERATION
If no commands are supplied to moncmd on the command line, then commands will be taken from either standard input, or from the file specified by the -f parameter. If standard input is connected to a TTY and the -a option is supplied, then it will prompt for a password. If the -a option is supplied without the -f option and standard input is not a TTY, then the username and password are read from standard input using the syntax "USER=username" and "PASS=password". The remaining input lines are interpreted as commands to send to the server. moncmd will not take usernames or passwords from a file, for obvious security reasons. If the username is neither supplied by the -l parameter or through standard input, it is taken from the effective user ID of the current process.

COMMANDS
The following is a list of the commands that the server understands.

enable | disable service group servicename
    Enables/disables alerts for group and servicename. All disabled states are automatically saved to the state file, which may optionally be re-loaded upon restarting or initial startup of the server.

ack group service comment
    Acknowledge a failure condition. This will store comment in the state of service (queryable by doing a list opstatus command), and will surppress further alerts for the service. Once the service returns to a non-failure state, then the acknowledgement is reset.

version
    Displays the protocol version in the form of "version num" where num is the protocol version number.

list aliases
    Lists aliases.

list aliasgroups
    Lists alias groups.

savestate
    Save the state of the server. Currently, the only state which is saved is the host/watches/services which are disabled.

loadstate
    Load the state of the server. Currently, the only state which is loaded is the host/watches/services which are disabled.

enable | disable host hostname
    Enables/disables host hostname in all groups. When the monitor is called, this hostname will not be included in the list of hostnames sent to the monitor. If a group has only one hostname in it, then the enable | disable watch command should be used instead.

enable | disable watch watchgroup
    Enables/disables an entire watch for watchgroup, as defined in the configuration file. Disabling a watch not only stops alerts from happening, but it stops the actual monitor processes from being scheduled.

reset
    Resets the server, forcing it to re-read the configuration file, kill off currently running monitors, restart all monitoring, and reset all counters. This command is only accessible if moncmd connects from the host which is running the mon server.

reset stopped
    Resets the server and immediately stops the scheduler. This is an atomic version of the commands reset and stop.

reload auth
    Reloads the auth.cf file in order to incorporate any new changes. The auth table is completely re-generated; it is not merged.

reset keepstate
    If the word "keepstate" comes after the reset command, the server will do a "loadstate" right after the reset, before the scheduler kicks back in.

stop
    Stops the scheduler, but continues to allow client connections.

start
    Re-starts the scheduler after it has been stopped.

test monitor group servicename
    Triggers a test for group and service immediately by setting the service's countdown timer to zero.

test (alert | upalert | startupalert) group servicename retval period
    Triggers a test alert, upalert, or startupalert for group and servicename. retval is the integer exit value to pass to the alert via the MON_RETVAL environment variable. You must also specify the period as it appears in the configuration file. All alerts of the given type in that period will be triggered, but the alert will not be logged.

servertime
    Returns the current time of the server as seconds since Jan 1, 1970.

list group groupname
    Lists the members of group groupname.

list descriptions
    List the descriptions of each service, as defined in the configuration file. If a service description is undefined, then it is not listed.

list alerthist
    Lists the last alarms triggered for each service of each watch group, in addition to the summary output. The number of alerts to keep in memory is bounded by the maxkeep variable, configurable on the mon command line at startup, and expandable with the set command during runtime.

list failurehist
    Lists the last failures, in addition to the summary output. This is also limited by the maxkeep variable.

list opstatus
    Lists operational status of all services. Reports whether the last time a service group was tested resulted in success or failure. The output is:
    group service untested
    group service time timeleft succeeded
    group service time timeleft failed output
    where output is the first line of output from the monitor script which failed, time is the time that the condition was last noticed in time(2) format, and timeleft is the number of seconds left until the service is tested again.

list successes
    Generates the same output as the list opstatus command, but only shows the services that have succeeded the last time they were tested.

list failures
    Generates the same output as the list opstatus command, but only shows the services that have failed the last time they were tested.

list disabled
    Lists all hosts and services which have been disabled by the disable host|service command.

list pids
    Shows the currently active watch groups/services along with their process IDs, and it process ID of the server daemon.

list watch
    Lists all watches and services.

list state
    Lists the state of the scheduler.

set group service variable value
    Sets a variable to value. Useful for temporarily changing an interval or alertevery value. Be careful, because this can just set any value in the %watch hash, and some values that are specified in the configuration file like "10m" or "35s" are converted and stored as just plain integer seconds (e.g. "alertevery").

get group service variable
    Displays the value of group service variable.

set variable value
    Assigns value to the global variable variable.

set opstatus group service value
    Sets the opstatus value for group and service.

get variable
    Shows the value of global variable variable.

term
    Terminates the server. This command is only accessible if moncmd connects from the host which is running the mon server.

ENVIRONMENT VARIABLES

MONSERVER
    The hostname of the server which runs the mon process.

MONPORT
    The port number to connect to.

SEE ALSO
mon(8)

BUGS
Report bugs to the email address below.

AUTHOR
Jim Trocki <trockij@arctic.org>