RabbitMQ Monitoring

OpenStack depends on RabbitMQ to deliver messages between services. AppFormix can be configured to monitor the availability and key performance metrics of RabbitMQ clusters. Metrics are available to both Charts and Alarms. Multiple RabbitMQ clusters may be monitored.

Resource Availabilty

The connectivity of nodes for each of the configured Rabbit clusters is recorded periodically. The user can view both the current status, as well as the historical status over a specified period of time by selecting "Services" > "RabbitMQ" from the context menu at the top, and selecting "Dashboard" panel in the left menu.

Dashboard

The "Dashboard" panel also provides detailed metrics for a single RabbitMQ cluster. After selecting the "Dashboard" panel in the left menu, navigate to "Services" > "RabbitMQ" in the top context menu, and then select a Rabbit Cluster by name.

Rabbit Dashboard

The counters at the top of the panel display the number of active channels, connections, consumers, exchanges, and queues. Below, tables display statistics about message rates across the cluster, and per-node resource consumption.

Real-time charts

For a real-time view of RabbitMQ metrics, select "Services" > "RabbitMQ" from the top context menu. Next, click on "Charts" from the left menu.

RabbitMQ Charts

Service Alarms

To configure an Alarm to monitor RabbitMQ metrics, open the Alarm panel. Select "Service_Alarms" for the Module and "rabbit" for the Service. An Alarm may be configured for a metric on a per-cluster, per-node, or per-queue basis. Select the appropriate Metric Scope, then choose a metric to monitor. As with other Alarms, you may optionally configure notifications in the "Advanced" settings.

RabbitMQ Alarms

Configuration

For AppFormix to be able to collect metrics from RabbitMQ, the RabbitMQ management plugin must be enabled, and AppFormix must be configured with user credentials to collect RabbitMQ metrics. Follow these steps to configure RabbitMQ monitoring:

  1. Enable the RabbitMQ plugin by issuing the following commands on the host that runs RabbitMQ:

    $ rabbitmq-plugins enable rabbitmq_management
    $ service rabbitmq-server restart
    
  2. AppFormix requires RabbitMQ user credentials with privileges to read the metrics. You may use an existing RabbitMQ user with 'administrator' or 'monitoring' role, or create a new user account. To create a user account with 'monitoring' privileges, issue the following commands on the host that run RabbitMQ:

    $ rabbitmqctl add_user appformix mypassword
    $ rabbitmqctl set_user_tags appformix monitoring
    $ rabbitmqctl set_permissions -p / appformix "" "" ".*"
    

    Replace the sample 'mypassword' with a strong password.

    Verify the settings by opening http://<rabbit-host>:15672/ in a web browser, and login with the RabbitMQ user credentials.

  3. Configure AppFormix with the details of the RabbitMQ cluster. Open the "Settings" page from the upper-right menu of the Dashboard. In the "Services Settings" panel, select the "RabbitMQ" tab.

    Enter the Rabbit Cluster URL from Step 1. Enter the username and password from Step 2. Click the "Setup" button. On success, the button will change to "Submitted".

    RabbitMQ Settings