Use Pulse in embedded mode to monitor a GemFire XD deployment directly from a GemFire XD JMX Manager. By default, the embedded Pulse application connects to the local JMX Manager that hosts the Pulse application. Optionally, you can configure Pulse to connect to a GemFire XD system of your choice.
A JMX Manager node is a member of a distributed system that can manage itself and other GemFire XD nodes. A distributed system has only one JMX manager. Any GemFire XD member can become a JMX Manager.
When a JMX Manager runs in embedded mode, the Pulse Web application is hosted on an embedded application server and the Pulse application connects to this local JMX Manager. You can also configure your system so that the Pulse Web application runs in a Web Application server (such as Tomcat, TC Server, or WebLogic). When the Pulse application launches, you specify a locator or JMX Manager URL. If you specify a locator, the locator searches for potential JMX Managers within the distributed system. If none are found, the locator becomes the JMX Manager. You can also specify that the application connect directly to a specific JMX Manager.
Configure a GemFire XD member to run as a JMX Manager node, specifying the HTTP port on which you will access the Pulse Web application. For example, the following gfxd command starts a GemFire XD locator as a JMX Manager node, using the default HTTP port 7070 for the Pulse application.
>gfxd locator start -dir=locatorDir -jmx-manager-start=true
When the JMX Manager node boots, it starts an embedded Tomcat instance and deploys the Pulse Web application at the specified or default HTTP port.
Access the embedded Pulse application from a Web browser. Enter the URL http://address:jmx-manager-http-port/pulse directly in your Web browser, substituting the address and HTTP port of the manager. For example, you access Pulse on the local locator machine described in Step 1 at the URL http://localhost:7070/pulse.
Host Pulse on a dedicated Web application server to make the Pulse application available at a consistent address, or to use SSL for accessing the Pulse application. When you host Pulse in this way, you also configure Pulse to connect to a specific locator or JMX Manager node for monitoring.
Create a pulse.properties file somewhere in the classpath of your Web application server. For example, if you are hosting Pulse on Tomcat, create the pulse.properties file in the $TOMCAT_SERVER/lib directory.
Property | Description |
---|---|
pulse.useLocator | Specify
true to configure Pulse to connect to a
GemFire XD Locator member, or
false to connect directly to a JMX
Manager.
When Pulse connects to a GemFire XD locator, the locator provides the address and port of an available JMX Manager to use for monitoring the distributed system. In most production deployments, you should connect Pulse to a locator instance; this allows Pulse to provide monitoring services using any available JMX Manager. If you specify false, Pulse connects directly to a specific JMX Manager. If this manager is not available, the Pulse connection fails, even if another JMX Manager is available in the distributed system. |
pulse.host | Specify the DNS name or IP address of the GemFire XD locator or JMX Manager machine to which Pulse should connect. You specify either a locator or JMX Manager address depending on how you configured the pulse.useLocator property. |
pulse.port | Specify the port number of the GemFire
XD locator or the HTTP port number of the JMX Manager to which Pulse should
connect. You specify either a locator or JMX Manager port depending on how you
configured the
pulse.useLocator property.
If you configured pulse.useLocator=false, then pulse.port must correspond to the jmx-manager-http-port setting of the JMX Manager. |
pulse.jmxUserName | If you configured authentication for
the GemFire XD JMX Manager node, specify a valid JMX user name that the Pulse
application will use to authenticate to the JMX Manager.
Note: The JMX account that Pulse uses must have both read
and write privileges.
See Using a JMX Manager Node for information about configuring authentication for JMX Manager nodes. |
pulse.jmxUserPassword | Specify the password of the JMX user account to use for authentication at startup. |
pulse.product | Set the value of this property to gemfirexd. |
pulse.useLocator=true pulse.host=locsrv.gemstone.com pulse.port=10334 pulse.jmxUserName=pulseapp pulse.jmxUserPassword=pulsepass pulse.product=gemfirexd
pulse.useLocator=false pulse.host=jmxsrv.gemstone.com pulse.port=7070 pulse.jmxUserName=pulseapp pulse.jmxUserPassword=pulsepass pulse.product=gemfirexd
Access the Pulse application using the address, port, and application URL that you configure in your Web application server. For the default Tomcat URL is http://address:7070/pulse. Your application server provides options for configuring the address, port, and application name; substitute the correct items to access the deployed Pulse application.
Pulse connects to the locator or JMX Manager that you configured in the pulse.properties file, authenticating using the credentials that you configured in the file.
javax.net.ssl.keyStore={KeyStorePath} javax.net.ssl.keyStorePassword={KeyStorePassword} javax.net.ssl.trustStore={TrustStorePath} javax.net.ssl.trustStorePassword={TrustStorePassword}
Pulse requires all users to authenticate themselves before they can use the Pulse Web application. If you have configured JMX authentication on the GemFire XD JMX Manager node, the Pulse Web application itself may also need to authenticate itself to the GemFire XD JMX Manager node on startup.
If you run Pulse in embedded mode, the Pulse application runs on the JMX Manager node and no JMX authentication is required. You do not need to specify valid JMX credentials to start an embedded Pulse application.
If you host Pulse on a Web Application server (non-embedded mode) and you configure JMX authentication on the GemFire XD manager node, then the Pulse Web application must authenticate itself with the manager node when it starts. Specify the credentials of a valid JMX user account in the pulse.properties file, as described in Configuring Pulse Authentication.
Pulse implements user authentication using the Spring security framework. The authentication configuration is specified in the spring-security.xml file, which is stored in the WEB-INF directory of Pulse WAR file. The spring-security.xml file contains bean definitions for role-based resource access, authentication profiles, and authentication handlers. The file also contains a default authentication manager bean definition.
User Name: | admin |
Password: | admin |
Role: | ROLE_USER |
-Dspring.profiles.active=pulse.authentication.default
-Dspring.profiles.active=pulse.authentication.custom
Using a custom configuration enables you to use one or more different authentication providers to authenticate users to the application. For example, you may choose to authenticate users using an LDAP provider and/or an external properties file. Even if you choose to use the Spring security simple in-memory User Details Service, using a custom authentication configuration enables you to define your own user credentials rather than using the default "admin" account.
$ mkdir /opt/pulse-config
$ export CLASSPATH=$CLASSPATH:/opt/pulse-config
$ touch /opt/pulse-config/pulse-authentication-custom.xml
<beans:beans > <authentication-manager> <authentication-provider> <user-service id="userDetailsService"> <user name="john" password="johnspassword" authorities="ROLE_USER " /> <user name="bob" password="bobspassword" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager> </beans:beans>
<beans:beans > <authentication-manager> <authentication-provider> <user-service properties="classpath:pulse-users.properties"> </user-service> </authentication-provider> </authentication-manager> </beans:beans>
username=password,role,{enabled | disabled}The role entry must correspond to a valid Spring security role. For example, this entry shows the default "admin" user enabled with basic user access:
admin=admin,ROLE_USER,enabled
<beans:beans > <ldap-server url="ldap://pulseldap.com:389/dc=pulseldap,dc=com" /> <authentication-manager> <ldap-authentication-provider user-dn-pattern="uid={0},ou=people" group-search-base="cn=gemfirePulse,ou=groups" group-search-filter="memberUid={1}" /> </authentication-manager> </beans:beans>
The LDAP configuration must specify the LDAP server to use for authentication. You can also specify the DN pattern, search base, and search filter to use when authenticating the Pulse user.
$ gfxd locator start -jmx-manager-start=true -jmx-manager-http-port=7070 -J-Dspring.profiles.active=pulse.authentication.custom -classpath=/opt/pulse-config
set CATALINA_OPTS=-Dspring.profiles.active=pulse.authentication.custom set "CLASSPATH=/opt/pulse-config" exit /b 0
Pulse provides a variety of different views to help you monitor GemFire XD clusters, members, and tables.
Cluster View provides a high-level overview of a GemFire XD distributed system. When you first log in to Pulse, Cluster View displays by default.
To open Cluster View, click Cluster View in the upper-left portion of the Pulse screen.
Cluster View
Icon View displays each member as an icon and shows its relationship to other members. Click on an icon to open the Member View for the member.
Block View displays each member as a rectangle. The size of each rectangle represents the relative memory usage of each member. Hover the cursor over a block to see information about the member. Click on a block to open the Member View for the member.
List View displays members in a list. Click on a member row to open Member View for the member.
Member View
Block view displays each table available on the member as a rectangle. The size of each rectangle represents the relative number of rows for each table. Hover the cursor over a block to see the name of the table, the type of table, the number of rows in the table, and its size in megabytes.
List View displays the same information as Block View but in tabular format.
The Pulse Data View provides a comprehensive overview of all tables in the GemFire XD distributed system:
Data View
Block view displays each table as a rectangle. The size of each rectangle represents the relative number of rows of each table. Hover the cursor over a block to see the name of the table, the type of table, the number of rows in the table, and its size in megabytes.
List View displays the same information in tabular format.
Query Statistics View displays statistics about recent queries.
gfxd>call syscs_util.set_statement_statistics(1);
To open Query Statistics View, click Query Statistics in the upper-left portion of the Pulse screen.
Use these basic controls while using Query Statistics view:
Query Statistics View
The Alerts Widget appears in the right portion of the screen and displays a list of alerts.
Alerts Widget