diff --git a/spring-geode-docs/src/docs/asciidoc/actuator.adoc b/spring-geode-docs/src/docs/asciidoc/actuator.adoc new file mode 100644 index 00000000..08ae7511 --- /dev/null +++ b/spring-geode-docs/src/docs/asciidoc/actuator.adoc @@ -0,0 +1,589 @@ +[[actuator]] +== Spring Boot Actuator + +Spring Boot for Apache Geode and Pivotal GemFire (SBDG) adds {spring-boot-docs-html}/production-ready.html[Spring Boot Actuator] +support and dedicated `HealthIndicators` for Apache Geode and Pivotal GemFire. Equally, the provided `HealthIndicators` +will even work with Pivotal Cloud Cache, which is backed by Pivotal GemFire, when pushing your Spring Boot applications +to Pivotal CloudFoundry (PCC). + +Spring Boot `HealthIndicators` provide details about the runtime operation and behavior of your Apache Geode +or Pivotal GemFire based Spring Boot applications. For instance, by querying the right `HealthIndicator` endpoint +you are able to get the current hit/miss count for your Region data access operations. + +In addition to vital health information, SBDG provides basic, pre-runtime configuration meta-data about the Apache Geode +/ Pivotal GemFire components that are monitored by Spring Boot Actuator. This makes it easier to see how +the application was configured in one place + +The provided Spring Boot `HealthIndicators` fall under one of three categories: + +* Base `HealthIndicators` that apply to all Apache Geode/Pivotal GemFire Spring Boot applications, regardless of +cache type, such as Regions, Indexes and DiskStores. +* Peer `Cache` based `HealthIndicators` that are only applicable to peer `Cache` applications, such as `CacheServers`, +`AsyncEventQueues`, `GatewayReceivers` and `GatewaySenders`. +* And finally, `ClientCache` based `HealthIndicators` that are only applicable to `ClientCache` applications, such as +`ContinuousQueries` and connection `Pools`. + +The following sections give a brief overview of all the available Spring Boot `HealthIndicators` provided for +Apache Geode/Pivotal GemFire out-of-the-box. + +[[actuator-base-healthindicators]] +=== Base `HealthIndicators` + +The following section covers Spring Boot `HealthIndicators` that apply to both peer `Cache` and `ClientCache`, +Spring Boot applications. That is, these `HealthIndicators` are not specific to the cache type. + +In both Apache Geode and Pivotal GemFire, the cache instance is either a peer `Cache` instance, which makes your +Spring Boot application part of a GemFire/Geode cluster, or more commonly, a `ClientCache` instance that talks to +an existing cluster. Your Spring Boot application can only be one cache type or the other and can only have a single +instance of that cache type. + +[[actuator-base-healthindicators-cache]] +==== GeodeCacheHealthIndicator + +The `GeodeCacheHealthIndicator` provides essential details about the (single) cache instance (Client or Peer) along with +the underlying `DistributedSystem`, the `DistributedMember` and configuration details of the `ResourceManager`. + +When your Spring Boot application creates an instance of a peer {apache-geode-javadoc}/org/apache/geode/cache/Cache.html[`Cache`], +the {apache-geode-javadoc}/org/apache/geode/distributed/DistributedMember.html[`DistributedMember`] object represents +your application as a peer member/node of the {apache-geode-javadoc}/org/apache/geode/distributed/DistributedSystem.html[`DistributedSystem`] +formed from a collection of connected peers, to which your application also has +{apache-geode-javadoc}/org/apache/geode/cache/GemFireCache.html#getDistributedSystem--[access], +indirectly via the cache instance. + +This is no different for a `ClientCache` even though the client is technically not part of the peer cluster, it still +creates instances of the `DistributedSystem` and `DistributedMember` objects, respectively. + +The following configuration meta-data and health details about each object is covered: + +.Cache Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.cache.name | Name of the member in the distributed system. +| geode.cache.closed | Determines whether the cache has been closed. +| geode.cache.cancel-in-progress | Cancellation of operations in progress. + +|===================================================================================================================== + +.DistributedMember Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.distributed-member.id | DistributedMember identifier (used in logs internally). +| geode.distributed-member.name | Name of the member in the distributed system. +| geode.distributed-members.groups | Configured groups to which the member belongs. +| geode.distributed-members.host | Name of the machine on which the member is running. +| geode.distributed-members.process-id | Identifier of the JVM process (PID). + +|===================================================================================================================== + +.DistributedSystem Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.distributed-system.connected | Indicates whether the member is currently connected to +the cluster. +| geode.distributed-system.reconnecting | Indicates whether the member is in a reconnecting state, +which happens when a network partition occurs and the member gets disconnected from the cluster. +| geode.distributed-system.properties-location | Location of the +{apache-geode-docs}/topics/gemfire_properties.html[standard configuration properties]. +| geode.distributed-system.security-properties-location | Location of the +{apache-geode-docs}/topics/gemfire_properties.html[security configuration properties]. + +|===================================================================================================================== + +.ResourceManager Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.resource-manager.critical-heap-percentage | Percentage of heap at which the cache is in danger of +becoming inoperable. +| geode.resource-manager.critical-off-heap-percentage | Percentage of off-heap at which the cache is in danger of +becoming inoperable. +| geode.resource-manager.eviction-heap-percentage | Percentage of heap at which eviction begins on Regions +configured with a Heap LRU Eviction policy. +| geode.resource-manager.eviction-off-heap-percentage | Percentage of off-heap at which eviction begins on Regions +configured with a Heap LRU Eviction policy. + +|===================================================================================================================== + + +[[actuator-base-healthindicators-regions]] +==== GeodeRegionsHealthIndicator + +The `GeodeRegionsHealthIndicator` provides details about all the configured and known `Regions` in the cache. +If the cache instance is a client, then details will include all LOCAL, PROXY and CACHING_PROXY `Regions`. If the cache +is a peer, then the details will include all LOCAL, PARTITION and REPLICATE `Regions`. + +While the configuration meta-data details is not exhaustive, essential details along with basic performance metrics +are covered: + +.Region Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.cache.regions..cloning-enabled | Whether Region values are cloned on read (e.g. `cloning-enabled` +is `true` when cache transactions are used to prevent in-place modifications). +| geode.cache.regions..data-policy | Policy used to manage the data in the Region +(e.g. PARTITION, REPLICATE, etc). +| geode.cache.regions..initial-capacity | Initial number of entries that can be held by a Region before +it needs to be resized. +| geode.cache.regions..load-factor | Load factor used to determine when to resize the Region +when it nears capacity. +| geode.cache.regions..key-constraint | Type constraint for Region keys. +| geode.cache.regions..off-heap | Determines whether this Region will store values in off-heap memory +(NOTE: Keys are always kept on Heap). +| geode.cache.regions..pool-name | If this Region is a client Region, then this property determines +the configured connection `Pool` (NOTE: Regions can have and use dedicated `Pools` for their data access operations.) +| geode.cache.regions..pool-name | Determines the `Scope` of the Region, which plays a factor in +the Regions consistency-level, as it pertains to acknowledgements for writes. +| geode.cache.regions..value-constraint | Type constraint for Region values. + +|===================================================================================================================== + +Additionally, when the Region is a peer `Cache` PARTITION Region, then the following details are also covered: + +.Partition Region Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.cache.regions..partition.collocated-with | Indicates this Region is collocated with another +PARTITION Region, which is necessary when performing equi-joins queries (NOTE: distributed joins are not supported). +| geode.cache.regions..partition.local-max-memory | Total amount of Heap memory allowed to be used by +this Region on this node. +| geode.cache.regions..partition.redundant-copies | Number of replicas for this PARTITION Region, +which is useful in High Availability (HA) use cases. +| geode.cache.regions..partition.total-max-memory | Total amount of Heap memory allowed to be used by +this Region across all nodes in the cluster hosting this Region. +| geode.cache.regions..partition.total-number-of-buckets | Total number of buckets (shards) that this Region +is divided up into (NOTE: defaults to 113). + +|===================================================================================================================== + +Finally, when statistics are enabled (e.g. using `@EnableStatistics`, +(see {spring-data-geode-docs-html}/#bootstrap-annotation-config-statistics[here] +for more details), the following details are available: + +.Region Statistic Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.cache.regions..statistics.hit-count | Number of hits for a Region entry. +| geode.cache.regions..statistics.hit-ratio | Ratio of hits to the number of `Region.get(key)` calls. +| geode.cache.regions..statistics.last-accessed-time | For an entry, determines the last time it was accessed +with `Region.get(key)`. +| geode.cache.regions..statistics.last-modified-time | For an entry, determines the time a Region's entry value +was last modified. +| geode.cache.regions..statistics.miss-count | Returns the number of times that a `Region.get` +was performed and no value was found locally. + +|===================================================================================================================== + + +[[actuator-base-healthindicators-indexes]] +==== GeodeIndexesHealthIndicator + +The `GeodeIndexesHealthIndicator` provides details about the configured Region `Indexes` used in OQL query +data access operations. + +The following details are covered: + +.Index Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.index..from-clause | Region from which data is selected. +| geode.index..indexed-expression | The Region value fields/properties used in the Index expression. +| geode.index..projection-attributes | For all other Indexes, returns "*", but for Map Indexes, returns either "*" +or the specific Map keys that were indexed. +| geode.index..region | Region to which the Index is applied. + +|===================================================================================================================== + +Additionally, when statistics are enabled (e.g. using `@EnableStatistics`, +(see {spring-data-geode-docs-html}/#bootstrap-annotation-config-statistics[here] +for more details), the following details are available: + +.Index Statistic Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.index..statistics.number-of-bucket-indexes | Number of bucket Indexes created in a Partitioned Region. +| geode.index..statistics.number-of-keys | Number of keys in this Index. +| geode.index..statistics.number-of-map-indexed-keys | Number of keys in this Index at the highest-level. +| geode.index..statistics.number-of-values | Number of values in this Index. +| geode.index..statistics.number-of-updates | Number of times this Index has been updated. +| geode.index..statistics.read-lock-count | Number of read locks taken on this Index. +| geode.index..statistics.total-update-time | Total amount of time (ns) spent updating +this Index. +| geode.index..statistics.total-uses | Total number of times this Index has been accessed by +an OQL query. + +|===================================================================================================================== + +[[actuator-base-healthindicators-diskstores]] +==== GeodeDiskStoresHealthIndicator + +The `GeodeDiskStoresHealthIndicator` provides details about the configured `DiskStores` in the system/application. +Remember, `DiskStores` are used to overflow and persist data to disk, including type meta-data tracked by PDX +when the values in the Region(s) have been serialized with PDX and the Region(s) are persistent. Most of +the tracked health information pertains to configuration. + +The following details are covered: + +.DiskStore Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.disk-store..allow-force-compaction | Indicates whether manual compaction of the DiskStore +is allowed. +| geode.disk-store..auto-compact | Indicates if compaction occurs automatically. +| geode.disk-store..compaction-threshold | Percentage at which the oplog will become compactable. +| geode.disk-store..disk-directories | Location of the oplog disk files. +| geode.disk-store..disk-directory-sizes | Configured and allowed sizes (MB) for the disk directory +storing the disk files. +| geode.disk-store..disk-usage-critical-percentage | Critical threshold of disk usage proportional to +the total disk volume. +| geode.disk-store..disk-usage-warning-percentage | Warning threshold of disk usage proportional to +the total disk volume. +| geode.disk-store..max-oplog-size | Maximum size (MB) allowed for a single oplog file. +| geode.disk-store..queue-size | Size of the queue used to batch writes flushed to disk. +| geode.disk-store..time-interval | Time to wait (ms) before writes are flushed to disk +from the queue if the size limit has not be reached. +| geode.disk-store..uuid | Universally Unique Identifier for the DiskStore across +Distributed System. +| geode.disk-store..write-buffer-size | Size the of write buffer the DiskStore uses to write data +to disk. + +|===================================================================================================================== + +[[actuator-clientcache-healthindicators]] +=== `ClientCache` `HealthIndicators` + +The `ClientCache` based `HealthIndicators` provide additional details specifically for Spring Boot, cache client +applications. These `HealthIndicators` are only available when the Spring Boot application creates a `ClientCache` +instance (i.e. is a cache client), which is the default. + +[[actuator-clientcache-healthindicators-cq]] +==== GeodeContinuousQueriesHealthIndicator + +The `GeodeContinuousQueriesHealthIndicator` provides details about the registered client Continuous Queries (CQ). +CQs enable client applications to receive automatic notification about events that satisfy some criteria. That criteria +can be easily expressed using the predicate of an OQL query (e.g. "SELECT * FROM /Customers c WHERE c.age > 21"). +Anytime data of interests is inserted or updated, and matches the criteria specified in the OQL query predicate, +an event is sent to the registered client. + +The following details are covered for CQs by name: + +.Continuous Query(CQ) Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.continuous-query..oql-query-string | OQL query constituting the CQ. +| geode.continuous-query..closed | Indicates whether the CQ has been closed. +| geode.continuous-query..closing | Indicates whether the CQ is the process of closing. +| geode.continuous-query..durable | Indicates whether the CQ events will be remembered +between client sessions. +| geode.continuous-query..running | Indicates whether the CQ is currently running. +| geode.continuous-query..stopped | Indicates whether the CQ has been stopped. + +|===================================================================================================================== + +In addition, the following CQ query and statistical data is covered: + +.Continuous Query(CQ), Query Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.continuous-query..query.number-of-executions | Total number of times the query has been executed. +| geode.continuous-query..query.total-execution-time | Total amount of time (ns) spent executing the query. +| geode.continuous-query..statistics.number-of-deletes | + +|===================================================================================================================== + + +.Continuous Query(CQ), Statistic Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.continuous-query..statistics.number-of-deletes | Number of Delete events qualified by this CQ. +| geode.continuous-query..statistics.number-of-events | Total number of events qualified by this CQ. +| geode.continuous-query..statistics.number-of-inserts | Number of Insert events qualified by this CQ. +| geode.continuous-query..statistics.number-of-updates | Number of Update events qualified by this CQ. + +|===================================================================================================================== + +In a more general sense, the GemFire/Geode Continuous Query system is tracked with the following, additional details +on the client: + +.Continuous Query(CQ), Statistic Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.continuous-query.count | Total count of CQs. +| geode.continuous-query.number-of-active | Number of currently active CQs (if available). +| geode.continuous-query.number-of-closed | Total number of closed CQs (if available). +| geode.continuous-query.number-of-created | Total number of created CQs (if available). +| geode.continuous-query.number-of-stopped | Number of currently stopped CQs (if available). +| geode.continuous-query.number-on-client | Number of CQs that are currently active or stopped +(if available). + +|===================================================================================================================== + +[[actuator-clientcache-healthindicators-pools]] +==== GeodePoolsHealthIndicator + +The `GeodePoolsHealthIndicator` provide details about all the configured client connection `Pools`. +This `HealthIndicator` primarily provides configuration meta-data for all the configured `Pools`. + +The following details are covered: + +.Pool Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.pool.count | Total number of client connection Pools. +| geode.pool..destroyed | Indicates whether the Pool has been destroyed. +| geode.pool..free-connection-timeout | Configured amount of time to wait for a free connection +from the Pool. +| geode.pool..idle-timeout | The amount of time to wait before closing unused, +idle connections not exceeding the configured number of minimum required connections. +| geode.pool..load-conditioning-interval | Controls how frequently the Pool will check to see +if a connection to a given server should be moved to a different server to improve the load balance. +| geode.pool..locators | List of configured Locators. +| geode.pool..max-connections | Maximum number of connections obtainable from the Pool. +| geode.pool..min-connections | Minimum number of connections contained by the Pool. +| geode.pool..multi-user-authentication | Determines whether the Pool can be used by +multiple authenticated users. +| geode.pool..online-locators | Returns a list of living Locators. +| geode.pool..pending-event-count | Approximate number of pending subscription events +maintained at server for this durable client Pool at the time it (re)connected to the server. +| geode.pool..ping-interval | How often to ping the servers to verify they are still alive. +| geode.pool..pr-single-hop-enabled | Whether the client will acquire a direct connection to +the server containing the data of interests. +| geode.pool..read-timeout | Number of milliseconds to wait for a response from a server +before timing out the operation and trying another server (if any are available). +| geode.pool..retry-attempts | Number of times to retry a request after timeout/exception. +| geode.pool..server-group | Configures the group in which all servers this Pool +connects to must belong. +| geode.pool..servers | List of configured servers. +| geode.pool..socket-buffer-size | Socket buffer size for each connection made in this Pool. +| geode.pool..statistic-interval | How often to send client statistics to the server. +| geode.pool..subscription-ack-interval | Interval in milliseconds to wait before sending +acknowledgements to the cache server for events received from the server subscriptions. +| geode.pool..subscription-enabled | Enabled server-to-client subscriptions. +| geode.pool..subscription-message-tracking-timeout | Time-to-Live period (ms), for subscription events +the client has received from the server. +| geode.pool..subscription-redundancy | Redundancy level for this Pools server-to-client +subscriptions, which is used to ensure clients will not miss potentially important events. +| geode.pool..thread-local-connections | Thread local connection policy for this Pool. + +|===================================================================================================================== + + +[[actuator-peercache-healthindicators]] +=== Peer `Cache` `HealthIndicators` + +The peer `Cache` based `HealthIndicators` provide additional details specifically for Spring Boot, peer cache member +applications. These `HealthIndicators` are only available when the Spring Boot application creates a peer `Cache` +instance. + +NOTE: The default cache instance created by Spring Boot for Apache Geode/Pivotal GemFire is a `ClientCache` instance. + +TIP: To control what type of cache instance is created, such as a "peer", then you can explicitly declare either the +`@PeerCacheApplication`, or alternatively, the `@CacheServerApplication`, annotation on your `@SpringBootApplication` +annotated class. + +[[actuator-peercache-healthindicators-cacheservers]] +==== GeodeCacheServersHealthIndicator + +The `GeodeCacheServersHealthIndicator` provides details about the configured Apache Geode/Pivotal GemFire `CacheServers`. +`CacheServer` instances are required to enable clients to connect to the servers in the cluster. + +This `HealthIndicator` captures basic configuration meta-data and runtime behavior/characteristics about +the configured `CacheServers`. The following details are covered: + +.CacheServer Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.cache.server.count | Total number of configured CacheServer instances +on this peer member. +| geode.cache.server..bind-address | IP address of the NIC to which the CacheServer `ServerSocket` +is bound (useful when the system contains multiple NICs). +| geode.cache.server..hostname-for-clients | Name of the host used by clients to connect to the CacheServer +(useful with DNS). +| geode.cache.server..load-poll-interval | How often (ms) to query the load probe on the CacheServer. +| geode.cache.server..max-connections | Maximum number of connections allowed to this CacheServer. +| geode.cache.server..max-message-count | Maximum number of messages that can be enqueued in +a client queue. +| geode.cache.server..max-threads | Maximum number of Threads allowed in this CacheServer +to service client requests. +| geode.cache.server..max-time-between-pings | Maximum time between client pings. +| geode.cache.server..message-time-to-live | Time (seconds) in which the client queue will expire. +| geode.cache.server..port | Network port to which the CacheServer `ServerSocket` is bound +and listening for the client connections. +| geode.cache.server..running | Determines whether this CacheServer is currently running +and accepting client connections. +| geode.cache.server..socket-buffer-size | Configured buffer size of the Socket connection +used by this CacheServer. +| geode.cache.server..tcp-no-delay | Configures the TCP/IP TCP_NO_DELAY setting on outgoing Sockets. + +|===================================================================================================================== + +In addition to the configuration settings shown above, the `CacheServer's` `ServerLoadProbe` tracks additional details +about the runtime characteristics of the `CacheServer`, as follows: + +.CacheServer Metrics and Load Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.cache.server..load.connection-load | Load on the server due to client to server +connections. +| geode.cache.server..load.load-per-connection | Estimate of the how much load each new connection +will add to this server. +| geode.cache.server..load.subscription-connection-load | Load on the server due to subscription connections. +| geode.cache.server..load.load-per-subscription-connection | Estimate of the how much load each new subscriber +will add to this server. +| geode.cache.server..metrics.client-count | Number of connected clients. +| geode.cache.server..metrics.max-connection-count | Maximum number of connections made to this +CacheServer. +| geode.cache.server..metrics.open-connection-count | Number of open connections to this CacheServer. +| geode.cache.server..metrics.subscription-connection-count | Number of subscription connections to this +CacheServer. + +|===================================================================================================================== + +[[actuator-peercache-healthindicators-aeq]] +==== GeodeAsyncEventQueuesHealthIndicator + +The `GeodeAsyncEventQueuesHealthIndicator` provides details about the configured `AsyncEventQueues`. AEQs can be +attached to Regions to configure asynchronous, write-behind behavior. + +This `HealthIndicator` captures configuration meta-data and runtime characteristics for all AEQs, as follows: + +.AsyncEventQueue Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.async-event-queue.count | Total number of configured AEQs. +| geode.async-event-queue..batch-conflation-enabled | Indicates whether batch events are conflated when sent. +| geode.async-event-queue..batch-size | Size of the batch that gets delivered over this AEQ. +| geode.async-event-queue..batch-time-interval | Max time interval that can elapse before a batch is sent. +| geode.async-event-queue..disk-store-name | Name of the disk store used to overflow & persist events. +| geode.async-event-queue..disk-synchronous | Indicates whether disk writes are sync or async. +| geode.async-event-queue..dispatcher-threads | Number of Threads used to dispatch events. +| geode.async-event-queue..forward-expiration-destroy | Indicates whether expiration destroy operations +are forwarded to AsyncEventListener. +| geode.async-event-queue..max-queue-memory | Maximum memory used before data needs to be overflowed +to disk. +| geode.async-event-queue..order-policy | Order policy followed while dispatching the events to +AsyncEventListeners. +| geode.async-event-queue..parallel | Indicates whether this queue is parallel (higher throughput) +or serial. +| geode.async-event-queue..persistent | Indicates whether this queue stores events to disk. +| geode.async-event-queue..primary | Indicates whether this queue is primary or secondary. +| geode.async-event-queue..size | Number of entries in this queue. + +|===================================================================================================================== + + +[[actuator-peercache-healthindicators-gateway-receivers]] +==== GeodeGatewayReceiversHealthIndicator + +The `GeodeGatewayReceiversHealthIndicator` provide details about the configured (WAN) `GatewayReceivers`, which are +capable of receiving events from remote clusters when using Apache Geode/Pivotal GemFire's +{apache-geode-docs}/topologies_and_comm/multi_site_configuration/chapter_overview.html[multi-site WAN topology]. + +This `HealthIndicator` captures essential configuration meta-data along with the running state +for each `GatewayReceiver`, as follows: + +.GatewayReceiver Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.gateway-receiver.count | Total number of configured GatewayReceivers. +| geode.gateway-receiver..bind-address | IP address of the NIC to which the GatewayReceiver +`ServerSocket` is bound (useful when the system contains multiple NICs). +| geode.gateway-receiver..end-port | End value of the port range from which the GatewayReceiver's +port will be chosen. +| geode.gateway-receiver..host | IP address or hostname that Locators will tell clients +(i.e. GatewaySenders) that this GatewayReceiver is listening on. +| geode.gateway-receiver..max-time-between-pings | Maximum amount of time between client pings. +| geode.gateway-receiver..port | Port on which this GatewayReceiver listens for clients +(i.e. GatewaySenders). +| geode.gateway-receiver..running | Indicates whether this GatewayReceiver is running +and accepting client connections (from GatewaySenders). +| geode.gateway-receiver..socket-buffer-size | Configured buffer size for the Socket connections used by +this GatewayReceiver. +| geode.gateway-receiver..start-port | Start value of the port range from which the +GatewayReceiver's port will be chosen. + +|===================================================================================================================== + +[[actuator-peercache-healthindicators-gateway-senders]] +==== GeodeGatewaySendersHealthIndicator + +The `GeodeGatewaySendersHealthIndicator` provides details about the configured `GatewaySenders`. `GatewaySenders` are +attached to Regions in order to send Region events to remote clusters in Apache Geode/Pivotal GemFire's + {apache-geode-docs}/topologies_and_comm/multi_site_configuration/chapter_overview.html[multi-site WAN topology]. + +This `HealthIndicator` captures essential configuration meta-data and runtime characteristics for eache `GatewaySender`, +as follows: + +.GatewaySender Details +[width="90%",cols="^3,<10",options="header"] +|===================================================================================================================== +| Name | Description + +| geode.gateway-sender.count | Total number of configured GatewaySenders. +| geode.gateway-sender..alert-threshold | Alert threshold (ms) for entries in this +GatewaySender's queue. +| geode.gateway-sender..batch-conflation-enabled | Indicates whether batch events are conflated +when sent. +| geode.gateway-sender..batch-size | Size of the batches sent. +| geode.gateway-sender..batch-time-interval | Max time interval that can elapse before a batch +is sent. +| geode.gateway-sender..disk-store-name | Name of the DiskStore used to overflow and persist +queue events. +| geode.gateway-sender..disk-synchronous | Indicates whether disk writes are sync or async. +| geode.gateway-sender..dispatcher-threads | Number of Threads used to dispatch events. +| geode.gateway-sender..max-queue-memory | Maximum amount of memory (MB) usable for this +GatewaySender's queue. +| geode.gateway-sender..max-parallelism-for-replicated-region | +| geode.gateway-sender..order-policy | Order policy followed while dispatching the events +to GatewayReceivers. +| geode.gateway-sender..parallel | Indicates whether this GatewaySender is parallel +(higher throughput) or serial. +| geode.gateway-sender..paused | Indicates whether this GatewaySender is paused. +| geode.gateway-sender..persistent | Indicates whether this GatewaySender persists queue +events to disk. +| geode.gateway-sender..remote-distributed-system-id | Identifier for the remote distributed system. +| geode.gateway-sender..running | Indicates whether this GatewaySender +is currently running. +| geode.gateway-sender..socket-buffer-size | Configured buffer size for the Socket connections +between this GatewaySender and its receiving GatewayReceiver. +| geode.gateway-sender..socket-read-timeout | Amount of time (ms) that a Socket read between +this sending GatewaySender and its receiving GatewayReceiver will block. + +|===================================================================================================================== + diff --git a/spring-geode-docs/src/docs/asciidoc/index.adoc b/spring-geode-docs/src/docs/asciidoc/index.adoc index 5e9cef17..1b4f5f95 100644 --- a/spring-geode-docs/src/docs/asciidoc/index.adoc +++ b/spring-geode-docs/src/docs/asciidoc/index.adoc @@ -213,4 +213,5 @@ include::continuous-query.adoc[] include::data-serialization.adoc[] include::session.adoc[] include::security.adoc[] +include::actuator.adoc[] include::appendix.adoc[]