Overview of GemFire Management and Monitoring Tools
GemFire provides a variety of management tools you can use to manage a GemFire distributed system.
The GemFire management and monitoring tools allow you to configure all members and processes of a distributed system, monitor operations in the system, and start and stop the members. Internally, GemFire uses Java MBeans, specifically MXBeans, to expose management controls and monitoring features. You can monitor and control GemFire by writing Java programs that use these MXBeans, or you can use one of several tools provided with GemFire to monitor and manage your distributed system. The primary tool for these tasks is the gfsh command-line tool, as described in this section.
GemFire provides the following tools to manage a GemFire installation:
gfsh Command-line tool
The gfsh command line tool provides a set of commands you use to configure, manage, and monitor a GemFire distributed system. gfsh is the recommended tool for managing your distributed system.
Use gfsh to:
- Start and stop GemFire processes, such as locators and cache servers
- Deploy applications
- Create and destroy regions
- Execute functions
- Manage disk stores
- Import and export data
- Monitor GemFire processes
- Launch GemFire monitoring tools
- Shut down a distributed system
- Script various operations involving GemFire members
- Save the configuration for all members of a distributed system
gfsh runs in its own shell, or you can execute gfsh commands directly from the OS command line. gfsh can interact with remote systems using the http protocol. You can also write scripts that run in a gfsh shell to automate system startup.
You can use gfsh to create shared cluster configurations for your distributed system. You can define configurations that apply to the entire cluster, or that apply only to groups of similar members that all share a common configuration. GemFire locators maintain these configurations as a hidden region and distribute the configuration to all locators in the distributed system. The locator also persists the shared configurations on disk as
cluster.properties files. You can use those shared cluster configuration files to re-start your system, migrate the system to a new environment, add new members to a distributed system, or to restore existing members after a failure.
A basic cluster configuration consists of:
cluster.xmlfile shared by the cluster
cluster.propertiesfile shared by the cluster
- Deployed jar files containing application Java classes.
Using the gfsh tool, you can easily migrate a GemFire-based application from a development environment into a testing or production environment.
Executing gfsh commands with the management API
You can also use GemFire’s management APIs to execute gfsh commands in a Java class. See Executing gfsh Commands through the Management API.
Member Configuration Management
When you issue gfsh commands and have the cluster configuration service enabled (on a locator), GemFire saves the configurations created within gfsh by building a
cluster.properties files for the entire cluster, or group of members.
You can also directly create configurations using
gemfire.properties files and manage the members individually.
Java Management Extension (JMX) MBeans
GemFire uses a federated Open MBean strategy to manage and monitor all members of the distributed system. Your Java classes interact with a single MBeanServer that aggregates MBeans from other local and remote members. Using this strategy gives you a consolidated, single-agent view of the distributed system.
GemFire’s implementation of JMX is industry-standard and friendly to generic JMX clients. You can monitor or manage the distributed system by using any third-party tool that is compliant with JMX. For example, JConsole.
GemFire Java API
The GemFire API provides a set of Java classes you can use to manage and monitor a distributed system. See the org.apache.geode.management package in the GemFire JavaDocs .
GemFire Pulse is a Web Application that provides a graphical dashboard for monitoring vital, real-time health and performance of GemFire clusters, members, and regions.
Use Pulse to examine total memory, CPU, and disk space used by members, uptime statistics, client connections, and critical notifications. Pulse communicates with a GemFire JMX manager to provide a complete view of your GemFire deployment.
See GemFire Pulse.
JConsole is a JMX monitoring utility provided with a Java Development Kit (JDK). You use gfsh to connect to GemFire, and then launch JConsole with a gfsh command. The JConsole application allows you to browse MBeans, attributes, operations, and notifications. See Browsing GemFire MBeans through JConsole.