Skip to main content
Matrix42 Self-Service Help Center

Service Bus I: RabbitMQ

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 Secure Unified Endpoint Management
  • Select Secure Unified Endpoint Management (UUX for SUEM)
  • Locate the Current Release Section and select Download UUX for SUEM
  • Download the latest Matrix42 Service Bus Rabbit MQ package
  • Extract your RabbitMQ Installation Package

RabbitMQ Installation Package content

The current RabbitMQ getting started package contains:

  • Erlang OTP 24.0
    • TTP is a set of Erlang libraries and design principles providing middle ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools. It is a pre-requisite for the RabbitMQ server
  • RabbitMQ Server 3.9.5 for 64bit Windows system
  • Matrix42 CreateRabbitMqExchangeAndQueues.ps1 PowerShell script

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
15672 HTTP API clients, management UI and 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.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.4.10.1.exe
  • Confirm with Yes
  • Wait until all required packages will be installed
  • When you get asked if you want to configure RabbitMQ now, 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.

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
Service Store Queue Name matrix42.uux.subscription
Empirum Queue Name matrix42.empirum.subscription
Silverback Queue Name  matrix42.silverback.subscription

Change your guest password

  • Navigate to Admin
  • Select your guest account
  • Expand Update this user
  • Enter a new password, e.g. Pa$$w0rd
  • Confirm your password, e.g. Pa$$w0rd
  • Press Update user

You can also delete the guest user as this user must only be used during installation from and to localhost (https://www.rabbitmq.com/access-control.html).

Additional Notes and Next Steps

  • In case you are not using Empirum 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 additionally EgoSecure Data Protection in place, you should consider to modify your created Queues.

Delete created queues

  • Use a web browser of choice and open: http://localhost:15672
  • Login 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 Unified User Experience (Service Store), Empirum and Silverback are created. Additionally required queues can be created, e.g. if you are using EgoSecure Data Protection: 

  • 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 2419200000 in the value field (this is the time in milliseconds how long messages stays 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

Next Steps

  • Was this article helpful?