About

RabbitMQ is a message-queueing software also known as a message broker or queue manager. Simply said, it is software where queues are defined, to which applications connect in order to transfer messages. RabbitMQ is particularly interesting for a on-premise deployment of a message queueing software, as it allows you to enjoy all the benefits of a fully-fledged message queueing, software, without the involvement of third-party services in the cloud.

Download Binaries

  • Open Matrix42 Marketplace
  • Login with your Matrix42 Account 
  • Navigate to Products → Unified Endpoint Managemen (UEM)
  • Select Unified Endpoint Management
  • Locate the Current Release section and select Download UUX for SUEM
  • Download the latest Matrix42 Service Bus RabbitMQ package
  • Extract your RabbitMQ Installation Package

RabbitMQ Installation Package content

The current RabbitMQ getting started package contains:

  • RabbitMQ_InstallPackage.4.30.3.exe which includes:
    • Erlang OTP Version 27.3.4.14
      • OTP is a set of Erlang libraries and design principles providing middleware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools. It is a prerequisite for the RabbitMQ server.
    • RabbitMQ Server Version 4.3.2 for 64Bit Windows system
  • Uninstall-RabbitMqServer_NonSSL.ps1 PowerShell script
  • RabbitMQ-Online_Help.url
     

If you want to update an existing installation, you must first uninstall the existing RabbitMQ installation!

Run the Uninstall Script:

  • Inside the unzipped folder, locate the script named Uninstall-RabbitMqServer_NonSSL.ps1.
  • Run this script using PowerShell as an Administrator. You can also double-click the script if the .ps1 extension is associated with PowerShell.
 

Prerequisites

RabbitMQ Firewall Settings

Please open the following Ports used by RabbitMQ:

Port Purpose
5672, 5671

Used by the protocol AMQP 0-9-1 and 1.0 clients with and without TLS

  • 5671 is used with TLS
  • 5672 without TLS
15672 Management UI / HTTP API clients, rabbitmqadmin (only if the management plugin is enabled)
15671 Management UI / HTTPS API clients, rabbitmqadmin (only if the management plugin is enabled)

Installation Options

Please select your preferred installation method:

Automated Installation and configuration

The installation can be executed with the downloaded and extracted self-extracting package. When you run the RabbitMQ_InstallPackage.<Version>.exe, it automatically executes the PowerShell script Install-RabbitMqServer.ps1, which is part of the package. It allows an automated installation of all of the required components. In this case, the installation will be placed in the default directories of the corresponding programs, and after the automated installation, the RabbitMQ server will also be configured with default values for exchanging messages - except the username and its password (those will be asked during the script execution). To perform the automated installation, proceed with the following steps:

Execute Installation and Copy Connection String

  • Run the extracted RabbitMQ_InstallPackage.<Version>.exe
  • Confirm with Yes
  • Wait until all required packages are installed
  • At the end of the installation, you will be asked whether you want to restore an existing backup or select the queues you want to create yourself.
    • If a previous backup of the settings exists, type N. The existing backup is then restored.
    • If you want to query the queues to be created, type Y and press Enter.
    • Provide a username and press enter, e.g. rabbitmq
    • Provide a password and press enter, e.g. password

Do not use the characters '/\@%#.*"& in the password, otherwise your created connection string will get invalid, which you will recognize only later.

 
  • Next, the system prompts you to specify the queues to be created.
    You can confirm the creation of each individual queue by entering Y or N.
  • At the end of the installation, the custom connection string is displayed.
  • Copy your displayed connection string to your clipboard or to any text editor.
  • Press any key to finalize the installation.

For security reasons, the Guest User is deleted at the end of the installation..

 

Open Management Console

  • Use a web browser of choice and navigate to: http://localhost:15672
  • Login with your previously defined username and password.
  • Navigate to Exchange and Queues and review the automatically created Virtual Host, Exchange Name, and Queues:
VirtualHost matrix42
Exchange Name matrix42.suem.topic
Digital Workspace Platform / UUX Queue Name matrix42.uux.subscription
Empirum Queue Name matrix42.empirum.subscription
Silverback Queue Name  matrix42.silverback.subscription
EgoSecure Queue Name matrix42.egosecure.subscription
FastViewer/Remote Assistance Queue Name matrix42.fastviewer.subscription

Additional Notes and Next Steps

  • In case you are not using Empirum, Silverback, FastViewer, or you have additionally EgoSecure Data Protection in place, ensure to remove or add the queues as explained in Adjust Queues
  • If you don't adjust the queues and you are not using Empirum as an example, the created Empirum queue will ultimately collect all messages that are exchanged via RabbitMQ between the Unified User Experience (Service Store) and Silverback. This will cause a huge amount of resource consumption. 
  • Keep your Connection String ready and proceed with the Next Steps

Adjust Queues

In case you are not utilizing Empirum, or you have EgoSecure Data Protection additionally in place, you should consider modifying your created Queues.

Delete created queues

  • Use a web browser of choice and open: http://localhost:15672
  • Log in with your username and password
  • Navigate to Queues
  • Select the matrix42.empirum.subscription
  • Expand Delete, press Delete Queue, and confirm with OK.

Add additional queues

By default, queues for the Digital Workspace Platform / UUX (Service Store), Empirum, Silverback, EgoSecure and Remote Assitance are created. Additionally, required queues can be created: 

  • Select Queues
  • Press add a new queue
  • Select your previously created Virtual Host, e.g. matrix42
  • Type in matrix42.egocesure.subscription in the name field
  • Click on Message TTL and enter 604.800 in the value field (this is the time in milliseconds how long messages stay in the queue if no one retrieves them)
  • Click Add Queue
  • Select the new queue in the table
  • Expand Bindings
  • Enter the exchange name, i.e. matrix42.suem.topic in the From exchange field
  • Click Bind

Additional Information

Question: Are messages persistent and survive a Server/RabbitMQ Service Restart?

By default, the messages are processed and removed. The default queue setting is non-persistent, and restarting the service will remove all unprocessed messages.

Next Steps