Skip to end of metadata
Go to start of metadata

Topics marked with * relate to features available only in vFabric Hyperic.

Feedback is welcome. Click Add Comment at the bottom of the page.

This page documents Hyperic's GemFire plugin.

GemFire Plugin Overview

Hyperic's GemFire plugin manages a GemFire Distributed System (DS) and the servers and services it comprises. The indented list of resource types below illustrates the hierarchical relationships among that managed components of a GemFire DS. Each resource type is described below in GemFire Resources and the HQ Inventory Model.

GemFire Distributed System
     JMX Agent
     Cache Server 6.5
          Cache Server 6.5 Region
     Application Peer 6.5
          Application Peer 6.5 Region
     Gateway Hub 6.5
          Gateway Hub 6.5 Gateway
          Gateway Hub 6.5 Region

Supported Versions and Requirements

The GemFire plugin supports GemFire v6.5, and requires HQ Agent v4.5.

GemFire Resources and the HQ Inventory Model

The table below has a brief description of each GemFire resource type; the right column indicates the inventory level for a type in the HQ inventory model.

GemFire Resource Hierarchy Description Inventory Type
GemFire Distributed System (DS) GemFire is a distributed caching system. A GemFire Distributed System (DS) is a logical entity --- a set of servers that are configured to communicate with one another. The servers in a DS are referred to as members or nodes. Member types (defined in the rows below) include:
  • JMX Agent
  • Gateway Hub 6.5
  • Cache Server 6.5
  • Application Peer 6.5
platform
JMX Agent A GemFire JMX Agent  is an administrative member of a DS through which the HQ Agent obtains GemFire resource and metric data. The JMX Agent returns ModelMBeans attributes that correspond to inventory properties and metric values for members of the DS. server
Gateway Hub 6.5 A Gateway Hub is present in a DS that is part of a multi-DS deployment. The Gateway Hub for a DS: 
  • Creates and manages Gateways for communicating with remote DSs,
  • Receives gateway events from other DSs, and distributes the events to one or all local gateways, in accordance with its distribution policy.
  • Hosts a GemFire cache.
server
Gateway Hub 6.5 Gateway
A Gateway manages a queue of events (where an event is an operation that affects a specific region) to be propagated to a particular remote DS. service
Cache Server 6.5 A Cache Server is a server for cached objects.  (As opposed to a GemFire Application Peer, which is a GemFire cache within an application). server
Application Peer 6.5 An Application Peer is an application process running a GemFire cache. server
regions In GemFire, a region is a set of cached objects that are managed in accordance with the same policies.  For example, rules for expiration, data policy, scope, the directories to which region data is written, the Gateway Hub to which region events are distributed, and so on.

A region can have subregions, which in turn can have their own subregions. Regions provide a hierarchical namespace for sets of objects in a cache.  A region can exist in any non-admin member of the DS. The name of a region in HQ indicates the resource type of its parent in the managed resource hierarchy:
  • Application Peer 6.5 Region
  • Cache Server 6.5 Region
  • Gateway Hub 6.5 Region
service

Note: For more information about the managed resource hierarchy, see HQ Inventory Model.

Configuration Overview

The GemFire plugin uses the GemFire JMX Agent to obtain inventory properties and metrics for the GemFire components in a GemFire Distributed System (DS). You configure an HQ Agent to communicate with the DS's JMX Agent. The HQ Agent can run on the same platform as the JMX Agent, or on another platform.

The key requirements for successfully managing GemFire components with HQ are:

  • The HQ Agent must be able to connect to the JMX Agent. If the HQ Agent is on a different platform than the JMX Agent for the DS, you must ensure that the HQ Agent can connect to the JMX Agent's RMI service.
  • Each GemFire member's statistic-sampling-enabled property (in its gemfire.properties file) must be set to true. The default value for the property is false.

Resource Types and Management Functions

Management Functions for GemFire Distributed System

Management Function Description Classes
Auto-discovery The GemFire plugin does not automatically discover the platform resource — you explicitly create the resource, and configure it to connect to the JMX Agent for the DS, as described in the Configuration Instructions. com.vmware.springsource.hyperic.
plugin.gemfire.detectors.
GemfirePlatformDetector
Metric Collection The GemfireCollector class obtains data about DS membership and presents it as metrics for the platform resource. See GemFire Distributed System Metrics. com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
GemfireCollector
Event Tracking If event tracking is configured for the DS, the AlertsPlugin class logs an event for each of the GemFire alert types listed in GemFire Events. com.vmware.springsource.hyperic.
plugin.gemfire.AlertsPlugin
Live Data The GemFireLiveData class provides a live data user interface for viewing member metrics in real-time. (As opposed to the Monitor tab for a GemFire component, which presents metrics that have been saved to the HQ database.) See HQ GemFire View. com.vmware.springsource.hyperic.
plugin.gemfire.GemFireLiveData

Management Functions for JMX Agent

Management Function Description Classes
Auto-discovery The JMX Agent for a DS is discovered when the plugin connects to the JMX connection configured for the DS platform. com.vmware.springsource.hyperic.
plugin.gemfire.detectors.
JMXAgentDetector
Metric Collection The JMXAgentCollector class reports the Availability of a JMX Agent based on its ability to connect to it and query for member information. com.vmware.springsource.hyperic
.plugin.gemfire.collectors.
JMXAgentCollector

Management Functions for Cache Server 6.5

Management Function Description Classes
Auto-Discovery A Cache Server is discovered via JMX Agent for the DS. The CacheServerDetector class obtains inventory properties from the MemberInfoWithStatsMBean ModelMBean for a Cache Server. This list indicates the MBean attribute that supplies each property:
  • ID - The gemfire.member.id.string 
  • Type -  gemfire.member.type.string 
  • Peer Host - gemfire.member.host.string 
  • Peer Port - gemfire.member.port.string
com.vmware.springsource.hyperic.
plugin.gemfire.detectors.
CacheServerDetector
Metric Collection The plugin obtains metrics for Cache Server from the GemFire MemberInfoWithStatsMBean ModelMBean for the server via the JMX Agent for the DS. Each metric corresponds to an attribute of the MBean.

For more information, see Member Metrics.
com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
MemberCollector

Management Functions for Cache Server 6.5 Region

Management Function Description Classes
Auto-Discovery The CacheServerDetector class obtains inventory properties from the MemberInfoWithStatsMBean ;ModelMBean for a Region in a Cache Server. This list indicates the MBean attribute that supplies each property:
  • Name - gemfire.region.name.string 
  • Path - gemfire.region.path.string
  • Scope - gemfire.region.scope.string 
  • Data Policy - gemfire.region.datapolicy.string 
  • Interest Policy - gemfire.region.interestpolicy.string 
  • Disk Attributes - gemfire.region.distattrs.string
com.vmware.springsource.hyperic.
plugin.gemfire.detectors.
CacheServerDetector
Metric Collection The RegionCollector class obtains metrics for a Region in a Cache Server from the GemFire MemberInfoWithStatsMBean ModelMBean for the server. Each metric corresponds to an attribute of the MBean. See Regions Metrics. com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
RegionCollector

Management Functions for Gateway Hub 6.5

Management Function Description Classes
Auto-Discovery The GemFire plugin discovers members of a DS via the JMX Agent for the DS. The GatewayHubDetector class obtains inventory properties from the MemberInfoWithStatsMBean ModelMBean for a Gateway Hub.  This list indicates the MBean attribute that supplies each property:
  • ID - The gemfire.member.id.string 
  • Type -  gemfire.member.type.string 
  • Peer Host - gemfire.member.host.string 
  • Peer Port - gemfire.member.port.string
com.vmware.springsource.hyperic.
plugin.gemfire.collectors. 
GatewayHubDetector
Metric Collection The GatewayHubCollector obtains metrics for a Gateway Hub from the GemFire {{MemberInfoWithStatsMBean} ModelMBean for the server. Each metric corresponds to an attribute of the MBean. See Member Metrics. com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
GatewayHubCollector

Management Functions for Gateway Hub 6.5 Gateway

Management Function Description Classes
Auto-Discovery The GatewayHubDetector class obtains inventory properties for a Gateway from the GemFire MemberInfoWithStatsMBean ModelMBean for the Gateway Hub server. Each metric corresponds to an attribute of the MBean. com.vmware.springsource.hyperic.
plugin.gemfire.collectors. 
GatewayHubDetector
Metric Collection The GatewayCollector class obtains metrics for a Gateway from the GemFire MemberInfoWithStatsMBean ModelMBean for the Gateway Hub server. Each metric corresponds to an attribute of the MBean.

For more information, see See Gateway Hub 6.5 Gateway Metrics.
com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
GatewayCollector

Management Functions for Gateway Hub 6.5 Region

Management Function Description Classes
Auto-Discovery The GatewayHubDetector class obtains inventory properties for a region in the Gateway Hub from the MemberInfoWithStatsMBean ModelMBean for the Gateway Hub. This list indicates the MBean attribute that supplies each property:
  • Name - gemfire.region.name.string 
  • Path - gemfire.region.path.string
  • Scope - gemfire.region.scope.string 
  • Data Policy - gemfire.region.datapolicy.string 
  • Interest Policy - gemfire.region.interestpolicy.string 
  • Disk Attributes - gemfire.region.distattrs.string
com.vmware.springsource.hyperic.
plugin.gemfire.collectors. 
GatewayHubDetector
Metric Collection The RegionCollector class obtains metrics for a region in a Gateway Hub from the GemFire MemberInfoWithStatsMBean ModelMBean for the Gateway Hub. See Region Metrics. com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
RegionCollector

Management Functions for Application Peer 6.5

Management Function Description Classes
Auto-Discovery The GemFire plugin discovers members of a DS via the JMX Agent for the DS. The ApplicationServerDetector class obtains inventory properties from the MemberInfoWithStatsMBean ModelMBean for an Application Peer. This list indicates the MBean attribute that supplies each property:
  • ID - The gemfire.member.id.string 
  • Type -  gemfire.member.type.string 
  • Peer Host - gemfire.member.host.string 
  • Peer Port - gemfire.member.port.string
com.vmware.springsource.hyperic.
plugin.gemfire.detectors.
ApplicationServerDetector
Metric Collection The plugin MemberCollector class obtains metrics for an Application Peer from the GemFire MemberInfoWithStatsMBean ModelMBean for the server. Each metric corresponds to an attribute of the MBean.See Member Metrics com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
MemberCollector

Management Functions for Application Peer 6.5 Region

Management Function Description Classes
Auto-Discovery The ApplicationServer Detector class obtains inventory properties for a region in the Application Peer from the MemberInfoWithStatsMBean ModelMBean for the Application Peer. This list indicates the MBean attribute that supplies each property:
  • Name - gemfire.region.name.string 
  • Path - gemfire.region.path.string
  • Scope - gemfire.region.scope.string 
  • Data Policy - gemfire.region.datapolicy.string 
  • Interest Policy - gemfire.region.interestpolicy.string 
  • Disk Attributes - gemfire.region.distattrs.string
com.vmware.springsource.hyperic.
plugin.gemfire.detectors. 
ApplicationServerDetector
Metric Collection The RegionCollector class obtains metrics for a region in a Application from the GemFire MemberInfoWithStatsMBean ModelMBean for the Application Peer. Each metric corresponds to an attribute of the MBean. See Region Metrics. com.vmware.springsource.hyperic.
plugin.gemfire.collectors.
RegionCollector

Configuration Instructions

Perform these steps for each DS to be managed.

Step 1 - Enable GemFire Member Discovery and Monitoring

Follow these steps to ensure that the GemFire plugin can discover and monitor GemFire components:

  1. If you plan to run the HQ Agent on the same platform as the JMX Agent for the DS, skip to Step 2. If you plan to run the HQ Agent on a different platform than the JMX Agent for the DS, you must ensure that the HQ Agent can connect to the JMX Agent's RMI service — you can do this by specifying the JMX Agent's rmi-bind-address when you start it:
    ./agent start rmi-bind-address=IP_Address -dir/AgentHome
  2. Enable statistics sampling for each GemFire member in the DS — by default, statistics sampling is not enabled. To enable it, edit each member's gemfire.properties file to set the statistic-sampling-enabled property to true.

Step 2 - Configure HQ Agent for the DS

If you have not already done so, either:

  • install an HQ Agent to monitor the DS, either on the same platform as the JMX Agent, or on another platform (see Installing an Agent-Only Package for instructions), or
  • Select an existing HQ Agent on a remote platform to monitor the DS.

Step 3 - Configure a Platform for the DS

These instructions assume the HQ Agent that will monitor the DS is up and running.

  1. Resources > Browse.
  2. Click New Platform on the Tools menu.
  3. On the New Platform page:
    1. In the "General Properties" section, enter a meaningful name for the DS, and as desired, a description and its location.
    2. In the "General Properties" section,
      1. Select Gemfire Distributed System from the Platform Type pulldown.
      2. If the HQ Agent is on a different platform from the JMX Agent, select its address:port combination from the Agent Connection pulldown.
      3. Enter the FQDN of the platform where the JMX Agent runs.
      4. Enter the IP Address of the platform where the JMX Agent runs.
      5. Click OK.
    3. In the "Configuration Properties" section of the Inventory page for the new platform:
      • jmx.url — If the HQ Agent and the JMX Agent are on different platforms, edit the default JMX URL shown to include the IP address of the JMX Agent.
        • The default jmx.url is:
          service:jmx:rmi:///jndi/rmi://localhost:1099/jmxconnector
        • In the correctly modified jmx.url, localhost is replaced by the hostname or address of the JMX Agent, and the valid JMX connector listen port is specified:
          service:jmx:rmi:///jndi/rmi://Host:Port/jmxconnector
      • jmx.username — Enter the username for accessing the JMX Agent.
      • jmx.password — Enter the password for accessing the JMX Agent.

Step 4 - Set Event Tracking Options

To enable log tracking, click the Enable Log Tracking box in the Monitoring section of the Configuration Properties page for the DS. HQ will log events of level "ERR" for the alert types listed in GemFire Events.

For information about HQ log tracking functionality and configuration options, and how to view log events, see Log Tracking.

Step 5 - Tailor Plugin Monitoring Defaults

You can enable and disable metrics, select indicator metrics, and change the collection interval for a resource type on its Monitoring Defaults page. To navigate to a resource type's Monitoring Defaults page:

  1. Click the Administration tab.
  2. Click Monitoring Defaults.
  3. Scroll down to the resource type and click Edit Metric Template.

Step 6 - Configure Alert Definitions

Create alert definitions as desired for your managed vSphere components.

Metric Documentation

The following sections define the metrics for each Gemfire resource type.

GemFire Distributed System Metrics

Name Alias Description Units Category Default On Default Interval
Availability Availability The DS is considered available if the HQ Agent connect to the JMX Agent for the DS. percentage AVAILABILITY true 1 min
Cache Servers n_caches Number of Cache Servers in the DS. none UTILIZATION true 5 min
Applications Peer n_apps Number of Application Peers in the DS. none UTILIZATION true 5 min
Gateway Hubs n_gateways Number of Gateway Hubs in the DS. none UTILIZATION true 5 min

Member Metrics

The table below defines the metrics available for the server resources in a GemFire deployment.

  • Gateway Hub 6.5
  • Cache Server 6.5 Metrics
  • Application Peer 6.5
Name Alias Definition Units Category Default On Default Interval
Availability Availability   percentage AVAILABILITY true 5 min
Used Heap used_memory gemfire.
member.
stat.
usedmemory.
long
percentage UTILIZATION true 5 min
Used CPU used_cpu gemfire.
member.
stat.
maxmemory.long
percentage UTILIZATION true 5 min
Uptime uptime gemfire.
member.
uptime.l
ong
sec UTILIZATION true 30 min
Number of Clients nclients   none UTILIZATION false 5 min
Gets stat.gets gemfire.
member.
stat.
gets.
int
none UTILIZATION false 10 min
Gets per Minute stat.gets1m   none UTILIZATION false 10 min
GetTime stat.gettime gemfire.
member.
stat.
gettime.
long
sec UTILIZATION false 5 min
Puts stat.puts gemfire.
member.
stat.
puts.
int
none UTILIZATION false 10 min
Puts per Minute stat.puts1m   none UTILIZATION false 10 min
PutTime stat.puttime gemfire.
member.
stat.
puttime.
long
sec UTILIZATION false 5 min

Region Metrics

The table below defines the metrics available for the region service resources in a GemFire deployment:

  • Cache Server 6.5 Region
  • Application Peer 6.5 Region
  • Gateway Hub 6.5 Region
Name Alias Definition Units Category Default On Default Interval
Availability Availability   percentage AVAILABILITY true 10 min
Entry Count entry_count Number of regions;
 
gemfire.
region.
entrycount.
int
none UTILIZATION true 5 min

Gateway Hub 6.5 Gateway Metrics

Name Alias Definition Units Category Default On Default Interval
Availability Availability   percentage AVAILABILITY true 10 min
Queue size queuesize gemfire.
member.
gateway.
queuesize.
int
none UTILIZATION true 5 min

GemFire Events

Event Notification Type Notification Source Notification Message
A new member has joined the GemFire Enterprise DS.
gemfire.distributedsystem.member.joined ObjectName of the member String id of the member
A member has left the GemFire Enterprise DS gemfire.distributedsystem.
member.left
ObjectName of the member String id of the member
A member has crashed in the GemFire Enterprise DS gemfire.distributedsystem.
member.crashed
ObjectName of the member String id of the member
An alert raised from GemFire after scraping the logs of members of the GemFire Enterprise DS. gemfire.distributedsystem.
alert
String form of ObjectName of the AdminDistributedSystem MBean Message containg the alert details in a fixed format.
The agent has disconnected from the GemFire Enterprise DS. gemfire.distributedsystem.
disconnect
String form of ObjectName of the AdminDistributedSystem MBean null
A cache is created on a member in a GemFire Enterprise DS. gemfire.distributedsystem.
cache.created
ObjectName of the member  
A cache is closed on a member in a GemFire Enterprise DS. gemfire.distributedsystem.
cache.closed
ObjectName of the member  
A region is created in a cache on a member in a GemFire Enterprise DS gemfire.distributedsystem.
cache.region.created
ObjectName of the member  
A region is removed from a cache on a member in a GemFire Enterprise DS. gemfire.distributedsystem.
cache.region.lost
ObjectName of the member  

HQ GemFire View

The GemFire plugin provides a live data user interface for viewing metrics in real-time.  (As opposed to the Monitor tab for a GemFire component, which presents metrics that have been saved to the HQ database.)  

GemFire View for a DS

The HQ GemFire View for a Distributed System displays the following information.

  • Servers in the DS — The number of Cache Servers, Gateway Hubs and Application Peers in the DS.
  • Gateways in the DS — If the DS is part of a multi-site deployment, the number of Gateways in the DS's Gateway Hub.
  • Clients connected to the DS — The number of clients (Cache Servers, Gateways, or Application Peers) in other Distributed Systems that are connected to the DS.

The table in the middle of the GemFire View for a DS displays inventory properties and last reported metric values for each server (including Cache Servers, Gateway Hubs and Application Peers) the DS.

GemFire View for a Cache Server or Application Peer

The GemFire View for a Cache Server or Application Peer displays server and region inventory properties and metrics:

  • Server metrics — The single row table presents last reported metric values for the Cache Server or Application Peer.
  • Region metrics — The multi-row table presents inventory properties and the Entry Count metric for each region the server contains.

GemFire View for a Gateway Hub

The HQ GemFire View for a Gateway Hub displays inventory data and live measurements for the Gateway Hub, the Hubs and Regions it contains, and any clients connected to the Hub.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.