moncmd(1) 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.

BUGS

Report bugs to the email address below.

AUTHOR

Jim Trocki <[email protected]>