Monitoring Apache Qpid Broker for Java

eG Enterprise offers a special-purpose monitoring model for the Apache Qpid Java Broker to monitor the status and overall performance of the target Apache Qpid Java Broker.

Figure 1 depicts the layer model of an Apache Qpid Java Broker.

Figure 1 : Layer model for Apache Qpid Java Broker

Every layer in the Figure 1 is mapped to various tests to determine the critical statistics related to the performance of the target Apache Qpid Java Broker. Using the metrics reported by the tests, administrators can find accurate answers for the following performance queries:

  • What is the current state of the application in the Access Control Provider for which the access control rule is applied?

  • What is the current state of the authentication for the Authentication provider that establishes a stable connection with the broker?

  • What is the current state of the Broker that provides proper message transaction?

  • What is the total size of the messages received/delivered by the broker?

  • What is the total capacity of direct memory allocated for the broker process?

  • What is the maximum size of messages published into the broker since its start-up?

  • What is the total number of messages received/delivered by the broker?

  • What is the number of unused direct memory buffers currently available in the pool of the broker?

  • How many objects were pending for finalization in the broker?

  • What is the CPU load for current/cumulative broker process?

  • How many messages were received/delivered by the broker within a transaction?

  • What is the size of direct/heap memory used by the broker?

  • What is the current state of the broker log files - Are there any errors/warnings reported in the log file?

  • What is the current state of the exchange that receives the messages from the producer and routes them to the queue - Is it active?

  • What is the total size/number of all unrouted messages dropped by the exchange?

  • What is the total size/number of messages received by the exchange?

  • What is the current state of the port - Does it ensures a stable TCP/IP connectivity for messaging?

  • How many TCP/IP connections that exists in the port since the broker start-up?

  • Does the virtual host is active performing proper messaging service?

  • What is the total size of all messages received/delivered by the virtual host?

  • What is the current number of messaging connections/exchanges on the virtual host?

  • What is the maximum size of messages that were published into the virtual host since the broker start-up?

  • What is the current number of queues on the virtual host?

  • What is the current size/number of all messages enqueued by the virtual host?

  • How many messages were received/delivered by the virtual host within a transaction?

  • What is the current state of the TCP/IP connection between the broker and the application?

  • What is the total size/number of messages received/delivered by the TCP/IP connection?

  • How many transactions had started during TCP/IP connectivity and how many transactions were in open/rolled-back states?

  • How many sessions occurred during TCP/IP connection?

  • How many messages were received/delivered by the TCP/IP connection within a transaction?

  • What is the current state of the consumer that receive messages from the queue - Is it active?

  • What is the total size/number of messages delivered by the consumers?

  • What is the total size/number of messages unacknowledged by the consumers?

  • What is the current state of the queue - Is it active, ensuring that the customers receive the messages from the queue without any distortion?

  • What is the maximum size of the messages available in the queue?

  • How many messages were delivered by the queue?

  • What is the maximum number of consumers attached to this queue?

  • What is the age of the oldest messages that exist in the queue?

  • What is the size/number of the persistent messages that were enqueued/dequeued?

  • What is the maximum size/number of messages waiting in the queue?

  • What is the size/number of all messages that were enqueued/dequeued?

  • What is the total size/number of messages that were expired in the queue?

  • What is the total size/number of messages that were malformed in the queue?

  • What is the total size/number of unacknowledged messages in the queue?

Since the Operating System, Application Processes, Windows Service and TCP layers have been elaborately discussed in Monitoring Unix and Windows Servers document, the tests mapped to the Network Layer have been elaborately discussed in Monitoring Cisco Router document, and the tests mapped to the JVM layer have already been discussed in Monitoring Java Applications document, the sections to come will discuss the other layers in detail.