moncmd - send commands to mon daemon and show the results.
moncmd [-a] [-d] [-l username] [-f file] [-s server] [-p port] [command]
moncmd sends commands to the mon server.
|-a||Authenticate with the server.|
|-d||enable debugging, which is the same as -s localhost.|
|Read and execute commands from file.|
|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.|
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.
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.
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.|
|Displays the protocol version in the form of "version num where num is the protocol version number.|
|Lists alias groups.|
|Save the state of the server. Currently, the only state which is saved is the host/watches/services which are disabled.|
|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.|
|Resets the server and immediately stops the scheduler. This is an atomic version of the commands reset and stop.|
|Reloads the auth.cf file in order to incorporate any new changes. The auth table is completely re-generated; it is not merged.|
|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.|
|Returns the current time of the server as seconds since Jan 1, 1970.|
|list group groupname|
|Lists the members of group groupname.|
|List the descriptions of each service, as defined in the configuration file. If a service description is undefined, then it is not listed.|
|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.|
|Lists the last failures, in addition to the summary output. This is also limited by the maxkeep variable.|
|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.
|Generates the same output as the list opstatus command, but only shows the services that have succeeded the last time they were tested.|
|Generates the same output as the list opstatus command, but only shows the services that have failed the last time they were tested.|
|Lists all hosts and services which have been disabled by the disable host|service command.|
|Shows the currently active watch groups/services along with their process IDs, and it process ID of the server daemon.|
|Lists all watches and services.|
|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.|
|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.|
|MONSERVER||The hostname of the server which runs the mon process.|
|MONPORT||The port number to connect to.|
Report bugs to the email address below.
Jim Trocki <trockij>