Product SiteDocumentation Site

Chapter 4. Pacemaker Tools

Table of Contents

4.1. Using Pacemaker Tools

4.1. Using Pacemaker Tools

In the dark past, configuring Pacemaker required the administrator to read and write XML. In true UNIX style, there were also a number of different commands that specialized in different aspects of querying and updating the cluster.
Since Pacemaker 1.0, this has all changed and we have an integrated, scriptable, cluster shell that hides all the messy XML scaffolding. It even allows you to queue up several changes at once and commit them atomically.
Take some time to familiarize yourself with what it can do.
# crm --help
usage:
    crm [-D display_type]
    crm [-D display_type] args
    crm [-D display_type] [-f file]

    Use crm without arguments for an interactive session.
    Supply one or more arguments for a "single-shot" use.
    Specify with -f a file which contains a script. Use '-' for
    standard input or use pipe/redirection.

    crm displays cli format configurations using a color scheme
    and/or in uppercase. Pick one of "color" or "uppercase", or
    use "-D color,uppercase" if you want colorful uppercase.
    Get plain output by "-D plain". The default may be set in
    user preferences (options).

Examples:

    # crm -f stopapp2.cli
    # crm < stopapp2.cli
    # crm resource stop global_www
    # crm status
The primary tool for monitoring the status of the cluster is crm_mon (also available as crm status). It can be run in a variety of modes and has a number of output options. To find out about any of the tools that come with Pacemaker, simply invoke them with the --help option or consult the included man pages. Both sets of output are created from the tool, and so will always be in sync with each other and the tool itself.
Additionally, the Pacemaker version and supported cluster stack(s) are available via the --feature option to pacemakerd.
# pacemakerd --features
Pacemaker 1.1.9-3.fc20.2 (Build: 781a388)
 Supporting v3.0.7:  generated-manpages agent-manpages ncurses libqb-logging libqb-ipc upstart systemd nagios  corosync-native
# pacemakerd --help
pacemakerd - Start/Stop Pacemaker

Usage: pacemakerd mode [options]
Options:
 -?, --help 		This text
 -$, --version 		Version information
 -V, --verbose 		Increase debug output
 -S, --shutdown 		Instruct Pacemaker to shutdown on this machine
 -F, --features 		Display the full version and list of features Pacemaker was built with

Additional Options:
 -f, --foreground 		(Ignored) Pacemaker always runs in the foreground
 -p, --pid-file=value		(Ignored) Daemon pid file location

Report bugs to pacemaker@oss.clusterlabs.org
# crm_mon --help
crm_mon - Provides a summary of cluster's current state.

Outputs varying levels of detail in a number of different formats.

Usage: crm_mon mode [options]
Options:
 -?, --help 		This text
 -$, --version 		Version information
 -V, --verbose 		Increase debug output
 -Q, --quiet 		Display only essential output

Modes:
 -h, --as-html=value	Write cluster status to the named html file
 -X, --as-xml 		Write cluster status as xml to stdout. This will enable one-shot mode.
 -w, --web-cgi 		Web mode with output suitable for cgi
 -s, --simple-status 	Display the cluster status once as a simple one line output (suitable for nagios)

Display Options:
 -n, --group-by-node 		Group resources by node
 -r, --inactive 		Display inactive resources
 -f, --failcounts 		Display resource fail counts
 -o, --operations 		Display resource operation history
 -t, --timing-details 		Display resource operation history with timing details
 -c, --tickets 			Display cluster tickets
 -W, --watch-fencing 			Listen for fencing events. For use with --external-agent, --mail-to and/or --snmp-traps where supported
 -A, --show-node-attributes 	Display node attributes

Additional Options:
 -i, --interval=value		Update frequency in seconds
 -1, --one-shot 		Display the cluster status once on the console and exit
 -N, --disable-ncurses 		Disable the use of ncurses
 -d, --daemonize 		Run in the background as a daemon
 -p, --pid-file=value		(Advanced) Daemon pid file location
 -E, --external-agent=value	A program to run when resource operations take place.
 -e, --external-recipient=value	A recipient for your program (assuming you want the program to send something to someone).

Examples:

Display the cluster status on the console with updates as they occur:

	# crm_mon

Display the cluster status on the console just once then exit:

	# crm_mon -1

Display your cluster status, group resources by node, and include inactive resources in the list:

	# crm_mon --group-by-node --inactive

Start crm_mon as a background daemon and have it write the cluster status to an HTML file:

	# crm_mon --daemonize --as-html /path/to/docroot/filename.html

Start crm_mon and export the current cluster status as xml to stdout, then exit.:

	# crm_mon --as-xml


Report bugs to pacemaker@oss.clusterlabs.org

Note

If the SNMP and/or email options are not listed, then Pacemaker was not built to support them. This may be by the choice of your distribution or the required libraries may not have been available. Please contact whoever supplied you with the packages for more details.