Apache ActiveMQ is a powerful open source message broker that supports JMS and a variety of Cross Language Clients and Protocols (from Java, C, C++, C#, Ruby, Perl, Python and PHP). ActiveMQ offers full support for the Enterprise Integration Patterns both in the JMS client and the Message Broker.
Applications Manager's Apache ActiveMQ Monitoring aims to help administrators collect ActiveMQ metrics, correlate your queue and broker performance with your infrastructure, maintain configurations for high availability and scalability, and be alerted automatically of potential issues.
Let’s take a look at what you need to see to fully utilize ActiveMQ and the performance metrics that you can gather with Applications Manager:
Supported versions: Versions 5.8 and above
Prerequisites for setting up Apache ActiveMQ Monitoring:
Apache ActiveMQ has extensive support for JMX to allow you to monitor and control the behavior of the broker via the JMX MBeans. You can enable/disable JMX support by following the steps mentioned here.
Using the REST API to add a new Apache ActiveMQ monitor: Click here
To create an Apache ActiveMQ monitor, follow the steps given below:
Go to the Monitors Category View by clicking the Monitors tab. Click on Apache ActiveMQ under the Middleware/Portal Table. Displayed is the Apache ActiveMQ bulk configuration view distributed into three tabs:
Click on the monitor name to see all the server details listed under the following tabs:
Parameter | Description |
---|---|
RESOURCE USAGE DETAILS | |
Memory Usage | The memory usage, in bytes, used by undelivered messages. |
Store Usage | |
Temp Usage | |
MEMORY DETAILS | |
Total Physical Memory Size | The total amount of physical memory in Megabytes. |
Free Physical Memory Size | The amount of free physical memory in Megabytes. |
Committed Virtual Memory Size | The amount of virtual memory that is guaranteed to be available to the running process in Megabytes. |
Total Swap Space Size | The total size of virtual memory hold by the JVM. |
Free Swap Space Size | The free virtual memory size. |
THREAD DETAILS | |
Daemon Thread Count | The number of daemon threads currently running. |
Peak Thread Count | The peak live thread count since the Java virtual machine started or peak was reset. |
Live Thread Count | The number of live threads currently running. |
Total Started Thread Count | The total number of threads created and also started since the Java virtual machine started. |
Heap and Non-Heap Memory Details | |
Heap Memory Usage | The heap memory currently in use. |
Non-Heap Memory Usage | The non-heap memory currently in use. |
BROKER STATISTICS | |
Total DeQueue Count | The total number of messages removed from the queue (acknowledged by consumer) since last restart. |
Total Enqueue Count | The total number of messages sent to the queue since the last restart. |
Total Consumer Count | The total number of consumers that have consumed the messages posted by the producers |
Total Producer Count | The total number of producers that have posted messages to the ActiveMQ instance |
Total Message Count | The total number of messages in the queue, including the number of enqueued and dequeued messages. |
Current Connection Count | Number of connections that are currently active. |
Total Connection Count | The total number of connections (Both the producer and consumer have to connect to the ActiveMQ instance for posting and consuming messages respectively). |
Job Scheduler Store | The percentage of job store limit used. |
Parameter | Description |
---|---|
Topic Details | |
Name | |
Memory Usage (%) | |
Queue Size | The number of messages in the destination which are yet to be consumed (potentially dispatched but unacknowledged). |
Average Message Size | The average message size on this destination. |
Blocked Sends | The number of messages blocked for Flow Control. |
Average Blocked Time | The average time (ms) messages are blocked for Flow Control. |
Topic Count Details | |
Producer | The total number of producers that have posted messages to the ActiveMQ instance |
Consumer Count | The total number of consumers that have consumed the messages posted by the producers. |
In Flight Count | The number of messages sent to a consumer session and have not received an acknowledgement. |
Enqueue Count | The total number of messages sent to the queue since the last restart. |
Dispatch Count |
The total number of messages sent to consumer sessions (Dequeue + Inflight). |
Dequeue Count | The total number of messages removed from the queue (acknowledged by consumer) since last restart. |
Expired Count | The number of messages that were not delivered because they were expired. |
Parameter | Description |
---|---|
Queue Details | |
Memory Usage | The memory usage, in bytes, used by undelivered messages. |
Cursor Usage | The message cursor memory usage, in bytes. |
Average Message Size | The average message size on this destination. |
Average Enqueue Time | The average time a message has been held this destination. |
Average Blocked Time | The average time (ms) a message is blocked for Flow Control. |
Cache Enabled | Specifies if caching is enabled. |
Blocked Producer Warning Interval | The interval between warnings issued when a producer is blocked from adding messages to the destination. |
Queue Count Details | |
Enqueue Count | The total number of messages sent to the queue since the last restart. |
Dispatch Count | The total number of messages sent to consumer sessions (Dequeue + Inflight). |
Dequeue Count | The total number of messages removed from the queue (acknowledged by consumer) since last restart. |
Expired Count | The number of messages that were not delivered because they were expired. |
Parameter | Description |
---|---|
Subscriber Details | |
Destination Name | Name of the destination. |
Cursor Usage | The message cursor memory usage, in bytes. |
Maximum Pending Messages | The maximum number of pending messages allowed. |
Messages Awaiting Acknowledgement | The number of messages dispatched to the client and are awaiting acknowledgement. |
Pending Queue Size | The number of messages pending delivery. |
Enqueue Counter | Counts the number of messages that matched the subscription. |
Dequeue Counter | Counts the number of messages were sent to and acknowledge by the client. |
Parameter | Description |
---|---|
Configuration Details | |
Broker Version | The version of the broker. |
Broker ID | The unique id of the broker. |
Broker Name | The name of the broker. |
Average Message Size | The average message size on this destination. |
Job Scheduler Store Limit | The disk limit, in bytes, used for scheduled messages before producers are blocked. |
Maximum Message Size | The maximum message size on this destination. |
Memory Limit | The memory limit, in bytes, used for holding undelivered messages before paging to temporary storage. |
Minimum Message Size | The minimum message size on this destination. |
Store Limit | The percent of store limit used. |