http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/jmx_manager_operations.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/jmx_manager_operations.html.md.erb b/geode-docs/managing/management/jmx_manager_operations.html.md.erb deleted file mode 100644 index 5ad3e23..0000000 --- a/geode-docs/managing/management/jmx_manager_operations.html.md.erb +++ /dev/null @@ -1,212 +0,0 @@ ---- -title: Starting a JMX Manager ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -<a id="topic_686158E9AFBD47518BE1B4BEB232C190"></a> - - -JMX Manager nodes are members that manage other Geode members (as well as themselves). A JMX Manager node can manage all other members in the distributed system. Typically a locator will function as the JMX Manager, but you can also turn any other distributed system member such as a server into a JMX Manager node as well. - -To allow a server to become a JMX Manager you configure Geode property `jmx-manager=true`, in the server's`gemfire.properties` file. This property configures the node to become a JMX Manager node passively; if gfsh cannot locate a JMX Manager when connecting to the distributed system, the server node will be started as a JMX Manager node. - -**Note:** -The default property setting for all locators is `gemfire.jmx-manager=true`. For other members, the default property setting is `gemfire.jmx-manager=false`. - -To force a server to become a JMX Manager node whenever it is started, set the Geode properties `jmx-manager-start=true` and `jmx-manager=true` in the server's gemfire.properties file. Note that both of these properties must be set to true for the node. - -To start the member as a JMX Manager node on the command line, provide` --J=-Dgemfire.jmx-manager-start=true and --J=-Dgemfire.jmx-manager=true` as arguments to either the `start server` or `start locator` command. - -For example, to start a server as a JMX Manager on the gfsh command line: - -``` pre -gfsh>start server --name=<server-name> --J=-Dgemfire.jmx-manager=true \ ---J=-Dgemfire.jmx-manager-start=true -``` - -By default, any locator can become a JMX Manager when started. When you start up a locator, if no other JMX Manager is detected in the distributed system, the locator starts one automatically. If you start a second locator, it will detect the current JMX Manager and will not start up another JMX Manager unless the second locator's `gemfire.jmx-manager-start` property is set to true. - -For most deployments, you only need to have one JMX Manager per distributed system. However, you can run more than JMX Manager if necessary. If you want to provide high-availability and redundancy for the Pulse monitoring tool, or if you are running additional JMX clients other than gfsh, then use the `jmx-manager-start=true` property to force individual nodes (either locators or servers) to become JMX Managers at startup. Since there is some performance overhead to being a JMX Manager, we recommend using locators as JMX Managers. If you do not want a locator to become a JMX manager, then you must use the `jmx-manager=false` property when you start the locator. - -After the node becomes a JMX Manager, all other `jmx-manager-*` configuration properties listed in [Configuring a JMX Manager](jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6) are applied. - -The following is an example of starting a new locator that also starts an embedded JMX Manager (after detecting that another JMX Manager does not exist). In addition, `gfsh` also automatically connects you to the new JMX Manager. For example: - -``` pre -gfsh>start locator --name=locator1 -Starting a GemFire Locator in /home/user/test2/locator1... -............................................ -Locator in /home/user/test2/locator1 on ubuntu.local[10334] as locator1 is currently online. -Process ID: 2081 -Uptime: 30 seconds -GemFire Version: 8.0.0 -Java Version: 1.7.0_65 -Log File: /home/user/test2/locator1/locator1.log -JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false --Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806 -Class-Path: /home/user/Pivotal_GemFire_800_b48319_Linux/lib/locator-dependencies.jar:/usr/local/java/lib/tools.jar - -Successfully connected to: [host=ubuntu.local, port=1099] - -Cluster configuration service is up and running. -``` - -Or you can enter the command directly in your terminal: - -``` pre -$ gfsh start locator --name=locator1 -.................................... -Locator in /home/user/locator1 on ubuntu.local[10334] as locator1 is currently online. -Process ID: 2359 -Uptime: 21 seconds -GemFire Version: 8.0.0 -Java Version: 1.7.0_65 -Log File: /home/user/locator1/locator1.log -JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false - -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806 -Class-Path: /home/user/Pivotal_GemFire_800_b48319_Linux/lib/locator-dependencies.jar:/usr/local/java/lib/tools.jar - -Successfully connected to: [host=ubuntu.local, port=1099] - -Cluster configuration service is up and running. -``` - -Locators also keep track of all nodes that can become a JMX Manager. - -Immediately after creating its cache, the JMX Manager node begins federating the MBeans from other members. After the JMX Manager node is ready, the JMX Manager node sends a notification to all other members informing them that it is a new JMX Manager. The other members then put complete MBean states for themselves into each of their hidden management regions. - -At any point, you can determine whether a node is a JMX Manager by using the MemberMXBean isManager() method. - -Using the Java API, any managed node that has been configured with `jmx-manager=true` can also be turned into a JMX Manager Node by invoking the ManagementService startManager() method. - -**Note:** -If you start the JMX Manager programmatically and wish to enable command processing, you must also add the absolute path of `gfsh-dependencies.jar` (located in `$GEMFIRE/lib` of your Geode installation) to the CLASSPATH of your application. Do not copy this library to your CLASSPATH because this library refers to other dependencies in `$GEMFIRE/lib` by a relative path. - -## <a id="topic_263072624B8D4CDBAD18B82E07AA44B6" class="no-quick-link"></a>Configuring a JMX Manager - -In the `gemfire.properties` file, you configure a JMX manager as follows. - -<table> -<colgroup> -<col width="33%" /> -<col width="33%" /> -<col width="33%" /> -</colgroup> -<thead> -<tr class="header"> -<th>Property</th> -<th>Description</th> -<th>Default</th> -</tr> -</thead> -<tbody> -<tr class="odd"> -<td>http-service-port</td> -<td>If non-zero, then Geode starts an embedded HTTP service that listens on this port. The HTTP service is used to host the Geode Pulse Web application. If you are hosting the Pulse web app on your own Web server, then disable this embedded HTTP service by setting this property to zero. Ignored if <code class="ph codeph">jmx-manager</code> is false.</td> -<td>7070</td> -</tr> -<tr class="even"> -<td>http-service-bind-address</td> -<td>If set, then the Geode member binds the embedded HTTP service to the specified address. If this property is not set but the HTTP service is enabled using <code class="ph codeph">http-service-port</code>, then Geode binds the HTTP service to the member's local address.</td> -<td><em>not set</em></td> -</tr> -<tr class="odd"> -<td>jmx-manager</td> -<td><p>If <code class="ph codeph">true</code> then this member can become a JMX Manager. All other <code class="ph codeph">jmx-manager-*</code> properties are used when it does become a JMX Manager. If this property is false then all other <code class="ph codeph">jmx-manager-*</code> properties are ignored.</p> -<p>The default value is <code class="ph codeph">true</code> on locators.</p></td> -<td>false (with Locator exception)</td> -</tr> -<tr class="even"> -<td>jmx-manager-access-file</td> -<td><p>By default the JMX Manager allows full access to all MBeans by any client. If this property is set to the name of a file, then it can restrict clients to only reading MBeans; they cannot modify MBeans. The access level can be configured differently in this file for each user name defined in the password file. For more information about the format of this file see Oracle's documentation of the <code class="ph codeph">com.sun.management.jmxremote.access.file</code> system property. Ignored if <code class="ph codeph">jmx-manager</code> is false or if <code class="ph codeph">jmx-manager-port</code> is zero.</p></td> -<td><em>not set</em></td> -</tr> -<tr class="odd"> -<td>jmx-manager-bind-address</td> -<td>By default, the JMX Manager when configured with a port listens on all the local host's addresses. You can use this property to configure which particular IP address or host name the JMX Manager will listen on. This property is ignored if <code class="ph codeph">jmx-manager</code> is false or <code class="ph codeph">jmx-manager-port</code> is zero. This address also applies to the Geode Pulse server if you are hosting a Pulse web application.</td> -<td><em>not set</em></td> -</tr> -<tr class="even"> -<td>jmx-manager-hostname-for-clients</td> -<td>Hostname given to clients that ask the locator for the location of a JMX Manager. By default the IP address of the JMX Manager is used. However, for clients on a different network, you can configure a different hostname to be given to clients. Ignored if <code class="ph codeph">jmx-manager</code> is false or if <code class="ph codeph">jmx-manager-port</code> is zero.</td> -<td><em>not set</em></td> -</tr> -<tr class="odd"> -<td>jmx-manager-password-file</td> -<td>By default the JMX Manager allows clients without credentials to connect. If this property is set to the name of a file, only clients that connect with credentials that match an entry in this file will be allowed. Most JVMs require that the file is only readable by the owner. For more information about the format of this file see Oracle's documentation of the com.sun.management.jmxremote.password.file system property. Ignored if jmx-manager is false or if jmx-manager-port is zero. </td> -<td><em>not set</em></td> -</tr> -<tr class="even"> -<td>jmx-manager-port</td> -<td>Port on which this JMX Manager listens for client connections. If this property is set to zero, Geode does not allow remote client connections. Alternatively, use the standard system properties supported by the JVM for configuring access from remote JMX clients. Ignored if jmx-manager is false. The Default RMI port is 1099.</td> -<td>1099</td> -</tr> -<tr class="odd"> -<td>jmx-manager-ssl</td> -<td>If true and <code class="ph codeph">jmx-manager-port</code> is not zero, the JMX Manager accepts only SSL connections. The ssl-enabled property does not apply to the JMX Manager, but the other SSL properties do. This allows SSL to be configured for just the JMX Manager without needing to configure it for the other Geode connections. Ignored if <code class="ph codeph">jmx-manager</code> is false.</td> -<td>false</td> -</tr> -<tr class="even"> -<td>jmx-manager-start</td> -<td>If true, this member starts a JMX Manager when it creates a cache. In most cases you should not set this property to true because a JMX Manager is automatically started when needed on a member that sets <code class="ph codeph">jmx-manager</code> to true. Ignored if jmx-manager is false.</td> -<td>false</td> -</tr> -<tr class="odd"> -<td>jmx-manager-update-rate</td> -<td>The rate, in milliseconds, at which this member pushes updates to any JMX Managers. Currently this value should be greater than or equal to the <code class="ph codeph">statistic-sample-rate</code>. Setting this value too high causes <code class="ph codeph">gfsh</code> and Geode Pulse to see stale values.</td> -<td>2000</td> -</tr> -</tbody> -</table> - -## <a id="topic_5B6DF783A14241399DC25C6EE8D0048A" class="no-quick-link"></a>Stopping a JMX Manager - -To stop a JMX Manager using gfsh, simply shut down the locator or server hosting the JMX Manager. - -For a locator: - -``` pre -gfsh>stop locator --dir=locator1 -Stopping Locator running in /home/user/test2/locator1 on ubuntu.local[10334] as locator1... -Process ID: 2081 -Log File: /home/user/test2/locator1/locator1.log -.... -No longer connected to ubuntu.local[1099]. -``` - -For a server: - -``` pre -gfsh>stop server --dir=server1 -Stopping Cache Server running in /home/user/test2/server1 ubuntu.local[40404] as server1... -Process ID: 1156 -Log File: /home/user/test2/server1/server1.log -.... - - -No longer connected to ubuntu.local[1099]. -``` - -Notice that `gfsh` has automatically disconnected you from the stopped JMX Manager. - -To stop a JMX manager using the management API, use the ManagementService stopManager() method to stop a member from being a JMX Manager. - -When a Manager stops, it removes all federated MBeans from other members from its Platform MBeanServer. It also emits a notification to inform other members that it is no longer considered a JMX Manager. - -
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb b/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb deleted file mode 100644 index 0d9229d..0000000 --- a/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: List of JMX MBean Notifications ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> -<a id="mbean_notifications_list"></a> - - -This topic lists all available JMX notifications emitted by Geode MBeans. - -Notifications are emitted by the following MBeans: - -- **[MemberMXBean Notifications](list_of_mbean_notifications.html#reference_czt_hq2_vj)** - -- **[MemberMXBean Gateway Notifications](list_of_mbean_notifications.html#reference_dzt_hq2_vj)** - -- **[CacheServerMXBean Notifications](list_of_mbean_notifications.html#cacheservermxbean_notifications)** - -- **[DistributedSystemMXBean Notifications](list_of_mbean_notifications.html#distributedsystemmxbean_notifications)** - -## <a id="reference_czt_hq2_vj" class="no-quick-link"></a>MemberMXBean Notifications - -| Notification Type | Notification Source | Message | -|-----------------------------------------------------|---------------------|-------------------------------------------------------------| -| gemfire.distributedsystem.cache.region.created | Member name or ID | Region Created with Name <Region Name> | -| gemfire.distributedsystem.cache.region.closed | Member name or ID | Region Destroyed/Closed with Name <Region Name> | -| gemfire.distributedsystem.cache.disk.created | Member name or ID | DiskStore Created with Name <DiskStore Name> | -| gemfire.distributedsystem.cache.disk.closed | Member name or ID | DiskStore Destroyed/Closed with Name <DiskStore Name> | -| gemfire.distributedsystem.cache.lockservice.created | Member name or ID | LockService Created with Name <LockService Name> | -| gemfire.distributedsystem.cache.lockservice.closed | Member name or ID | Lockservice Closed with Name <LockService Name> | -| gemfire.distributedsystem.async.event.queue.created | Member name or ID | Async Event Queue is Created in the VM | -| gemfire.distributedsystem.cache.server.started | Member name or ID | Cache Server is Started in the VM | -| gemfire.distributedsystem.cache.server.stopped | Member name or ID | Cache Server is stopped in the VM | -| gemfire.distributedsystem.locator.started | Member name or ID | Locator is Started in the VM | - -## <a id="reference_dzt_hq2_vj" class="no-quick-link"></a>MemberMXBean Gateway Notifications - -| Notification Type | Notification Source | Message | -|----------------------------------------------------|---------------------|---------------------------------------------------| -| gemfire.distributedsystem.gateway.sender.created | Member name or ID | GatewaySender Created in the VM | -| gemfire.distributedsystem.gateway.sender.started | Member name or ID | GatewaySender Started in the VM <Sender Id> | -| gemfire.distributedsystem.gateway.sender.stopped | Member name or ID | GatewaySender Stopped in the VM <Sender Id> | -| gemfire.distributedsystem.gateway.sender.paused | Member name or ID | GatewaySender Paused in the VM <Sender Id> | -| gemfire.distributedsystem.gateway.sender.resumed | Member name or ID | GatewaySender Resumed in the VM <Sender Id> | -| gemfire.distributedsystem.gateway.receiver.created | Member name or ID | GatewayReceiver Created in the VM | -| gemfire.distributedsystem.gateway.receiver.started | Member name or ID | GatewayReceiver Started in the VM | -| gemfire.distributedsystem.gateway.receiver.stopped | Member name or ID | GatewayReceiver Stopped in the VM | -| gemfire.distributedsystem.cache.server.started | Member name or ID | Cache Server is Started in the VM | - -## <a id="cacheservermxbean_notifications" class="no-quick-link"></a>CacheServerMXBean Notifications - -| Notification Type | Notification Source | Message | -|------------------------------------------------------|------------------------|------------------------------------------| -| gemfire.distributedsystem.cacheserver.client.joined | CacheServer MBean Name | Client joined with Id <Client ID> | -| gemfire.distributedsystem.cacheserver.client.left | CacheServer MBean Name | Client crashed with Id <Client ID> | -| gemfire.distributedsystem.cacheserver.client.crashed | CacheServer MBean name | Client left with Id <Client ID> | - -## <a id="distributedsystemmxbean_notifications" class="no-quick-link"></a>DistributedSystemMXBean Notifications - -| Notification Type | Notification Source | Message | -|-------------------------------------------------|---------------------------------------------------|----------------------------------------------------------------------------| -| gemfire.distributedsystem.cache.member.joined | Name or ID of member who joined | Member Joined <Member Name or ID> | -| gemfire.distributedsystem.cache.member.departed | Name or ID of member who departed | Member Departed <Member Name or ID> has crashed = <true/false> | -| gemfire.distributedsystem.cache.member.suspect | Name or ID of member who is suspected | Member Suspected <Member Name or ID> By <Who Suspected> | -| system.alert.\* | DistributedSystem("<DistributedSystem ID">) | Alert Message | - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/list_of_mbeans.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/list_of_mbeans.html.md.erb b/geode-docs/managing/management/list_of_mbeans.html.md.erb deleted file mode 100644 index 57a4a24..0000000 --- a/geode-docs/managing/management/list_of_mbeans.html.md.erb +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: List of Geode JMX MBeans ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> -<a id="topic_4BCF867697C3456D96066BAD7F39FC8B"></a> - - -This topic provides descriptions for the various management and monitoring MBeans that are available in Geode. - -The following diagram illustrates the relationship between the different JMX MBeans that have been developed to manage and monitor Apache Geode. - -<img src="../../images_svg/MBeans.svg" id="topic_4BCF867697C3456D96066BAD7F39FC8B__image_66525625D6804EDE9675D6CE509360A3" class="image" /> - -- **[JMX Manager MBeans](list_of_mbeans_full.html)** - - This section describes the MBeans that are available on the JMX Manager node. - -- **[Managed Node MBeans](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413)** - - This section describes the MBeans that are available on all managed nodes. - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/list_of_mbeans_full.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/list_of_mbeans_full.html.md.erb b/geode-docs/managing/management/list_of_mbeans_full.html.md.erb deleted file mode 100644 index 169d4f6..0000000 --- a/geode-docs/managing/management/list_of_mbeans_full.html.md.erb +++ /dev/null @@ -1,227 +0,0 @@ ---- -title: JMX Manager MBeans ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> -<a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C"></a> - - -This section describes the MBeans that are available on the JMX Manager node. - -The JMX Manager node includes all local beans listed under [Managed Node MBeans](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413) and the following beans that are available only on the JMX Manager node: - -- [ManagerMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_7B878B450B994514BDFE96571F0D3827) -- [DistributedSystemMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_4D7A4C82DD974BB5A5E52B34A6D888B4) -- [DistributedRegionMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_48384B091AB846E591F22EEA2770DD36) -- [DistributedLockServiceMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_9E004D8AA3D24647A5C19CAA1879F0A4) - -## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_7B878B450B994514BDFE96571F0D3827" class="no-quick-link"></a>ManagerMXBean - -Represents the Geode Management layer for the hosting member. Controls the scope of management. This MBean provides `start` and `stop` methods to turn a managed node into a JMX Manager node or to stop a node from being a JMX Manager. For potential managers (`jmx-manager=true` and `jmx-manager-start=false`), this MBean is created when a Locator requests it. - -**Note:** -You must configure the node to allow it to become a JMX Manager. See [Configuring a JMX Manager](jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6) for configuration information. - -**MBean Details** - -| | | -|--------------------|----------------------------------------------------------------------------| -| Scope | ALL | -| Proxied | No | -| Object Name | GemFire:type=Member, service=Manager,member=<name-or-dist-member-id> | -| Instances Per Node | 1 | - -See the `org.apache.geode.management.ManagerMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_4D7A4C82DD974BB5A5E52B34A6D888B4" class="no-quick-link"></a>DistributedSystemMXBean - -System-wide aggregate MBean that provides a high-level view of the entire distributed system including all members (cache servers, peers, locators) and their caches. At any given point of time, it can provide a snapshot of the complete distributed system and its operations. - -The DistributedSystemMXBean provides APIs for performing distributed system-wide operations such as backing up all members, shutting down all members or showing various distributed system metrics. - -You can attach a standard JMX NotificationListener to this MBean to listen for notifications throughout the distributed system. See [Geode JMX MBean Notifications](mbean_notifications.html) for more information. - -This MBean also provides some MBean model navigation APIS. These APIs should be used to navigate through all the MBeans exposed by a Geode System. - -**MBean Details** - -| | | -|--------------------|-----------------------------------------| -| Scope | Aggregate | -| Proxied | No | -| Object Name | GemFire:type=Distributed,service=System | -| Instances Per Node | 1 | - -See the `org.apache.geode.management.DistributedSystemMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_48384B091AB846E591F22EEA2770DD36" class="no-quick-link"></a>DistributedRegionMXBean - -System-wide aggregate MBean of a named region. It provides a high-level view of a region for all members hosting and/or using that region. For example, you can obtain a list of all members that are hosting the region. Some methods are only available for partitioned regions. - -**MBean Details** - -| | | -|--------------------|-----------------------------------------------------------------| -| Scope | Aggregate | -| Proxied | No | -| Object Name | GemFire:type=Distributed,service=Region,name=<regionName> | -| Instances Per Node | 0..N | - -See the `org.apache.geode.management.DistributedRegionMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_9E004D8AA3D24647A5C19CAA1879F0A4" class="no-quick-link"></a>DistributedLockServiceMXBean - -Represents a named instance of DistributedLockService . Any number of DistributedLockService can be created in a member. - -A named instance of DistributedLockService defines a space for locking arbitrary names across the distributed system defined by a specified distribution manager. Any number of DistributedLockService instances can be created with different service names. For all processes in the distributed system that have created an instance of DistributedLockService with the same name, no more than one thread is permitted to own the lock on a given name in that instance at any point in time. Additionally, a thread can lock the entire service, preventing any other threads in the system from locking the service or any names in the service. - -**MBean Details** - -| | | -|--------------------|-------------------------------------------------------------------| -| Scope | Aggregate | -| Proxied | No | -| Object Name | GemFire:type=Distributed,service=LockService,name=<dlsName> | -| Instances Per Node | 0..N | - -See the `org.apache.geode.management.DistributedLockServiceMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413" class="no-quick-link"></a>Managed Node MBeans - -This section describes the MBeans that are available on all managed nodes. - -MBeans that are available on all managed nodes include: - -- [MemberMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_796A989549304BF7A536A33A913322A4) -- [CacheServerMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_7287A7560650426E9B8249E2D87CE55F) -- [RegionMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_577A666924E54352AF69294DC8DEFEBF) -- [LockServiceMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_2F9F00081BB14CE0ADA251F5B6289BF2) -- [DiskStoreMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_1F475F68E73B4EAE875BA40825E736C9) -- [AsyncEventQueueMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_6A77030A15704BFEAEBBD7DB88266BF6) -- [LocatorMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_BB83107990D346F39271ACCC14CB84A0) - -JMX Manager nodes will have managed node MBeans for themselves since they are also manageable entities in the distributed system. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_796A989549304BF7A536A33A913322A4" class="no-quick-link"></a>MemberMXBean - -Member's local view of its connection and cache. It is the primary gateway to manage a particular member. It exposes member level attributes and statistics. Some operations like `createCacheServer()` and `createManager()` will help to create some Geode resources. Any JMX client can connect to the MBean server and start managing a Geode Member by using this MBean. - -See [MemberMXBean Notifications](list_of_mbean_notifications.html#reference_czt_hq2_vj) for a list of notifications emitted by this MBean. - -**MBean Details** - -| | | -|--------------------|-----------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,member=<name-or-dist-member-id> | -| Instances Per Node | 1 | - -See the `org.apache.geode.management.MemberMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_7287A7560650426E9B8249E2D87CE55F" class="no-quick-link"></a>CacheServerMXBean - -Represents the Geode CacheServer. Provides data and notifications about server, subscriptions, durable queues and indices. - -See [CacheServerMXBean Notifications](list_of_mbean_notifications.html#cacheservermxbean_notifications) for a list of notifications emitted by this MBean. - -**MBean Details** - -| | | -|--------------------|-------------------------------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,service=CacheServer,member=<name-or-dist-member-id> | -| Instances Per Node | 1 | - -See the `org.apache.geode.management.CacheServerMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_577A666924E54352AF69294DC8DEFEBF" class="no-quick-link"></a>RegionMXBean - -Member's local view of region. - -**MBean Details** - -| | | -|--------------------|--------------------------------------------------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,service=Region,name=<regionName>,member=<name-or-dist-member-id> | -| Instances Per Node | 0..N | - -See the `org.apache.geode.management.RegionMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_2F9F00081BB14CE0ADA251F5B6289BF2" class="no-quick-link"></a>LockServiceMXBean - -Represents a named instance of a LockService . Any number of LockServices can be created in a member. - -**MBean Details** - -| | | -|--------------------|----------------------------------------------------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,service=LockService,name=<dlsName>,member=<name-or-dist-member-id> | -| Instances Per Node | 0..N | - -See the `org.apache.geode.management.LockServiceMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_1F475F68E73B4EAE875BA40825E736C9" class="no-quick-link"></a>DiskStoreMXBean - -Represents a DiskStore object which provides disk storage for one or more regions - -**MBean Details** - -| | | -|--------------------|-----------------------------------------------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,service=DiskStore,name=<name>,member=<name-or-dist-member-id> | -| Instances Per Node | 0..N | - -See the `org.apache.geode.management.DiskStoreMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_6A77030A15704BFEAEBBD7DB88266BF6" class="no-quick-link"></a>AsyncEventQueueMXBean - -An AsyncEventQueueMXBean provides access to an AsyncEventQueue, which represent the channel over which events are delivered to the AsyncEventListener. - -**MBean Details** - -| | | -|--------------------|------------------------------------------------------------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,service=AsyncEventQueue=<AsyncEventQueue> ,member=<name-or-dist-member-id> | -| Instances Per Node | 0..N | - -See the `org.apache.geode.management.AsyncEventQueueMXBean` JavaDocs for information on available MBean methods and attributes. - -## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_BB83107990D346F39271ACCC14CB84A0" class="no-quick-link"></a>LocatorMXBean - -A LocatorMXBean represents a locator . - -**MBean Details** - -| | | -|--------------------|---------------------------------------------------------------------------------------------| -| Scope | Local | -| Proxied | Yes | -| Object Name | GemFire:type=Member,service=Locator,port=<port>,member=<name-or-dist-member-id> | -| Instances Per Node | 0..1 | - -See the `org.apache.geode.management.LocatorMXBean` JavaDocs for information on available MBean methods and attributes. http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/management_and_monitoring.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/management_and_monitoring.html.md.erb b/geode-docs/managing/management/management_and_monitoring.html.md.erb deleted file mode 100644 index 98b18e5..0000000 --- a/geode-docs/managing/management/management_and_monitoring.html.md.erb +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Apache Geode Management and Monitoring ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -Apache Geode provides APIs and tools for managing your distributed system and monitoring the health of your distributed system members. - -- **[Management and Monitoring Features](../../managing/management/management_and_monitoring_features.html)** - - Apache Geode uses a federated Open MBean strategy to manage and monitor all members of the distributed system. This strategy gives you a consolidated, single-agent view of the distributed system. - -- **[Overview of Geode Management and Monitoring Tools](../../managing/management/mm_overview.html)** - - Geode provides a variety of management tools you can use to manage a Geode distributed system. - -- **[Architecture and Components](../../managing/management/management_system_overview.html)** - - Geode's management and monitoring system consists of one JMX Manager node (there should only be one) and one or more managed nodes within a distributed system. All members in the distributed system are manageable through MBeans and Geode Management Service APIs. - -- **[JMX Manager Operations](../../managing/management/jmx_manager_node.html#topic_36C918B4202D45F3AC225FFD23B11D7C)** - - Any member can host an embedded JMX Manager, which provides a federated view of all MBeans for the distributed system. The member can be configured to be a manager at startup or anytime during its life by invoking the appropriate API calls on the ManagementService. - -- **[Federated MBean Architecture](../../managing/management/mbean_architecture.html)** - - Geode uses MBeans to manage and monitor different parts of Geode. Geode's federated MBean architecture is scalable and allows you to have a single-agent view of a Geode distributed system. - -- **[Configuring RMI Registry Ports and RMI Connectors](../../managing/management/configuring_rmi_connector.html)** - - Geode programmatically emulates out-of-the-box JMX provided by Java and creates a JMXServiceURL with RMI Registry and RMI Connector ports on all manageable members. - -- **[Executing gfsh Commands through the Management API](../../managing/management/gfsh_and_management_api.html)** - - You can also use management APIs to execute gfsh commands programmatically. - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/management_and_monitoring_features.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/management_and_monitoring_features.html.md.erb b/geode-docs/managing/management/management_and_monitoring_features.html.md.erb deleted file mode 100644 index 1eb8c6c..0000000 --- a/geode-docs/managing/management/management_and_monitoring_features.html.md.erb +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Management and Monitoring Features ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -Apache Geode uses a federated Open MBean strategy to manage and monitor all members of the distributed system. This strategy gives you a consolidated, single-agent view of the distributed system. - -<a id="concept_F7B9EE348DA744D3BBDFD68E7F48A604__section_37CECE9B26644505A79784EA0CD1FDAE"></a> -Application and manager development is much easier because you do not have to find the right MBeanServer to make a request on an MBean. Instead, you interact with a single MBeanServer that aggregates MBeans from all other local and remote MBeanServers. - -Some other key advantages and features of Geode administration architecture: - -- Geode monitoring is tightly integrated into Geode's processes instead of running in a separately installed and configured monitoring agent. You can use the same framework to actually manage Geode and perform administrative operations, not just monitor it. -- All Geode MBeans are *MXBeans*. They represent useful and relevant information on the state of the distributed system and all its members. Because MXBeans use the Open MBean model with a predefined set of types, clients and remote management programs no longer require access to model-specific classes representing your MBean types. Using MXBeans adds flexibility to your selection of clients and makes the Geode management and monitoring much easier to use. -- Each member in the distributed system is manageable through MXBeans, and each member hosts its own MXBeans in a Platform MBeanServer. -- Any Geode member can be configured to provide a federated view of all the MXBeans for all members in a Geode cluster. -- Geode has also modified its use of JMX to be industry-standard and friendly to generic JMX clients. You can now easily monitor or manage the distributed system by using any third-party tool that is compliant with JMX. For example, JConsole. - -## <a id="concept_F7B9EE348DA744D3BBDFD68E7F48A604__section_A3166A9657044E088DA0FE2C2B8325BE" class="no-quick-link"></a>References - -For more information on MXBeans and Open MBeans, see: - -- [http://docs.oracle.com/javase/8/docs/api/javax/management/MXBean.html](http://docs.oracle.com/javase/8/docs/api/javax/management/MXBean.html) -- [http://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/package-summary.html](http://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/package-summary.html) - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/management_system_overview.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/management_system_overview.html.md.erb b/geode-docs/managing/management/management_system_overview.html.md.erb deleted file mode 100644 index ecf69f5..0000000 --- a/geode-docs/managing/management/management_system_overview.html.md.erb +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Architecture and Components ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -Geode's management and monitoring system consists of one JMX Manager node (there should only be one) and one or more managed nodes within a distributed system. All members in the distributed system are manageable through MBeans and Geode Management Service APIs. - -## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_ABE7007BE3C244FBA0418C4B5BE7E1F2" class="no-quick-link"></a>Architecture - -The following diagram depicts the architecture of the management and monitoring system components. - -<img src="../../images_svg/JMX_Architecture.svg" id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__image_1E9E8575E13D4087BC47B6A288097B7A" class="image" /> - -In this architecture every Geode member is manageable. All Geode MBeans for the local Geode processes are automatically registered in the Platform MBeanServer (the default MBeanServer of each JVM that hosts platform MXBeans.) - -## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_1CF2B237C16F4095A609E62F0C7146C1" class="no-quick-link"></a>Managed Node - -Each member of a distributed system is a managed node. Any node that is not currently also acting as a JMX Manager node is referred to simply as a managed node. A managed node has the following resources so that it can answer JMX queries both locally and remotely: - -- Local MXBeans that represent the locally monitored components on the node. See [List of Geode JMX MBeans](list_of_mbeans.html#topic_4BCF867697C3456D96066BAD7F39FC8B) for a list of possible MXBeans existing for the managed node. -- Built-in platform MBeans. - -## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_8604838507194C8B86F1420FBA46894C" class="no-quick-link"></a>JMX Manager Node - -A JMX Manager node is a member that can manage other Geode members --that is, other managed nodes -- as well as itself. A JMX Manager node can manage all other members in the distributed system. - -To convert a managed node to a JMX Manager node, you configure the Geode property `jmx-manager=true`, in the `gemfire.properties` file, and start the member as a JMX Manager node. - -You start the member as a JMX Manager node when you provide` --J=-Dgemfire.jmx-manager=true` as an argument to either the` start server` or `start locator` command. See [Starting a JMX Manager](jmx_manager_operations.html#topic_686158E9AFBD47518BE1B4BEB232C190) for more information. - -The JMX Manager node has the following extra resources allocated so that it can answer JMX queries: - -- RMI connector that allows JMX clients to connect to and access all MXBeans in the distributed system. -- Local MXBeans that represent the locally monitored components on this node, same as any other managed node. -- Aggregate MXBeans: - - DistributedSystemMXBean - - DistributedRegionMXBean - - DistributedLockServiceMXBean -- ManagerMXBean with Scope=ALL, which allows various distributed system-wide operations. -- Proxy to MXBeans on managed nodes. -- Built-in platform MXBeans. - -## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_32D9F98189B14AA09BAC5E843EC18EDA" class="no-quick-link"></a>JMX Integration - -Management and monitoring tools such as gfsh command-line interface and Pulse use JMX/RMI as the communication layer to connect to Geode nodes. All Geode processes by default allow JMX connections to the Platform MBeanServer from localhost. By default, both managed nodes and JMX manager nodes have RMI connectors enabled to allow JMX client connections. - -JConsole (and other similar JMX clients that support Sun's Attach API) can connect to any local JVM without requiring an RMI connector by using the Attach API. This allows connections from the same machine. - -JConsole (and other JMX clients) can connect to any JVM if that JVM is configured to start an RMI connector. This allows remote connections from other machines. - -JConsole can connect to any Geode member, but if it connects to a non-JMX-Manager member, JConsole only detects the local MBeans for the node, and not MBeans for the cluster. - -When a Geode locator or server becomes a JMX Manager for the cluster, it enables the RMI connector. JConsole can then connect only to that one JVM to view the MBeans for the entire cluster. It does not need to connect to all the other JVMs. Geode manages the inter-JVM communication required to provide a federated view of all MBeans in the distributed system. - -`gfsh` can only connect to a JMX Manager or to a locator. If connected to a locator, the locator provides the necessary connection information for the existing JMX Manager. If the locator detects a JMX Manager is not already running in the cluster, the locator makes itself a JMX Manager. gfsh cannot connect to other non-Manager or non-locator members. - -For information on how to configure the RMI registry and RMI connector, see [Configuring RMI Registry Ports and RMI Connectors](configuring_rmi_connector.html#concept_BC793A7ACF9A4BD9A29C2DCC6894767D). - -## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_A3F9E1594982480DA019CBA3E93CA895" class="no-quick-link"></a>Management APIs - -Geode management APIs represent the Geode cluster to a JMX user. However, they do not provide functionality that is otherwise present in JMX. They only provide a gateway into various services exclusively offered by Geode monitoring and management. - -The entry point to Geode management is through the ManagementService interface. For example, to create an instance of the Management Service: - -``` pre -ManagementService service = ManagementService.getManagementService(cache); -``` - -The resulting ManagementService instance is specific to the provided cache and its distributed system. The implementation of getManagementService is a singleton for now but may eventually support multiple cache instances. - -You can use the Geode management APIs to accomplish the following tasks: - -- Monitor the health status of clients. -- Obtain the status and results of individual disk backups. -- View metrics related to disk usage and performance for a particular member. -- Browse Geode properties set for a particular member. -- View JVM metrics such as memory, heap, and thread usage. -- View network metrics, such as bytes received and sent. -- View partition region attributes such as total number of buckets, redundant copy, and maximum memory information. -- View persistent member information such as disk store ID. -- Browse region attributes. - -See the JavaDocs for the `org.apache.geode.management` package for more details. - -You can also execute gfsh commands using the ManagementService API. See [Executing gfsh Commands through the Management API](gfsh_and_management_api.html#concept_451F0978285245E69C3E8DE795BD8635) and the JavaDocs for the `org.apache.geode.management.cli` package. - -## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_E69A93A6309E4747B52850D81FE1674E" class="no-quick-link"></a>Geode Management and Monitoring Tools - -This section lists the currently available tools for managing and monitoring Geode: - -- **gfsh**. Apache Geode command-line interface that provides a simple & powerful command shell that supports the administration, debugging and deployment of Geode applications. It features context sensitive help, scripting and the ability to invoke any commands from within the application using a simple API. See [gfsh](../../tools_modules/gfsh/chapter_overview.html). -- **Geode Pulse**. Easy-to-use, browser-based dashboard for monitoring Geode deployments. Geode Pulse provides an integrated view of all Geode members within a distributed system. See [Geode Pulse](../../tools_modules/pulse/chapter_overview.html). -- **Pulse Data Browser**. This Geode Pulse utility provides a graphical interface for performing OQL ad-hoc queries in a Geode distributed system. See [Data Browser](../../tools_modules/pulse/quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__sec_pulsedatabrowser). -- **Other Java Monitoring Tools such as JConsole and jvisualvm.** JConsole is a JMX-based management and monitoring tool provided in the Java 2 Platform that provides information on the performance and consumption of resources by Java applications. See [http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html](http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html). **Java VisualVM (jvisualvm)** is a profiling tool for analyzing your Java Virtual Machine. Java VisualVM is useful to Java application developers to troubleshoot applications and to monitor and improve the applications' performance. Java VisualVM can allow developers to generate and analyse heap dumps, track down memory leaks, perform and monitor garbage collection, and perform lightweight memory and CPU profiling. For more details on using jvisualvm, see [http://docs.oracle.com/javase/6/docs/technotes/tools/share/jvisualvm.html](http://docs.oracle.com/javase/6/docs/technot es/tools/share/jvisualvm.html). - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/mbean_architecture.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/mbean_architecture.html.md.erb b/geode-docs/managing/management/mbean_architecture.html.md.erb deleted file mode 100644 index a982701..0000000 --- a/geode-docs/managing/management/mbean_architecture.html.md.erb +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: Federated MBean Architecture ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -Geode uses MBeans to manage and monitor different parts of Geode. Geode's federated MBean architecture is scalable and allows you to have a single-agent view of a Geode distributed system. - -## <a id="concept_40A475F186E249C597681069C835CF65__section_19948055E4184110910B11CD979A923A" class="no-quick-link"></a>Federation of Geode MBeans and MBeanServers - -Federation of the MBeanServers means that one member, the JMX Manager Node, can provide a proxied view of all the MBeans that the MBeanServer hosts. Federation also means that operations and notifications are spread across the distributed system. - -Geode federation takes care of the following functionality: - -- MBean proxy creation -- MBean state propagation -- Notifications propagation -- Operation invocation - -## <a id="concept_40A475F186E249C597681069C835CF65__section_AD13594ADA814194897488CF96BCC479" class="no-quick-link"></a>MBean Proxy Naming Conventions - -Each Geode MBean follows a particular naming convention for easier grouping. For example: - -``` pre -GemFire:type=Member,service=LockService,name=<dlsName>,memberName=<memberName> -``` - -At the JMX Manager node, this MBean will be registered with GemFire/<memberId> as domain. - -The following are some sample MBean names: - -MemberMBean: - -``` pre -GemFire:type=Member,member=<Node1> -``` - -## <a id="concept_40A475F186E249C597681069C835CF65__section_8F9D375A185E476FB50E7D6E30BE2FC7" class="no-quick-link"></a>Use of MXBeans - -In its Management API, Geode provides MXBeans to ensure that any MBeans that are created are usable by any client, including remote clients, without requiring the client to access specific classes in order to access contents of the MBean. - -## <a id="concept_40A475F186E249C597681069C835CF65__section_DCC1B2AB80B04E8CBED041C1F3BDAB5F" class="no-quick-link"></a>MBean Proxy Creation - -Geode proxies are inherently local MBeans. Every Geode JMX manager member hosts proxies pointing to the local MBeans of every managed node. Proxy MBeans will also emit any notification emitted by local MBeans in managed nodes when an event occurs in that managed node. - -**Note:** -Aggregate MBeans on the JMX Manager node are not proxied. - -- **[List of Geode JMX MBeans](../../managing/management/list_of_mbeans.html)** - - This topic provides descriptions for the various management and monitoring MBeans that are available in Geode. - -- **[Browsing Geode MBeans through JConsole](../../managing/management/mbeans_jconsole.html)** - - You can browse all the Geode MBeans in your distributed system by using JConsole. - -- **[Geode JMX MBean Notifications](../../managing/management/mbean_notifications.html)** - - Apache Geode MBeans emit notifications when specific events occur or if an alert is raised in the Geode system. Using standard JMX APIs, users can add notification handlers to listen for these events. - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/mbean_notifications.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/mbean_notifications.html.md.erb b/geode-docs/managing/management/mbean_notifications.html.md.erb deleted file mode 100644 index bf1a799..0000000 --- a/geode-docs/managing/management/mbean_notifications.html.md.erb +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Geode JMX MBean Notifications ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> -<a id="topic_czt_hq2_vk"></a> - - -Apache Geode MBeans emit notifications when specific events occur or if an alert is raised in the Geode system. Using standard JMX APIs, users can add notification handlers to listen for these events. - -- **[Notification Federation](notification_federation_and_alerts.html)** - - All notifications emitted from managed nodes are federated to all JMX Managers in the system. - -- **[List of JMX MBean Notifications](list_of_mbean_notifications.html)** - - This topic lists all available JMX notifications emitted by Geode MBeans. - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/mbeans_jconsole.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/mbeans_jconsole.html.md.erb b/geode-docs/managing/management/mbeans_jconsole.html.md.erb deleted file mode 100644 index 88dde64..0000000 --- a/geode-docs/managing/management/mbeans_jconsole.html.md.erb +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Browsing Geode MBeans through JConsole ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -You can browse all the Geode MBeans in your distributed system by using JConsole. - -To view Geode MBeans through JConsole, perform the following steps: - -1. Start a `gfsh` prompt. -2. Connect to a running distributed system by either connecting to a locator with an embedded JMX Manager or connect directly to a JMX Manager. For example: - - ``` pre - gfsh>connect --locator=locator1[10334] - ``` - - or - - ``` pre - gfsh>connect --jmx-manager=locator1[1099] - ``` - -3. Start JConsole: - - ``` pre - gfsh>start jconsole - ``` - - If successful, the message `Running JDK JConsole` appears. The JConsole application launches and connects directly to the JMX Manager using RMI. - -4. On the JConsole screen, click on the MBeans tab. Expand **GemFire**. Then expand each MBean to browse individual MBean attributes, operations and notifications. - - The following is an example screenshot of the MBean hierarchy in a Geode distributed system: - - <img src="../../images/jconsole_mbeans.png" id="concept_492532E145834248997BD23BCAC7AD45__image_7A45BE69B67A44A7A8AD40343A2B0AEB" class="image" /> - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/mm_overview.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/mm_overview.html.md.erb b/geode-docs/managing/management/mm_overview.html.md.erb deleted file mode 100644 index 89a8df5..0000000 --- a/geode-docs/managing/management/mm_overview.html.md.erb +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Overview of Geode Management and Monitoring Tools ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -Geode provides a variety of management tools you can use to manage a Geode distributed system. - -The Geode 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, 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 distributed system. 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 Geode distributed system. gfsh is the recommended tool for managing your distributed system. - -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 distributed system -- Script various operations involving Geode 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](../../tools_modules/gfsh/os_command_line_execution.html#topic_fpf_y1g_tp). gfsh can interact with remote systems [using the http protocol](../../configuring/cluster_config/gfsh_remote.html). You can also [write scripts that run in a gfsh shell](../../tools_modules/gfsh/command_scripting.html#concept_9B2F7550F16C4717831AD40A56922259) 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. Geode 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.xml` and `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.xml` file shared by the cluster -- `cluster.properties` file shared by the cluster -- Deployed jar files containing application Java classes. - -See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html) and [Cluster Configuration Files and Troubleshooting](../../configuring/cluster_config/gfsh_config_troubleshooting.html#concept_ylt_2cb_y4) for additional details on gfsh cluster configuration files. - -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](gfsh_and_management_api.html#concept_451F0978285245E69C3E8DE795BD8635). - -## 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.xml` and `cluster.properties` files for the entire cluster, or group of members. - -You can also directly create configurations using `cache.xml` and `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 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. - -Geode'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. - -See [Apache Geode Management and Monitoring](management_and_monitoring.html) - -## Geode Java API - -The Geode API provides a set of Java classes you can use to manage and monitor a distributed system. See the <span class="keyword apiname">org.apache.geode.management</span> package in the Geode JavaDocs . - -## Geode Pulse - -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](../../tools_modules/pulse/chapter_overview.html). - -## JConsole - -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](mbeans_jconsole.html). - - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb b/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb deleted file mode 100644 index b8ad3f6..0000000 --- a/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Notification Federation ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -All notifications emitted from managed nodes are federated to all JMX Managers in the system. - -These notifications are federated and then emitted by the DistributedSystemMXBean. If you attach a `javax.management.NotificationListener` to your DistributedSystemMXBean, the NotificationListener can listen to notifications from all MemberMXBeans and all CacheServerMXBeans. - -## <a id="topic_212EE5A2ABAB4E8E8EF71807C9ECEF1A__section_2909371D90764736B3AC7BE9E4BC1BE4" class="no-quick-link"></a>Attaching Listeners to MXBeans - -When you attach a notification listener to the DistributedSystemMXBean, the DistributedSystemMXBean then acts as the notification hub for the entire distributed system. You do not have to attach a listener to each individual member or cache server MBean in order to listen to all the notifications in the distributed system. - -The following is an example of attaching a NotificationListener to an MBean using the JMX MBeanServer API: - - NotificationListener myListener = ... - ObjectName mbeanName = ... - MBeanServer.addNotificationListener(mbeanName, myListener, null, null); - - -JMX Managers will emit notifications for all distributed system members with two exceptions: - -- If you use cache.xml to define resources such as regions and disks, then notifications for these resources are not federated to the JMX Manager. In those cases, the DistributedSystemMXBean cannot emit those notifications. -- If a JMX Manager is started after a resource has been created, the JMX Manager cannot emit notifications for that resource. - -## <a id="topic_212EE5A2ABAB4E8E8EF71807C9ECEF1A__section_7463D13112D54406953416356835E290" class="no-quick-link"></a>System Alert Notifications - -System alerts are Geode alerts wrapped within a JMX notification. The JMX Manager registers itself as an alert listener with each member of the system, and by default, it receives all messages logged with the SEVERE alert level by any node in the distributed system. Consequently, the DistributedSystemMXBean will then emit notifications for these alerts on behalf of the DistributedSystem. - -By default, the JMX Manager registers itself to send notifications only for SEVERE level alerts. To change the alert level that the JMX Manager will send notifications for, use the `DistributedMXBean.changeAlertLevel` method. Possible alert levels to set are WARNING, ERROR, SEVERE, and NONE. After changing the level, the JMX Manager will only emit that level of log message as notifications. - -Notification objects include **type**, **source** and **message** attributes. System alerts also include the **userData** attribute. For system alerts, the notification object attributes correspond to the following: - -- **type**: system.alert -- **source**: Distributed System ID -- **message**: alert message -- **userData**: name or ID of the member that raised the alert - http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/84cfbdfc/geode-docs/managing/management/programming_example.html.md.erb ---------------------------------------------------------------------- diff --git a/geode-docs/managing/management/programming_example.html.md.erb b/geode-docs/managing/management/programming_example.html.md.erb deleted file mode 100644 index 17cfcd4..0000000 --- a/geode-docs/managing/management/programming_example.html.md.erb +++ /dev/null @@ -1,237 +0,0 @@ ---- -title: Management and Monitoring Programming Examples ---- - -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more -contributor license agreements. See the NOTICE file distributed with -this work for additional information regarding copyright ownership. -The ASF licenses this file to You under the Apache License, Version 2.0 -(the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> - -One example demonstrates the use of an MBean server to manage and monitor a node in a distributed system, and the other example acts as the managed node. - -## JMX Manager Node Example - -``` pre -package quickstart; - -import java.util.Set; -import javax.management.ObjectName; -import org.apache.geode.cache.Cache; -import org.apache.geode.cache.CacheFactory; -import org.apache.geode.distributed.DistributedMember; -import org.apache.geode.management.ManagementService; -import org.apache.geode.management.RegionMXBean; - -/** - * Example of a JMX Manager Node. It first creates a cache. - * Then for each member of Distributed System it retrieves RegionMXBean and uses its data. - * - * @author GemStone Systems, Inc. - * - * @since 7.0 - */ -public class ManagerNode { - - /** - * @param args - */ - public static final String EXAMPLE_REGION_NAME = "exampleRegion"; - - public static void main(String[] args) throws Exception { - - //Set waiting period for federation in milliseconds - final int JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE = 2500; - - - System.out - .println("Connecting to the distributed system and creating the cache."); - - // Create the cache which causes the cache-xml-file to be parsed - Cache cache = new CacheFactory() - .set("name", "ManagerNode") - .set("statistic-sampling-enabled", "true") - .set("jmx-manager-start","true") - .set("jmx-manager","true") - .set("jmx-manager-port","2576") - .set("cache-xml-file", "xml/Managed-node.xml").create(); - - // Retrieve service - System.out.println("Retrieving service ..."); - - //ManagementService.getManagementService() will create a service in case not already created - //ManagementService.getExistingManagementService() will return existing one, otherwise null. - ManagementService service = ManagementService.getManagementService(cache); - System.out.println("Retrieved service "); - - - //Retrieve distributed system members - System.out.println("Retrieving distributed members ..."); - Set<DistributedMember> dsMembers = cache.getDistributedSystem() - .getAllOtherMembers(); - System.out.println("Retrieved " +dsMembers.size()+ " distributed members "); - - - //Sleep is needed for federation data to get published - System.out.println("Retrieving RegionMXBean for members in DS ..."); - - try { - Thread.sleep(JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE); - } catch (Exception e) { - - } - - for (DistributedMember dsMember : dsMembers) { - System.out.println("Retrieved RegionMXBean for member "+ dsMember.getId()); - - //Get region member bean name using region path. - ObjectName regionMBeanName = service.getRegionMBeanName(dsMember, "/" - + EXAMPLE_REGION_NAME); - System.out.println("regionMBeanName " + regionMBeanName); - - //Get Region MBean Proxy - RegionMXBean regionMXBean = service.getMBeanInstance(regionMBeanName, - RegionMXBean.class); - - // Validate regionMXbean - if(regionMXBean != null){ - System.out.println("Entry count in " + EXAMPLE_REGION_NAME + " is =" + regionMXBean.getEntryCount()); - }else{ - System.out.println("Retrieved RegionMXBean is null."); - } - } - - // Close the cache and disconnect from GemFire distributed system - System.out.println("Closing the cache and disconnecting."); - cache.close(); - - - //Complete Managed Node by pressing enter in managed node console - System.out.println(""); - System.out.println("Press enter in Managed Node"); - - } -} -``` - -## GemFire Managed Node Example - -``` pre -package quickstart; - -import java.io.BufferedReader; -import java.io.InputStreamReader; - -import org.apache.geode.cache.Cache; -import org.apache.geode.cache.CacheFactory; -import org.apache.geode.cache.Region; -import org.apache.geode.management.ManagementService; -import org.apache.geode.management.RegionMXBean; - -/** - * In this example of Managed Node. - * 1. It creates a cache and adds entries in it. - * 2. From ManagementService it retrieves service. - * 3. From service gets Region Mbean. - * - * - * @author GemStone Systems, Inc. - * - * @since 7.0 - */ - -public class ManagedNode { - - /** - * @param args - */ - public static final String EXAMPLE_REGION_NAME = "exampleRegion"; - - public static void main(String[] args) throws Exception { - - //Set waiting period for federation in milliseconds - final int JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE = 2500; - - System.out - .println("Connecting to the distributed system and creating the cache."); - - // Create the cache which causes the cache-xml-file to be parsed - System.out.println("Creating cache using Mbean.xml"); - Cache cache = new CacheFactory().set("name", "ManagedNode") - .set("log-level", "fine") - .set("statistic-sampling-enabled", "true") - .set("cache-xml-file", "xml/Managed-node.xml").create(); - - System.out.println("Created cache using Mbean.xml"); - - // Create one sample region - Region<Object, Object> region = cache.getRegion("/" + EXAMPLE_REGION_NAME); - - // Add some entries to region - if (region != null) { - System.out.println("Adding key and value to region in member " - + cache.getDistributedSystem().getDistributedMember().getId()); - for (int count = 0; count < 10; count++) { - String key = "key" + count; - String value = "value" + count; - region.put(key, value); - } - } - - System.out.println("Retrieving service using cache ..."); - - // Retrieve service in this node - ManagementService service = ManagementService - .getExistingManagementService(cache); - System.out.println("Retrieved service."); - - System.out.println("Retrieving RegionMXBean for " + EXAMPLE_REGION_NAME); - - try{ - Thread.sleep(JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE); - }catch(Exception e){ - - } - - RegionMXBean regionBean = service.getLocalRegionMBean("/" - + EXAMPLE_REGION_NAME); - - - - if (regionBean != null) { - System.out.println("Retrieved RegionMXBean for " + EXAMPLE_REGION_NAME); - System.out.println("Entry count for " + EXAMPLE_REGION_NAME + " is=" - + regionBean.getEntryCount()); - - System.out.println("Start Manager Node and wait till it completes"); - - } else { - System.out.println("Could not retriev RegionMXBean for " - + EXAMPLE_REGION_NAME); - } - - // Wait till user input, after manager node completes - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader( - System.in)); - bufferedReader.readLine(); - - // Close the cache and disconnect - System.out.println("Closing the cache and disconnecting."); - cache.close(); - } - -} -``` - -