RabbitMQ is a messaging broker service which gives applications a common platform to send and receive messages. The messages themselves land in a queue ready for another application to retrieve.
In this post I will be setting up RabbitMQ and connecting it to vCloud Director. This is required if you have a multi-cell environment configured as the cells will use this communicate system notifications and updates etc. Another use case is when you are deploying the vRealize Tenant App for vCloud Director.
In a previous post I walked through setting up the first stage which is the base install of vRealize Operations Manager 7. So this post will cover the RabbitMQ requirements of the vRealize Tenant App 2.1.
If you are using this guide to just connect RabbitMQ to vCloud Director then the process is the same.
First off I have deployed a basic Centos 7 VM and I have given it a Name and IP Address. Then once it was at the login prompt I connected to the IP using putty.
So to get started we need to switch over to the root user
Type su and hit enter to put the root password in
Then make sure the system is up to date, to do this run the following command and let it complete,
yum -y update
Next we need to install Erlang which is one of RabbitMQ’s dependencies,
yum install epel-release and type Y to continue
Then run the following command,
yum install erlang when prompted press Y to continue
Now let’s start downloading the package to install,
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el6.noarch.rpm
Then it’s time to import the RabbitMQ key
rpm –import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
Next we can run the following command to install RabbitMQ
yum install rabbitmq-server-3.6.15-1.el6.noarch.rpm
Then we need to allow SELinux to enable the RabbitMQ Service,
setsebool -P nis_enabled 1
Start and Enable the RabbitMQ Services,
systemctl start rabbitmq-server
systemctl enable. rabbitmq-server
Now it’s time to enable the RabbitMQ management console,
rabbitmq-plugins enable rabbitmq_management
Then modify the ownership of the RabbitMQ Directory,
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
Create a new user account called rabbitadmin and change password123 to your secure password,
rabbitmqctl add_user rabbitadmin password123
Enable access for the user and set the corresponding permissions,
rabbitmqctl set_user_tags rabbitadmin administrator
Then enter the following,
rabbitmqctl set_permissions -p / rabbitadmin “.*” “.*” “.*”
Allow the following firewall ports,
firewall-cmd –permanent –add-port=4369/tcp
firewall-cmd –permanent –add-port=25672/tcp
firewall-cmd –permanent –add-port=5671-5672/tcp
firewall-cmd –permanent –add-port=61613-61614/tcp
firewall-cmd –permanent –add-port=8883/tcp
firewall-cmd –permanent –add-port=15672/tcp
Once entered it’s time to reload the firewall
firewall-cmd –reload
Then launch the web browser and browse to the IP or DNS name on port 15672
The username will be rabbitadmin and the password we set earlier
The following screen should now be displayed
Now let’s configure vCloud Director
Login to vCloud Director as a system administrator and then click on the Administration tab
Expand System Settings and then click on Extensibility from the left hand menu
Next we need to tick Enable Notifications
Enter the RabbitMQ host details in the first box
Leave the default settings for AMQP Port, Exchange, vHost, Prefix and SSL options.
Then enter the Username and Password
Once you have entered the information above click on Test AMQP Connection. You should see the following box
Click OK and then click Apply to save the settings.
If you look back in RabbitMQ and check the Exchanges Tab you will notice that the new vCloud Director entries have been created.
Then again in the Queues Tab, new entries will be listed for vCloud Director
RabbitMQ is now installed and connected to vCloud Director. Keep a look out for my next post covering the install and configuration of the vRealize Tenant App for vCloud Director.
As always use the subscribe box above for new post notifications and follow me on twitter @steveonofaro