RabbitMQ Application Connections Test
Applications communicate with each other via a RabbitMQ server/cluster. By tracking connections from each application and measuring the data load that every application imposes on the cluster, you can easily identify which applications are overloading the cluster. This is what you can achieve with the RabbitMQ Application Connections test.
This test auto-discovers the applications that are currently connected to the cluster. For each auto-discovered application, the test then reports the count of connections established by that application on the cluster and the amount of data received and sent by the cluster. From this, we can quickly and accurately infer which application is overloading the cluster.
Target of the test : A RabbitMQ Cluster
Agent deploying the test : A remote agent
Outputs of the test : One set of results for each application currently connected to every node in the target cluster
First-level descriptor: Node name
Second-level descriptor: Application process
Parameters | Description |
---|---|
Test period |
How often should the test be executed |
Host |
The host for which the test is to be configured. |
Port |
The port at which the configured Host listens; by default, this is 15672 |
Username, Password, and Confirm Password |
The eG agent connects to the Management Interface of the rabbitmq-management plugin of the target node, and runs HTTP-based API commands on the node using the plugin to pull metrics of interest. To connect to the plugin and run the API commands, the eG agent requires the privileges of a user on the cluster who has been assigned the 'monitoring' tag. If such a user pre-exists, then configure this test with the Username and Password of that user. On the other hand, if no such user exists, then you will have to create a user for this purpose using the Management Interface. The steps for this have been detailed in How Does eG Enterprise Monitor a RabbitMQ Cluster? In this case, make sure you configure this test with the Username and Password of the new user. Finally, confirm the password by retyping it in the Confirm Password text box. |
SSL |
By default, this flag is set to No, as the target node is not SSL-enabled by default. If the node is SSL-enabled, then set this flag to Yes. |
Num DD Messages |
By default, this parameter is set to 10. This means that, by default, the detailed diagnosis of the Number of application connections measure will report the details of the top-10 connections (of an application) in terms of their reduction count. To view the details of more connections as part of detailed metrics, you will have to increase the value of this parameter. Likewise, to view the details of less than 10 connections, reduce the value of this parameter. |
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Number of application connections |
Indicates the total number of instances of this application process currently running. |
Number |
This is a good indicator of the connection load imposed by an application on a node. Use the detailed diagnosis of this measure to view the top-10 (by default) connections made by this application, in terms of their reduction count. |
Average data from client |
Indicates the rate at which data was received from this application. |
Bytes/Sec |
|
Average data to client |
Indicates the rate at which data was sent to this application. |
Bytes/Sec |
|
Average reductions |
Indicates the rate at which reductions take place on this application. |
Reductions/Sec |
The reduction is a counter per process that is normally incremented by one for each function call. It is used for preempting processes and context switching them when the counter of a process reaches the maximum number of reductions. For example in Erlang/OTP R12B this maximum number was 2000 reductions. The value of this measure represents the rate at which an application makes function calls. This is the real indicator of the workload generated by an application on the cluster. |
Use the detailed diagnosis of the Number of application connections measure to view the top-10 (by default) connections made by an application, in terms of their reduction count. The name of each connection, its current state, and the I/O overheads imposed by that connection are revealed. You can also know which user initiated that connection, when, and over what protocol.
Figure 1 : The detailed diagnosis of the Number of application connections measure