Introduction
Learn about Arm-based cloud platforms for RabbitMQ
Create an Azure Cobalt 100 virtual machine
Install RabbitMQ on Azure Cobalt 100
Validate RabbitMQ on Azure
Create a firewall rule for RabbitMQ
Create a Google Axion C4A virtual machine
Install RabbitMQ on Google Cloud SUSE VM
Validate RabbitMQ on Google Cloud
RabbitMQ use Case 1 - event processing with Python Workers
RabbitMQ use case 2 - WhatsApp Notification
Next Steps
This section shows you how to validate a working RabbitMQ 4.2.0 installation with Erlang OTP 26 on an Azure Ubuntu Arm64 VM.
All steps use the command line and are suitable for baseline verification.
sudo systemctl status rabbitmq
RabbitMQ depends on Erlang. This step ensures the broker is using Erlang OTP 26.
erl -eval 'io:format("~s~n", [erlang:system_info(system_version)]), halt().' -noshell
Confirm the installed RabbitMQ version.
rabbitmqctl version
List all enabled plugins and confirm that the management plugins are active.
rabbitmq-plugins list -e
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@lpprojectubuntuarm64
|/
[E*] rabbitmq_management 4.2.0
[e*] rabbitmq_management_agent 4.2.0
[e*] rabbitmq_web_dispatch 4.2.0
This confirms that:
Retrieve detailed runtime and resource information for the RabbitMQ node.
rabbitmqctl status
This confirms that:
RabbitMQ requires write access to its configuration directory for plugin management.
sudo mkdir -p /opt/rabbitmq/etc/rabbitmq
sudo chown -R azureuser:azureuser /opt/rabbitmq/etc/rabbitmq
Create an isolated virtual host for baseline testing.
rabbitmqctl add_vhost test_vhost
rabbitmqctl set_permissions -p test_vhost guest ".*" ".*" ".*"
This ensures:
Download the rabbitmqadmin CLI tool from the management endpoint.
wget http://localhost:15672/cli/rabbitmqadmin -O ~/rabbitmqadmin
chmod +x ~/rabbitmqadmin
This CLI is used to perform queue and message operations.
Create a non-durable test queue in the test virtual host.
~/rabbitmqadmin -V test_vhost declare queue name=test durable=false
Publish a sample message to the test queue using the default exchange.
~/rabbitmqadmin -V test_vhost publish \
exchange=amq.default \
routing_key=test \
payload="Hello RabbitMQ"
This validates:
Retrieve and remove the message from the queue.
~/rabbitmqadmin -V test_vhost get queue=test count=1
You should see an output similar to:
+-------------+----------+---------------+----------------+---------------+------------------+------------+-------------+
| routing_key | exchange | message_count | payload | payload_bytes | payload_encoding | properties | redelivered |
+-------------+----------+---------------+----------------+---------------+------------------+------------+-------------+
| test | | 0 | Hello RabbitMQ | 14 | string | | False |
+-------------+----------+---------------+----------------+---------------+------------------+------------+-------------+
This baseline validates a healthy RabbitMQ 4.2.0 deployment running on Erlang/OTP 26 on an Azure Ubuntu Arm64 VM. Core components, plugins, and node health were verified, followed by successful message publish and consume operations.