Introduction

VIDIZMO is an Event-Driven system that utilizes RabbitMQ as the broker service for inter-communication between component services.  


For a better understanding of RabbitMQ, consult our article “Understanding RabbitMQ as a Broker Service.” 


Prerequisite

  • This applies exclusively to on-premises VIDIZMO deployments.  
  • Administrator privileges are required to proceed with the configuration. 
  • RabbitMQ requires the Erlang runtime. If Erlang is not installed, the RabbitMQ installer will direct you to the appropriate download page. For more details, refer to the Erlang installation guide here. 

Install RabbitMQ

Download and Install RabbitMQ 

  • Download the RabbitMQ package from the official website. 
  • Follow the installation instructions provided here

Using Docker

  • If you prefer to use Docker, refer to the Docker installation guide here.  

Start and Enable the RabbitMQ Service

  • Open the RabbitMQ Command Prompt from the Start menu. 
  • Use the cd command to change the directory. For example:
C:\Program Files\RabbitMQ Server\rabbitmq_server-<version>\sbin 

Enable the RabbitMQ Management Plugin

  • The management plugin provides an HTTP-based API and web-based UI for managing RabbitMQ. 
  • Execute the following command in the command prompt:
rabbitmq-plugins enable rabbitmq_management 


Create a RabbitMQ User

  • Add a New User. 
Replace [username] and [password] with your desired credentials. 
rabbitmqctl add_user [username] [password] 
  • Set Permissions for the New User.
rabbitmqctl set_permissions -p / [username] ".*" ".*" ".*" 
  • Set Administrator Tag for the User (optional, but recommended for management purposes).
rabbitmqctl set_user_tags [username] administrator 


Configure Firewall (If Applicable)

Ensure that the firewall allows traffic on the required ports. Allow Inbound Traffic on the Following TCP Ports in Windows Firewall: 

  • 5672 (AMQP) 
  • 15672 (Management)


Verify RabbitMQ Installation

  • Access the RabbitMQ management console in your web browser. 
  • Enter URL
 http://your_server_ip:15672
  • Log in with the username and password you created. 


By following these steps, you can successfully install and configure RabbitMQ on your Windows machine. If you are using a different operating system, you can find further details and troubleshooting here. 

 

Troubleshooting 

  • If RabbitMQ is not running, first check the status of RabbitMQ on a Windows machine. In the command prompt, run the following command to check the status of RabbitMQ:  


rabbitmqctl.bat status  

Then start the RabbitMQ service using the following command:  


rabbitmq-service.bat start

If you encounter issues finding rabbitmqctl.bat, ensure RabbitMQ is correctly installed and verify the path. 


  • Consider adding the RabbitMQ 'sbin' directory to your system's PATH environment variable for easier access. 


Refer to this detailed troubleshooting guide for more information.


Configure RabbitMQ in the VIDIZMO Portal

To configure broker service in the VIDIZMO application, please follow the instructions given below:   


Step-1. Login VIDIZMO application with the Administrator user.


Step-2. Go to Navigation Menu > Control Panel.



 Step-3. Application Configuration > VIDIZMO Runtime Configuration and click ‘Edit’ to change/update the existing config.



Step-4. Select your Event System as RabbitMQ and enter the connection information as needed, i.e., IPv4 address of your RabbitMQ server, username and password of your RabbitMQ administrator account, and AMQP port configured in your RabbitMQ server. 




Step-5. Click ‘Update’ to update the latest changes in the system.


Application Configuration and Component Services 

This section provides information about VIDIZMO-related configurations that you may need to investigate in case of issues. 


Distributed Run-Time Config 

The ‘Application Configuration’ portion in your VIDIZMO app includes the ‘Distributed Run Time Config’ section, where you would configure the Endpoints needed to establish a connection with the broker service. The application may run into unexpected issues if the Endpoints are not specified correctly. Make sure the correct Connection String is added with all VIDIZMO services in the ‘Distributed Run Time Config’ section. The example is shown below: 


VIDIZMO Component Services

VIDIZMO uses different component services that run in the background to allow the application to function. The VIDIZMO application may run into issues when one or more services are in a stopped state.


When one or more VIDIZMO services are in a stopped state, it can cause the broker service to stop relaying messages between component services. At this point, you will see the RabbitMQ message queue being piled up (see the count).


Please make sure VIDIZMO services are in a running state on the application and encoder servers. See the below example: