Contents
Optional: Deploy RabbitMQ for quick widget updates
Use RabbitMQ for quick widget updates.
Genesys Pulse supports quick updates for CurrentStatus and ExtendedCurrentState statistics only to prevent a high performance load this causes on Stat Server and Genesys Pulse.
You are responsible to validate that your environment can handle the load in production caused by quick updates.
Decide on Configuration
- Determine whether to use RabbitMQ with Genesys Pulse using Cluster or Single-Node configurations. Genesys Pulse supports using these configurations only with RabbitMQ.
- Cluster configuration — Use at least the same number of RabbitMQ instances as the number of Genesys Pulse Collector applications. RabbitMQ can run on any host: either the one where Genesys Pulse runs or any other host accessible over reliable network.
- The default configuration should be one RabbitMQ instance running on every host where Genesys Pulse Collector runs. For example, Primary host (host1) and Backup host (host2).
- Single node configuration — This simple configuration uses a single RabbitMQ instance running either on a host with Genesys Pulse Collector or any other host accessible over reliable network.
- Note: If this RabbitMQ instance fails or the whole host fails, quick widget Updates stop working. If you choose this configuration, you still need to go through all steps to deploy RabbitMQ unless clearly stated otherwise. The host with RabbitMQ is called host1 in the remainder of this deployment.
- Cluster configuration — Use at least the same number of RabbitMQ instances as the number of Genesys Pulse Collector applications. RabbitMQ can run on any host: either the one where Genesys Pulse runs or any other host accessible over reliable network.
All Configurations
- To use RabbitMQ to work with Genesys Pulse, use the following software versions:
- RabbitMQ server version 3.11.5.
- The version of Erlang compatible with that version of RabbitMQ.
- Use identical versions of Erlang on all hosts running RabbitMQ.
TipWe specify the lowest acceptable version here, but any later versions should work unless their RNs specify that there are some backward compatibility changes. - On every host, install Erlang and RabbitMQ. Follow the instructions at the RabbitMQ site, to install on your brand of Linux or on Windows.
- After installing, change RabbitMQ server's option, channel_max, to 0.
- On every host, start RabbitMQ server as described on the page of installation instructions you used. This will generate an Erlang cookie file, required for using RabbitMQ in a cluster.
Cluster Configuration
Refer to RabbitMQ’s Clustering Guide to set up the RabbitMQ cluster on your hosts.
Configuration for Pulse
- Create a vhost with a name '/pulse' for Genesys Pulse. If you create a vhost with a different name, you must specify it in Genesys Pulse Collector configuration options. On any of the hosts run the following command:
- rabbitmqctl add_vhost /pulse
- Create a user for Genesys Pulse with name 'pulse' and password 'pulse'. If you create a user with a different name and password, you must specify them in Genesys Pulse Collector configuration options. On any of the hosts run the following command:
- rabbitmqctl add_user pulse pulse
- Grant user access to vhost. Here is how to grant user 'pulse' access to vhost '/pulse' with permissions to create exchanges with names starting with 'pulse'. On any of the hosts run the following command:
- rabbitmqctl set_permissions -p /pulse pulse "^pulse.*" ".*" ".*"
- To configure Genesys Pulse Collector to work with RabbitMQ you need to have
transport-rabbitmq
section configured in options of Genesys Pulse Collector application object.- Add or update configuration options in the [transport-rabbitmq] section.
- Restart Genesys Pulse Collector and Genesys Pulse to apply changes.
RabbitMQ memory and disc usage
RabbitMQ instances should not store any Genesys Pulse application data on disc, so the disc usage is insignificant unless the message queue for any of the Genesys Pulse applications grows too large. To ensure that the message queue does not grow too big in some exceptional cases there is a limit on queue length in Genesys Pulse, which is controlled by option max-queue-length
in section transport-rabbitmq
of Genesys Pulse Collector application options.
Use the value of this option to estimate possible RabbitMQ memory usage. To roughly estimate upper limit of possible memory usage use this formula:
<Max memory usage> = <RabbitMQ idle memory usage> + 3 * ( max-queue-length * <Average size of a delta snapshot> * 4 )
For example, for an average change in message size of 10KB, RabbitMQ idle memory usage of 100MB, and max-queue-length
of 1000, we obtain 220MB of memory usage.
Starting with release 9.0.001, Genesys Pulse and Genesys Pulse Collector support Aeron transport configured on Windows.