Schedule demo

Apache ActiveMQ Monitoring


Apache ActiveMQ - An Overview

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. 

Monitoring Apache ActiveMQ - What we do.

Apache Monitoring plays a pivotal role in ensuring the health of your ActiveMQ ensemble. 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:

  • Resource utilization details - Automatically discover ActiveMQ servers, monitor memory and CPU and get alerts of changes in resource consumption.
  • Topic and Queue Details - Automatically collect and visualize ActiveMQ queue data like memory usage, average message size, average enqueue time and broker metrics all in one place. Analyse topic details including memory consumed by each topic, average message size, blocked sends, health of each topic etc. and make informed decisions.
  • Subscriber Statistics -  Monitor the most important subscriber metrics from the out-of-the-box ActiveMQ dashboard, including subscriber count and subscriber queue metrics. Correlate subscriber metrics with their respective topic metrics to diagnose issues.
  • Fix Performance Problems Faster - Get instant notifications when there are performance issues with the components of Apache ActiveMQ. Become aware of performance bottlenecks and take quick remedial actions before your end users experience issues.

Apache ActiveMQ - Adding a new monitor

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: 

  1. Click on New Monitor link. Choose Apache ActiveMQ.
  2. Enter Display Name of the monitor.
  3. Enter the IP Address or hostname of the host in which Apache ActiveMQ Broker is running.
  4. Enter the JMX Port in the JMX Port field.
  5. Enter the credential details like user name and password  of Apache ActiveMQ Broker or select credentials from a Credential Manager list.
  6. Enter the JNDI path. For example:- JNDIPATH for default installations of Apache ActiveMQ Broker is /jmxrmi.
  7. Enter the polling interval time in minutes.
  8. Click Test Credentials button, if you want to test the access to Apache ActiveMQ Server.
  9. Choose the Monitor Group from the combo box with which you want to associate Apache ActiveMQ Monitor (optional). You can choose multiple groups to associate your monitor.
  10. Click Add Monitor(s). This discovers Apache ActiveMQ from the network and starts monitoring.
Note:
  • Apache ActiveMQ monitoring is supported only for Classic versions of ActiveMQ and not the Artemis versions.
  • In case you are unable to add the monitor even after enabling JMX, try providing the below argument:
     -Djava.rmi.server.hostname=[YOUR_IP]
  • Click here to know more about establishing Apache ActiveMQ Failover.

Monitored Parameters

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:

  • Availability tab gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

Click on the monitor name to see all the server details listed under the following tabs:

Overview

ParameterDescription
RESOURCE USAGE DETAILS
Memory UsageThe memory usage, in bytes, used by undelivered messages.
Store UsageThe amount of persistant storage usage in bytes.
Temp UsageThe amount of temporary disk space used for non-persistent messages and temporary destinations.
MEMORY DETAILS
Total Physical Memory SizeThe total amount of physical memory in Megabytes.
Free Physical Memory SizeThe amount of free physical memory in Megabytes.
Committed Virtual Memory SizeThe amount of virtual memory that is guaranteed to be available to the running process in Megabytes.
Total Swap Space SizeThe total size of virtual memory hold by the JVM.
Free Swap Space SizeThe free virtual memory size.
THREAD DETAILS
Daemon Thread CountThe number of daemon threads currently running.
Peak Thread CountThe peak live thread count since the Java virtual machine started or peak was reset.
Live Thread CountThe number of live threads currently running.
Total Started Thread CountThe total number of threads created and also started since the Java virtual machine started.
Heap and Non-Heap Memory Details
Heap Memory UsageThe heap memory currently in use.
Non-Heap Memory UsageThe non-heap memory currently in use.
BROKER STATISTICS
Total DeQueue CountThe total number of messages removed from the queue (acknowledged by consumer) since last restart.
Total Enqueue CountThe total number of messages sent to the queue since the last restart.
Total Consumer CountThe total number of consumers that have consumed the messages posted by the producers
Total Producer CountThe 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 CountNumber of connections that are currently active.
Total Connection CountThe total number of connections (Both the producer and consumer have to connect to the ActiveMQ instance for posting and consuming messages respectively). 
Job Scheduler StoreThe percentage of job store limit used.

Topic Details

ParameterDescription
Topic Details
Name 
Memory Usage (%)The amount of memory used in percentage.
Queue SizeThe number of messages in the destination which are yet to be consumed (potentially dispatched but unacknowledged).
Average Message SizeThe average message size on this destination.
Blocked Sends The number of messages blocked for Flow Control.
Average Blocked TimeThe average time (ms) messages are blocked for Flow Control.
Topic Count Details
ProducerThe total number of producers that have posted messages to the ActiveMQ instance
Consumer CountThe total number of consumers that have consumed the messages posted by the producers.
In Flight CountThe number of messages sent to a consumer session and have not received an acknowledgement.
Enqueue CountThe 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 CountThe 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.

Queue Details

ParameterDescription
Queue Details
Memory UsageThe memory usage, in bytes, used by undelivered messages.
Cursor UsageThe message cursor memory usage, in bytes.
Average Message SizeThe average message size on this destination.
Average Enqueue TimeThe average time a message has been held this destination.
Average Blocked TimeThe average time (ms) a message is blocked for Flow Control.
Cache EnabledSpecifies if caching is enabled.
Blocked Producer Warning IntervalThe interval between warnings issued when a producer is blocked from adding messages to the destination.
Queue Count Details
Consumer CountThe total number of consumers that have consumed the messages posted by the queue.
In Flight CountThe number of messages sent to a consumer session that have not received an acknowledgment.
Enqueue CountThe total number of messages sent to the queue since the last restart.
Dispatch CountThe total number of messages sent to consumer sessions (Dequeue + Inflight).
Dequeue CountThe 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.

Subscriber Details

ParameterDescription
Subscriber Details
Destination NameName of the destination.
Cursor UsageThe message cursor memory usage, in bytes.
Maximum Pending MessagesThe maximum number of pending messages allowed.
Messages Awaiting AcknowledgementThe number of messages dispatched to the client and are awaiting acknowledgement.
Pending Queue SizeThe number of messages pending delivery.
Enqueue CounterCounts the number of messages that matched the subscription.
Dequeue Counter  Counts the number of messages were sent to and acknowledge by the client.

Configuration

ParameterDescription
Configuration Details
Broker VersionThe version of the broker.
Broker IDThe unique id of the broker.
Broker NameThe name of the broker.
Average Message SizeThe average message size on this destination.
Job Scheduler Store LimitThe disk limit, in bytes, used for scheduled messages before producers are blocked.
Maximum Message SizeThe maximum message size on this destination.
Memory LimitThe memory limit, in bytes, used for holding undelivered messages before paging to temporary storage.
Minimum Message SizeThe minimum message size on this destination.
Store Limit The percent of store limit used.

Loved by customers all over the world

"Standout Tool With Extensive Monitoring Capabilities"

It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.

Reviewer Role: Research and Development

carlos-rivero
"I like Applications Manager because it helps us to detect issues present in our servers and SQL databases."
Carlos Rivero

Tech Support Manager, Lexmark

Trusted by over 6000+ businesses globally