Overview of Geode Management and Monitoring Tools
Geode provides a variety of management tools you can use to manage a Geode cluster.
The Geode management and monitoring tools allow you to configure all members and processes of a cluster, monitor operations in the system, and start and stop the members. Internally, Geode uses Java MBeans, specifically MXBeans, to expose management controls and monitoring features. You can monitor and control Geode by writing Java programs that use these MXBeans, or you can use one of several tools provided with Geode to monitor and manage your cluster. The primary tool for these tasks is the gfsh command-line tool, as described in this section.
Geode provides the following tools to manage a Geode installation:
gfsh Command-line tool
The gfsh command line tool provides a set of commands you use to configure, manage, and monitor a cluster. gfsh is the recommended tool for managing your cluster.
Use gfsh to:
- Start and stop Geode processes, such as locators and cache servers
- Deploy applications
- Create and destroy regions
- Execute functions
- Manage disk stores
- Import and export data
- Monitor Geode processes
- Launch Geode monitoring tools
- Shut down a cluster
- Script various operations involving Geode members
- Save the configuration for all members of a cluster
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 cluster. 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. Geode locators maintain these configurations as a hidden region and distribute the configuration to all locators in the cluster. 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 cluster, 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 Geode-based application from a development environment into a testing or production environment.
Executing gfsh commands with the management API
You can also use Geode’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), Geode 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
Geode uses a federated Open MBean strategy to manage and monitor all members of the cluster. 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 cluster.
Geode’s implementation of JMX is industry-standard and friendly to generic JMX clients. You can monitor or manage the cluster by using any third-party tool that is compliant with JMX. For example, JConsole.
Geode Java API
The Geode API provides a set of Java classes you can use to manage and monitor a cluster. See the
org.apache.geode.management package in the javadocs.
Geode Pulse is a Web Application that provides a graphical dashboard for monitoring vital, real-time health and performance of Geode 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 Geode JMX manager to provide a complete view of your Geode deployment.
See Geode Pulse.
JConsole is a JMX monitoring utility provided with a Java Development Kit (JDK). You use gfsh to connect to Geode, and then launch JConsole with a gfsh command. The JConsole application allows you to browse MBeans, attributes, operations, and notifications. See Browsing Geode MBeans through JConsole.