Skip to content

RabbitMQ Configuration for the Controller and VM Scale Booster

Controller in Advance Settings

The controller uses the following settings for MQ communication and shares them with the DVM agent.

If these settings change, the controller sends them to the DVM agent during the heartbeat call.

  • Whenever any MQ settings connected to or used by the consumer are modified, the consumer will restart.

  • The controller and DVM tool utilize this particular setting, so the application will automatically restore the consumer mentioned below:

    • Notification consumer in the DVM tool

    • HA notifier consumer in the RMS service

Advance settings
  • Consume from MQ Server(s): Enter comma-separated hostnames/IPs of the MQ servers (from where the messages will be picked). In a non-clustered environment, specify at least two values.

    • List of comma-separated hostnames/IP addresses of the MQ servers that are configured in the HA deployment and will be available to receive the messages for processing. E.g., Hostnames/IP addresses of the MQ server is installed on the primary and secondary servers. The application will listen on both servers, and the message will be delivered to the application from both servers.

    Note

    Consumers should point to both MQ servers individually, even if a load balancer is available, as message replication is not supported.

  • Publish to MQ Server(s): Enter comma-separated hostnames/IPs of the MQ servers (where messages will be sent). In a clustered environment, specify at least two. If a load balancer is present, use the load balancer’s IP address.

    • If the load balancer is not available in deployment: The list of comma-separated hostnames or IP addresses of MQ servers that are configured in HA deployment, which are available to publish the message that will be delivered to the respective consumer. E.g., Hostnames or IP addresses of the MQ server are installed on the primary and secondary servers. The message is sent to a single server, randomly picked, and sent to the first server that accepts it. Consumers are already listening on both servers.

    • If the load balancer is available in deployment: The hostname or IP address of the load balancer will publish the message on one of the MQ servers.

  • MQ Server Port: The default port value is 5672 for non-SSL and 5671 for SSL.

    • Set the Use MQ SSL flag accordingly.

    • This port should be the same for all the configured MQ publisher and consumer servers.

  • Use MQ SSL: Set the value as True if the SSL is needed else if not for the RabbitMQ set the value as False.

    • Configure the MQ server for SSL communication; set it to True.

    • Refer to the Advance configuration.

    • This SSL setting should be identical for all the configured MQ publisher and consumer servers.

  • MQ Username: Enter the MQ Username. The default value is accopsmqadmin. This MQ username should be identical for all the configured MQ publisher and consumer servers.

  • MQ Password: Enter the MQ Password in an encrypted format. The default value is guest. This MQ password should be identical for all the configured MQ publisher and consumer servers.

  • Enable notification listener in DVM tool: The DVM agent listens for scheduled action notifications (default: False). To enable notifications, set the value to True. The DVM agent will receive and process notification messages, and display notifications to the logged-in user on the virtual machine when a supported action is performed using schedules.

  • MQ Connection Settings: These are additional MQ connection settings in a JSON string.

    These are the default connection settings in the JSON string. Do not change these settings without confirmation from the Dev team.

  • Desktop poll mode: The two desktop poll modes are as follows:

    1. Normal Mode: The default value is 1, which means the controller will poll agents for status.

    2. Hybrid Mode: The DVM tool sends events and heartbeats to the MQ when the desktop poll mode is set to 2 (Hybrid Mode). The VM Scale Booster must be operational to process the events sent by the DVM.

  • VM Scale Booster queue hostname: The default value is set to localhost. This is used only in older DVM agents (older than 3.4.0.661 on Windows and older than 3.4.0.127 on Linux).

  • This setting is deprecated and not used in the latest version of the DVM tool after 3.4.0.661 on Windows and after 3.4.0.127 on Linux.

  • VM scale booster queue name: Specifies the name of the queue used to manage heartbeat signals. The default value is set as edc.dvm.heartbeat-queue.

  • VM Scale Booster queue heartbeat interval (in sec): It determines how frequently a heartbeat signal is sent to monitor the status and health of virtual machines or queues. The default value is set to 120 sec.

VM Scale Booster in appsettings.json file

During VM Scale Booster installation, all the required configurations are captured. These configurations are saved in appsettings.json file and one can organize the settings according to the parameters listed. These settings will control how the VM Scale Booster interacts with RabbitMQ, including connection parameters and message handling configurations.

  • ConsumerHostname: The hostname or IP address of the RabbitMQ server. E.g.: localhost or rabbitmq.example.com

  • Port: The port number on which RabbitMQ or the message broker is listening. E.g.: 5672

  • Username: The username used for authentication with the message broker. E.g.: guest

  • Password: The password associated with the username. E.g.: guest

  • SslEnabled: Indicates whether SSL/TLS is enabled for secure communication. E.g., True if SSL/TLS is enabled and False if not enabled

  • Queue: The name of the queue to which messages are sent or from which they are consumed. E.g., scale.boost.queue

  • Exchange: The name of the exchange used for routing messages. E.g., scale.boost.exchange

  • TimestampType: The type of timestamp to use for messages or events. This could be UTC or Local.

  • ControllerHeartbeatTimeout: The timeout period (in seconds) for the heartbeat signal used to monitor the controller’s status. E.g.: 300 sec (5 mins)

  • MessageTTL: The time-to-live (TTL) for messages in the queue, in milliseconds. This determines how long the messages will remain in the queue before being discarded. E.g.: 3600000 (1 hr)

  • ConnectionRetryIntervalInMilliseconds: The interval (in milliseconds) between retry attempts to connect to the broker if the initial connection fails. E.g.: 5000 (5 sec)

  • ConsumerMaxConnectAttempts: The maximum number of attempts to connect to the broker before giving up. E.g.: 5

  • LogConsumerReconnectAttemptAfterNCount: The number of connection attempts after which to log a reconnect attempt. E.g.: 3