Clustered REST
The Clustered REST API is exposed from the Management Center to allow you to monitor clustered statistics of distributed objects.
Clustered REST API Root
The entry point for the Clustered REST API is /rest/
. This
resource does not have any attributes.
All parameters that are used in the REST API URLs, like
cluster names and distributed data structure names, must be
URL encoded when composing
a valid request for Clustered REST.
Such parameters are marked in braces ({ and } ) in the URL description
for each endpoint. As an example, name.with/special@chars
parameter value would be encoded as name.with%2Fspecial%40chars .
|
All endpoints return HTTP status code 404 if no data about a cluster, member, client or data structure can be found in the Management Center. |
Retrieving Management Center License Expiration Time
This endpoint returns the expiration time in milliseconds (since epoch)
of the license key assigned for the Management Center.
Returns -1
if no license is assigned.
Health Check
This resource returns a list of health information for each cluster configured on Management Center. See the Cluster Resource section for detailed explanation on the returned information.
-
Request Type:
GET
-
URL:
/rest/health
-
Request:
-
Response:
200
(application/json) -
Body:
[ { "cluster": "Cluster A", "connection": "Active", "state": "ACTIVE", "safe": true, "partitionMigrationQueueSize": 0, "members": 3, "clusterType": "IMDG", "numberOfConnectedClients": 120, "masterAddress": "192.168.1.24:5701", "licenseExpirationTime": 4099755599515 }, { "cluster": "Cluster B", "connection": "Error", "state": null, "safe": null, "partitionMigrationQueueSize": null, "members": null, "clusterType": null, "numberOfConnectedClients": null, "masterAddress": null, "licenseExpirationTime": null }, { "cluster": "Cluster C", "connection": "Disabled", "state": null, "safe": null, "partitionMigrationQueueSize": null, "members": null, "clusterType": null, "numberOfConnectedClients": null, "masterAddress": null, "licenseExpirationTime": null } ]
Cluster Resource
This resource returns information related to the provided cluster name:
-
cluster
: name of the cluster -
connection
: cluster connection status (Active
,Error
orDisabled
) -
state
: state of the cluster -
safe
: whether the cluster is safe, i.e., whether it has any ongoing partition migrations -
partitionMigrationQueueSize
: partition migration queue size (sum of partition migration queue sizes of all cluster members) -
members
: number of members -
clusterType
: the cluster type (IMDG
orJET
). It returnsnull
for license expiration time if no license is assigned. -
numberOfConnectedClients
: number of connected clients (excluding any Management Center clients) -
masterAddress
: address of the oldest cluster member -
licenseExpirationTime
: the expiration time in milliseconds (since epoch) of the license key assigned for the cluster
Fields other than the name of the cluster and cluster connection status are returned as null if there’s an error
connecting to the cluster, i.e., connection status is Error or connection to the cluster is disabled, i.e., connection
status is Disabled .
|
Following is an example that shows how to get this resource.
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>
-
Request:
-
Response:
200
(application/json) -
Body:
Member Resource
This resource returns the following information related to the provided member:
See the following example responses for each of the above.
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "cluster": "dev", "address": "192.168.2.78:5701", "uuid": "11adba52-e19d-4407-a9e9-e0a271cef14a", "cpMemberUuid": "f5a8f8a4-f278-4a13-a23e-5accf5b02f42", "maxHeapMemory": 129957888, "ownedPartitionCount": 68, "usedHeapMemory": 60688784, "freeHeapMemory": 24311408, "committedHeapMemory": 85000192, "connectedClientCount": 1, "master": true }
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/connectionManager
-
Request:
-
Response:
200
(application/json) -
Body:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/operationService
-
Request:
-
Response:
200
(application/json) -
Body:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/eventService
-
Request:
-
Response:
200
(application/json) -
Body:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/partitionService
-
Request:
-
Response:
200
(application/json) -
Body:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/proxyService
-
Request:
-
Response:
200
(application/json) -
Body:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/managedExecutors
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving information of a single Managed Executor:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/members/<member>/managedExecutors/<managedExecutor>
-
Request:
-
Response:
200
(application/json) -
Body:
Client Endpoints Resource
This resource returns a list of the client endpoints belonging to the provided cluster. Consider using the newly added Client Statistics Resource as it contains more detailed information about the clients.
Retrieving the list of Client Endpoints:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/clients
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Client Endpoint Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/clients/<client>
-
Request:
-
Response:
200
(application/json) -
Body:
Maps Resource
This resource returns a list of maps belonging to the provided cluster.
Retrieving the list of Maps:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/maps
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Map Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/maps/<mapname>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "cluster": "dev", "name": "customers", "ownedEntryCount": 5085, "backupEntryCount": 5076, "ownedEntryMemoryCost": 833940, "backupEntryMemoryCost": 832464, "heapCost": 1666668, "lockedEntryCount": 2, "dirtyEntryCount": 0, "hits": 602, "lastAccessTime": 1532689094579, "lastUpdateTime": 1532689094576, "creationTime": 1532688789256, "putOperationCount": 5229, "getOperationCount": 2162, "removeOperationCount": 150, "setOperationCount": 100, "otherOperationCount": 3687, "events": 10661, "maxPutLatency": 48, "maxGetLatency": 35, "maxRemoveLatency": 18034, "maxSetLatency": 10, "totalPutLatency": 1715433, "totalGetLatency": 945421, "totalRemoveLatency": 66558323, "totalSetLatency": 786421 }
MultiMaps Resource
This resource returns a list of multimaps belonging to the provided cluster.
Retrieving the list of MultiMaps:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/multimaps
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving MultiMap Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/multimaps/<multimapname>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "cluster": "dev", "name": "customerAddresses", "ownedEntryCount": 4862, "backupEntryCount": 4860, "ownedEntryMemoryCost": 0, "backupEntryMemoryCost": 0, "heapCost": 0, "lockedEntryCount": 1, "dirtyEntryCount": 0, "hits": 22, "lastAccessTime": 1532689253314, "lastUpdateTime": 1532689252591, "creationTime": 1532688790593, "putOperationCount": 5125, "getOperationCount": 931, "removeOperationCount": 216, "otherOperationCount": 373570, "events": 0, "maxPutLatency": 8, "maxGetLatency": 1, "maxRemoveLatency": 18001, "totalPutLatency": 487805, "totalGetLatency": 14931, "totalRemoveLatency": 16388472 }
Replicated Maps Resource
This resource returns a list of replicated maps belonging to the provided cluster.
Retrieving the list of Replicated Maps:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/replicatedmaps
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Replicated Map Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/replicatedmaps/<replicatedmapname>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "cluster": "dev", "name": "replicated-map-1", "ownedEntryCount": 10955, "ownedEntryMemoryCost": 394380, "hits": 15, "lastAccessTime": 1532689312581, "lastUpdateTime": 1532689312581, "creationTime": 1532688789493, "putOperationCount": 11561, "getOperationCount": 1051, "removeOperationCount": 522, "otherOperationCount": 355552, "events": 6024, "maxPutLatency": 1, "maxGetLatency": 1, "maxRemoveLatency": 1, "totalPutLatency": 64, "totalGetLatency": 12, "totalRemoveLatency": 11 }
Caches Resource
This resource returns a list of caches belonging to the provided cluster.
Retrieving the list of Caches:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/caches
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Cache Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/caches/<cachename>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "cluster": "dev", "name": "cache-1", "creationTime": 1532688789493, "hits": 100, "misses": 11, "getOperationCount": 231, "putOperationCount": 42, "removeOperationCount": 1, "evictions": 3, "averageGetTime": 10.5, "averagePutTime": 21.12, "averageRemoveTime": 23, "lastAccessTime": 1403602693411, "lastUpdateTime": 1403602693411, "ownedEntryCount": 300 }
Queues Resource
This resource returns a list of queues belonging to the provided cluster.
Retrieving the list of Queues:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/queues
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Queue Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/queues/{queuename>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "cluster": "dev", "name": "messages", "ownedItemCount": 55408, "backupItemCount": 55408, "minAge": 0, "maxAge": 0, "averageAge": 0, "offerOperationCount": 55408, "rejectedOffers": 0, "pollOperationCount": 0, "emptyPolls": 0, "otherOperationCount": 0, "events": 0, "creationTime": 1403602694196 }
Topics Resource
This resource returns a list of topics and reliable topics belonging to the provided cluster.
Retrieving the list of Topics:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/topics
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Topic Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/topics/{topicname>
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving the list of Reliable Topics:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/reliabletopics
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Reliable Topic Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/reliabletopics/<reliableTopicname>
-
Request:
-
Response:
200
(application/json) -
Body:
Executors Resource
This resource returns a list of executors belonging to the provided cluster.
Retrieving the list of Executors:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/executors
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Executor Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/executors/<executorname>
-
Request:
-
Response:
200
(application/json) -
Body:
PN Counters Resource
This resource returns a list of PN counters belonging to the provided cluster.
Retrieving the list of PN Counters:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/pncounters
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving PN Counter Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/pncounters/<pnCountername>
-
Request:
-
Response:
200
(application/json) -
Body:
Flake ID Generators Resource
This resource returns a list of flake ID generators belonging to the provided cluster.
Retrieving the list of Flake ID Generators:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/flakeidgenerators
-
Request:
-
Response:
200
(application/json) -
Body:
Retrieving Flake ID Generator Information:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/flakeidgenerators/{flakeIdGeneratorname>
-
Request:
-
Response:
200
(application/json) -
Body:
Client Statistics Resource
This resource returns a list of clients belonging to the provided cluster.
Retrieving the list of Client UUIDs:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/clientStats
-
Request:
-
Response:
200
(application/json) -
Body:
[ "f3b1e0e9-ea67-41b2-aba5-ea7480f02a93", "cebf4dc9-852c-4605-a181-ffe1cca371a4", "2371eed5-26e0-4470-92c1-41ea17110ef6", "139990b3-fbc0-43a8-9c12-be53913333f7", "d0364a1e-8665-46a8-af1d-be1af5580d07", "7f337f8a-3538-4b5c-8ffc-9d4ae459e956", "6ef9b6e5-5add-40d9-9319-ce502f55b5fc", "fead3a99-19de-431c-9dd0-d6ecc4a4b9c8", "e788e04e-2ded-4992-9d76-52c1973216e5", "654fc9fb-c5c1-48a0-9b69-0c129fce860f" ]
Retrieving Detailed Client Statistics:
-
Request Type:
GET
-
URL:
/rest/clusters/<clustername>/clientStats/<clientUuid>
-
Request:
-
Response:
200
(application/json) -
Body:
{ "type": "JAVA", "name": "hz.client_7", "address": "127.0.0.1", "clusterConnectionTimestamp": 1507874427419, "enterprise": true, "lastStatisticsCollectionTime": 1507881309434, "committedVirtualMemorySize": 12976173056, "freePhysicalMemorySize": 3615662080, "freeSwapSpaceSize": 8447324160, "maxFileDescriptorCount": 1000000, "openFileDescriptorCount": 191, "processCpuTime": 252980000000, "systemLoadAverage": 83.0, "totalPhysicalMemorySize": 16756101120, "totalSwapSpaceSize": 8447324160 "availableProcessors": 12, "freeHeapMemory": 135665432, "maxHeapMemory": 3724541952, "totalHeapMemory": 361234432, "usedHeapMemory": 225569000, "uptime": 6894992, "memberConnection": "ALL", "version": "UNKNOWN", "nearCacheStats":{ "CACHE":{ "cache-1":{ "clientUuid":"805a6342-eebb-412d-aeba-21c55fadedc3", "creationTime":1588752664324, "evictions":0, "expirations":0, "hits":148, "misses":164, "ownedEntryCount":4, "ownedEntryMemoryCost":420, "lastPersistenceDuration":0, "lastPersistenceKeyCount":0, "lastPersistenceTime":0, "lastPersistenceWrittenBytes":0 } }, "MAP":{ "map-1":{ "clientUuid":"805a6342-eebb-412d-aeba-21c55fadedc3", "creationTime":1588752664321, "evictions":0, "expirations":0, "hits":92, "misses":116, "ownedEntryCount":109, "ownedEntryMemoryCost":7701, "lastPersistenceDuration":0, "lastPersistenceKeyCount":0, "lastPersistenceTime":0, "lastPersistenceWrittenBytes":0 } } } }