Rabbitmq installation
RabbitMQ is used in HyWorks by several modules to send, receive, and manage messages to support multiple features, enabling various features, some of which are outlined below:
-
DVM Push: Desktop agents will push session events and heartbeats while the VM Scale Booster (Consumer service) updates the database, thereby reducing overhead on the HyWorks Controller.
-
HA Notify: The HyWorks Controller sends updates regarding the current high availability status, including the active primary server, enabling modules to connect to the appropriate primary server.
-
Scheduler Action and Notification: Scheduler and Action Processor components use message queues to perform scheduled actions and then send notifications to the agents in the sessions.
Note
The exact version of RabbitMQ is required for the installation.
Download Location of RabbitMQ:
RabbitMQ Installation Steps:
-
Copy the setup file of the downloaded RabbitMQ server module v3.13.X.
-
Log in to the server using user credentials that have local administrator privileges.
-
Double-click the rabbitmq-server-3.13.X.exe and proceed with the installation.
-
Select the install location folder and click Next.
-
Once the installation is complete, confirm that the RabbitMQ service is installed properly and running.
-
At this point, RabbitMQ, with its prerequisite Erlang OTP, will be ready.
-
The next step is to configure the RabbitMQ service to enable it for other Accops modules such as VM Scale Booster, Scheduler, or Action Processor.
-
Basic Configuration: To configure the basic RabbitMQ server, follow the RabbitMQ Server Configuration steps.
-
Advanced Configuration: To perform the advanced configurations like enabling SSL, changing the default port, upgrading, and high-availability, refer to the RabbitMQ Advanced Configurations section.
-
RabbitMQ Configurations
RabbitMQ is used in HyWorks by multiple modules to send, receive, and manage messages to support multiple features, some of which are mentioned below:
-
DVM Push: Desktop agents will push the session events and heartbeat and VM Scale Booster (Consumer service) pushes the updates to the database and thus reducing overhead on the HyWorks Controller.
-
HA Notify: HyWorks Controllers push the updates about current HA status e.g., current primary server and thus modules reading this can connect to correct primary server.
-
Schedule Action and Notification: Scheduler, Action Processor components use message queues for performing scheduled actions and then send notifications to agents in the sessions.
Understanding the importance of RabbitMQ in HyWorks deployments, this section will provide detailed information on RabbitMQ configurations(assuming installation is already completed):
RabbitMQ Server Configuration
RabbitMQ settings require modification after installation. A configuration script is provided and needed to execute the following necessary tasks:
-
Create a user in RabbitMQ: This user account will be configured in RabbitMQ to communicate with RabbitMQ from external hosts. A default user will not be allowed to connect other than localhost.
-
Set the Erlang cookie so that the RabbitMQ command works correctly.
-
Configuring some plugins and timestamp settings.
Steps to run RabbitMQ Configuration Script:
Follow the steps below to configure the RabbitMQ server for use with HyWorks components:
-
Log in to the server using user credentials that have administrator privileges.
-
Make sure the exact versions of Erlang OTP (Prerequisite for RabbitMQ) and RabbitMQ are already installed on the server.
-
Make sure that the RabbitMQ service is running after the installation is complete.
-
Run the ConfigureRabbitMQ.bat with admin privileges. Refer to this download link of the Configuration Script for RabbitMQ v3.13.
-
It will ask you to enter the username and password to configure RabbitMQ.
-
Enter the username and password, and remember these details. This information needs to be configured in the HyWorks components that use RabbitMQ.
-
-
RabbitMQ is ready to be configured into the Accops HyWorks Controller and other components.
-
This is a non-SSL configuration on port 5672.
-
Refer to the RabbitMQ Advance Configurations section to configure RabbitMQ for SSL communication.
-