RabbitMQ Client Connections Test

Using this test, administrators can determine the different types of clients (Java clients, PHP clients, etc.) currently connected to the cluster and the number of current connections per type. This way, the test provides near-accurate indicators of the client connection load on the cluster. Also, by reporting the rate at which reductions and data are processed over the different types of client connections, the test reveals early to administrators if a specific type of clients are experiencing processing difficulties.

Target of the test : A RabbitMQ Cluster

Agent deploying the test : A remote agent

Outputs of the test : One set of results for each type of client currently connected to the cluster

Configurable parameters for the test
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 clients connected measure will report the details of the top-10 connections 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.

Individual Connections

If you want the test to report metrics for every client connection, then set this flag to Yes. In this case, each client connection process will be a descriptor of this test. On the other hand, if you want to receive an overview of the connection load on the cluster and measure the overall processing ability of the cluster, you can set this flag to No. In this case, the test will report metrics for a Summary descriptor alone.

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:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Number of clients connected

Indicates the number of clients of this type currently connected.

Number

Compare the value of this measure across client types to know which type of clients imposed the maximum connection load on the cluster.

For the Summary descriptor, this measure will report the total number of connections across client types.

Use the detailed diagnosis of this measure to view the top-10 (by default) connections, in terms of their reduction count.

Average data from client

Indicates the rate at which data was received from clients of this type.

Bytes/Sec

For the Summary descriptor, this measure will report the average number of bytes of data that was received and sent every second across all types of clients. Using the values reported by these measure for the Summary descriptor, you can evaluate the cluster throughput.

Average data to client

Indicates the rate at which data was sent by clients of this type.

Bytes/Sec

Average reductions

Indicates the rate at which reductions take place on clients of this type.

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 clients of a type function calls. This is the real indicator of the workload generated by a client type on the cluster. To understand the workload of the cluster as a whole, use the value this measure reports for the Summary descriptor.

Use the detailed diagnosis of the Number of clients connected measure to view the top-10 (by default) connections, 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 2 : The detailed diagnosis of the Number of clients connected measure