GemFire Monitoring Tool GFMon 1.0 User Documentation GEMSTONE SYSTEMS PVT LTD COVERED SOFTWARE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
Table of Contents Introduction... 3 Installation... 4 Fresh Installation... 4 Old Installation... 4 Setup GFMon... 4 Use of Scripts... 4 Running Multiple Instances... 5 Managing GFMon Log Files... 6 Running Monitoring Service... 7 In Gemfire Members... 7 Running Locators and Cache Servers... 7 GFMon Views... 8 1. System Console... 8 2. System Member... 8 3. System Regions... 10 4. System Events Console... 11 Appendix... 12 Runtime Discrete Views... 12 1. Members... 12 2. Regions... 14 3. Events... 16
Introduction GemFire Monitor is a monitoring tool that continuously monitors GemFire member and locator service status. Important functional pieces in GFMon include: 1. Email functionality Sends emails on specific system events and alerts. 2. Event viewer Lists and tracks all relevant system events. 3. Region viewer - Shows a member s regions. 4. OQL viewer Allows query execution via a bridge server. This functionality is visible only if it is enabled. 5. Logging Allows user to create a separate log file for each GFMon run. 6. Copy-Paste Allows user to copy-paste GFMon information into a log/word document for reports. Please see the GFMon 1.0 release notes for bugs fixed, defects open and associated relevant details.
Installation Unzip the distribution to a temporary directory. This will create the directory named gfmon/. Fresh Installation 1. Move the entire gfmon directory to the desired location in the file system. 2. Edit <gfmon-dir>/bin_win/setenv.bat for Windows or <gfmondir>/bin_sh/setenv.sh for Linux/Unix and include the correct GemFire path. 3. Edit <gfmon-dir>/etc/gfmon.properties as necessary. This file contains GUI and email properties. 4. Edit <gfmon-dir>/etc/gfmon_config.csv as necessary. This file contains the list of GemFire members to monitor. Old Installation Windows: xcopy <old-gfmon-dir>\bin_sh\setenv.sh <new-gfmon-dir>\bin_sh xcopy <old-gfmon-dir>\bin_win\setenv.bat <new-gfmon-dir>\bin_win xcopy <old-gfmon-dir>\etc\*.* <new-gfmon-dir>\etc Linux/Unix: cp <old-gfmon-dir>/bin_sh/setenv.sh <new-gfmon-dir>/bin_sh cp <old-gfmon-dir>/bin_win/setenv.bat <new-gfmon-dir>/bin_win cp <old-gfmon-dir>/etc/*.* <new-gfmon-dir>/etc Move the entire gfmon directory <new-gfmon-dir> to the desired location In the file system Setup GFMon This section describes steps that are required to run GFMon, including customization of scripts for running GFMon. Use of Scripts 1. Edit bin_win\setenv.bat for Windows or bin_sh/setenv.sh for Linux/Unix. Change the paths accordingly. It is highly recommended that Java 1.5 is used to run GFMon. Please see setenv.bat or setenv.sh for description. You must use the following GFMON_EXT settings in setenv.bat/setenv.sh: GemFire 5.1 or later: GFMON_EXT=
For GemFire 5.1 and later, GFMON_EXT must be unset. GemFire 5.1 and later includes the monitor service. Note that it is important to set the correct location of GEMFIRE in setenv.sh or setenv.bat 2. Edit etc/gfmon.properties. Uncomment all of the properties in the file and set accordingly. Each attribute is described in detail in the file. 3. Edit etc/gfmon_config.csv. Enter all of the members to monitor in the file. 4. Change directory to bin_win and run "gfmon.bat" for Windows. On Linux change directory to bin_sh and run "gfmon.sh". Running Multiple Instances Running more than one instance has the side effect that upon a primary gateway failure, there maybe more than one email notifications sent to the same recipients if more than one GFMon instance is monitoring the same primary gateway. Please note that you can also run GFMon with a completely different member list and email list. This allows you a way to organize your member lists. For example, follow the steps below to launch a GFMon instance that monitors clients only. 1. Copy gfmon.bat to gfmon_client.bat on Windows. On Linux copy gfmon.sh to gfmon_client.sh. 2. Open gfmon_client.bat (Windows) or gfmon_client.sh (Linux) and change the following properties: LOG_FILE=-Dgemfire.log-file=log/gfmon_client.log PREFERENCE_FILE=-DpreferencePropertiesFile=etc/gfmon_client.properties 3. Copy etc/gfmon_config.csv to etc/gfmon_config_client.csv 4. Edit etc/gfmon_config_client.csv List clients only in this file 5. Copy etc/gfmon.properties to etc/gfmon_client.properties 6. Edit gfmon_client.properties Make sure to change the property gfmon.configfile, i.e, gfmon.configfile=etc/gfmon_config_client.csv Change all other properties as necessary. 7. Run gfmon_client.bat (Windows) or gfmon_client.sh
You can repeat the above steps to create more GFMon scripts. Managing GFMon Log Files GFMon keeps all log files. Each run creates a new log file and the previous file is archived in the same log/ directory. To remove the log files, execute bin_win/clean.bat or bin_sh/clean.sh. These scripts remove all log files including the locator and cache server example log files. Scripts for removal are: bin_win\clean.bat bin_sh/clean.sh
Running Monitoring Service The monitor service in GemFire runs independent of the distribute system health monitor. As such, it must be enabled separately using GemFire properties. These properties are set for the GemFire system members (applications, locators, or cacheservers) that provide the monitor service to GFMon. They are not used by the GFMon GUI tool. The rest of this section describes how to set the properties. In Application Members For the GemFire member application, the properties can be set in the gemfire.properties file or at the command line. A sample gemfire.properties file in the GFMon etc/default directory. In GemFire Members Using gemfire.properties # Enable/disable the monitor service. Default is false. status-monitoring-enabled=true # Set the monitor service IP port number. This port number and the IP address # must be included in the GFMon member configuration dialog. status-monitoring-port=35001 Using start script You can also include these properties in your script with the prefix "gemfire.". For example, java -Dgemfire.status-monitoring-enabled=true -Dgemfire.status-monitoring-port=35001... Running Locators and Cache Servers Use the locator and cache server examples included in the <gfmondir>\bin_win\bin_gemfire or <gfmon-dir>/bin_sh/bin_gemfire directory. Because the gemfire extension jar file included in the GFMon distribution must be set in CLASSPATH, you must use these examples to launch locators and cache servers.
GFMon Views These are the aggregate views that the user sees, once he launches GFMon and connects to a running agent/system 1. System Console This is the overall system console ala. Dashboard view of all members. This aggregate is made up of the following discrete views: a) Summary View of the current connected members to the DS b) Status View of the current selected member c) Member List View, for Clients d) Member List View, with Queue size, for Peers, Servers & Incoming gateways e) Member List View, for Outgoing Gateways Figure 1: System Console view 2. System Member This is the detail view of a System Member. This aggregate is made up of the following discrete views: a) Detail view of the selected Member b) Member List View, with Queue size, for Peers, Servers & Incoming gateways
c) Member List View, for Outgoing Gateways d) Region List View for a member Figure 2: System Member View
3. System Regions This is the detail view of a Systems Regions selected. This aggregate is made up of the following discrete views: a) Region System View for a member Figure 3: Regions System wide view
4. System Events Console This is the events console view Figure 4: System Events Console
Appendix Runtime Discrete Views This section captures the discrete views that make up the GFMon UI. We can consider these discrete views as the base components using which specific windows are made that ultimately are viewable by the user. 1. Members a) Summary View of the current connected members to the DS This view provides a list of the currently connected members to the DS Figure 5: Member Summary View b) Status View of the current selected member This view provides details on the status of the currently selected member Figure 6: Member Status View c) Detailed View of a given selected member Includes: DS, Gateway Hub, Monitor Name, Member Name, Host, Bind Address, Server Port, IsServer, Table View of Member Regions, Table List of other members
Figure 7: Member Detail View d) Member List View, with Queue size, for Peers, Servers & Incoming gateways The Member List View has information similar to the summary view, on all connected members, except it is a bit more trimmed and includes information on the Queue size Figure 8: Member Peer/Servers/Incoming Gateways List view, with Queue size e) Member List View, with Queue size, for Peers, Servers & Incoming gateways, without the Queue size Another view variant of the Member List view is where the Queue size is not displayed Figure 9: Member Peer/Servers/Incoming Gateways List view, no Queue size
f) Member List View, for Outgoing Gateways This list view lists the current system members that are acting as Outgoing Gateways Figure 10: Member Outgoing Gateways View g) Member List View, for Clients This list view displays the current connected clients Figure 11: Member Client List View 2. Regions a) List View of the Regions This view includes a list of all a members regions. It includes the Region Full Path and Size
Figure 12: Region List View b) System wide List view of the Region This view includes information on the members that the given Region. It includes the MemberID, Host and size information on a region Figure 13: System wide List view of a Region
3. Events The events console displays a list of all System events including member connects, disconnects, refreshes etc Figure 14: System Events Console