Store Monitoring
You can use the Server Dashboard or the Server Monitor or REST Monitoring APIs to view metrics on the store (persistent memory and disk).
You can view statistical information about the Eclipse Amlen persistent store. The persistent store statistics provide information about the usage of persistent memory and disk. These statistics describe how much persistent memory is being used, and by which category of owner: transactions, client states, queues, subscriptions, topics with retained messages, MQ connectivity. You can use the Server Memory Usage graph on the Home page of the Amlen WebUI to understand persistent memory usage over a period of 24 hours so that you can take appropriate action to continue efficient operation. If your persistent memory is approaching full capacity, investigate how much memory is being used by the various owner categories.
- Pool 1 contains records for topics that have retained messages, durable subscriptions, queues, clients, and connectivity with IBM® MQ queue managers.
- Pool 2 contains records of acknowledgements with MQTT clients.
Use the Server Dashboard on the Home page, or the Server Monitor page to view the following statistics about Eclipse Amlen persistent memory:
-
- MemoryUsedPercent
- Shows the percentage of persistent memory that is used, and, therefore, is not available.
-
- DiskUsedPercent
- Shows the percentage of disk space that is used.
-
- DiskFreeBytes
- Shows the amount of disk space, in bytes, that is available.
-
- Pool1TotalBytes
- Shows the amount of memory, in bytes, in pool 1.
-
- Pool1UsedBytes
- Shows the amount of memory, in bytes, that is currently in use in pool 1.
-
- Pool1UsedPercent
- Shows the percentage of memory that is in use in pool 1.
-
- Pool1RecordSizeBytes
- Shows the size, in bytes, of each record in pool 1.
-
- Pool1RecordsLimitBytes
- Shows the overall amount of memory, in bytes, that can be used by client applications. If this limit is exceeded, publications and subscriptions might be rejected.
-
- Pool1RecordsUsedBytes
- Shows the amount of memory, in bytes, that is being used for client
records. If this value exceeds the value of
Pool1RecordsLimitBytes
, publications and subscriptions might be rejected.
-
- ClientStatesBytes
- Shows the memory allocated for clients that must be remembered
when they are disconnected. In MQTT, these are clients that connected
using a
cleanSession=0
setting or clients that connected and set a will message the quality of service of which is 1 or 2.
To reduce the amount of store memory that is being used for this category, you can disconnect and delete MQTT clients by using either:- The Disconnected MQTT Clients monitoring page in the Amlen WebUI, or
- The Eclipse Amlen REST API DELETE method. For more information about using the Eclipse Amlen REST API DELETE method, see Delete configuration objects.
cleanSession=0
, you can either:- Edit the connection policy in the Amlen WebUI: clear the Allow Clients with Durable Subscriptions check box, or
- Edit the connection policy to set the AllowDurable parameter to
False
by using the Eclipse Amlen REST API POST method. For more information about using the Eclipse Amlen REST API POST method, see Create or update a connection policy.
-
- QueuesBytes
- Shows the memory, in bytes, allocated for queues. Memory is allocated in this category for each queue that is created for point-to-point messaging.
-
- TopicsBytes
- Shows the memory, in bytes, allocated for topics. The server allocates memory in this category
for each topic with a persistent retained message.
A large amount of store memory being consumed by this category indicates that the server is retaining messages for a large number of topics. To reduce the amount of store memory that is being used by this category, publish retained messages on a smaller number of topics. You can remove individual retained messages by publishing zero-length messages on the same topic. Retained messages can also be removed by the message expiration facility if message expiration is being used; check the value of MaxMessageTimeToLive parameter of your topic policy.
-
- SubscriptionsBytes
- Shows the memory, in bytes, allocated for durable subscription
records. In MQTT, these are subscriptions for clients that connected
using a
cleanSession=0
setting.To reduce the amount of store memory that is being used by this category, you can disconnect clients and delete subscriptions by using either:- The Subscriptions monitoring page in the Amlen WebUI, or
- The Eclipse Amlen REST API DELETE method. For more information about using the Eclipse Amlen REST API DELETE method, see Delete configuration objects.
cleanSession=0
, you can either:- Edit the connection policy in the Amlen WebUI: clear the Allow Clients with Durable Subscriptions check box, or
- Edit the connection policy to set the AllowDurable parameter to
False
by using the Eclipse Amlen REST API POST method. For more information about using the Eclipse Amlen REST API POST method, see Create or update a connection policy.
-
- TransactionsBytes
- Shows the memory, in bytes, allocated for transaction records.
The server allocates memory in this category for each transaction.
During normal operation, most of the store memory being used by this category is for transactions that are being used internally by Eclipse Amlen for a variety of purposes which ensure the consistency of its operations. To reduce the amount of store memory that is being by this category, reduce the workload of the server so that fewer internal transactions are used. Transactions continue to be created after the
Pool1RecordsLimitBytes
has been exceeded.
-
- MQConnectivityBytes
- Shows the memory, in bytes, allocated for connectivity with IBM MQ queue managers.To reduce the amount of store memory that is being used by this category, review your destination mapping rules and remove any unnecessary rules. You can modify and review destination mapping rules by using either:
- The MQ Connectivity page that you can select from theMessaging menu in the Amlen WebUI, or
- The Eclipse Amlen REST API POST method or the Eclipse Amlen REST API GET method. For more information about editing and viewing destination mapping rules, see Configuring destination mapping rules.
-
- Pool2TotalBytes
- Shows the amount of memory, in bytes, in pool 2.
-
- Pool2UsedBytes
- Shows the amount of memory, in bytes, that is currently in use in pool 2.
-
- Pool2UsedPercent
- Shows the percentage of memory that is in use in pool 2.
-
- IncomingMessageAcksBytes
- Shows the memory, in bytes, allocated for acknowledging incoming
messages. The server allocates memory in this category for MQTT clients
that connected using a
cleanSession=0
setting and are publishing messages the quality of service of which is 2. This memory is used to ensure once-and-once-only delivery.