The Message Bus is the message system for Moogsoft AIOps, implemented with RabbitMQ. By default, AIOps installs with a single RabbitMQ broker running on the same computer as the other AIOps components (LAMs, moogfarmd, the Moolets, etc.). You can also configure Moogsoft AIOps as a distributed system with multiple RabbitMQ broker hosts.
If you have any trouble with your deployment see Troubleshooting.
Depending on the systems you monitor, you can increase the performance and reliability of your Moogsoft AIOps deployment with distributed RabbitMQ brokers running on different hosts. Execute the following procedure on each RabbitMQ broker host to install a distributed messaging system:
Install the Erlang package built by RabbitMQ:
Set up RabbitMQ yum repository:
$MOOGSOFT_HOME/etc/cots/rabbitmq/rabbitmq.configand add it to the following location on each RabbitMQ broker host:
Run the following commands:
Create a new zone (a RabbitMQ "vhost") on each remote RabbitMQ broker and set the permissions for the default user:
Edit the "
mooms" section in
system.confon the Moogsoft AIOps host system, to point to the correct IP addresses and ports (two specified in the example below):
Cluster Message Bus Brokers
The Message Bus broker is a logical grouping containing one or more Erlang nodes each running RabbitMQ and sharing vhosts, users, queues etc. If you have multiple RabbitMQ brokers, you should run them in a cluster.
For more information about broker clustering, refer to the RabbitMQ documentation on clustering.
Enable Queue Mirroring
As part of a Moogsoft AIOps High Availability (HA) deployment that employs message persistence, you must set up mirroring for the relevant durable queues across all nodes in a RabbitMQ cluster.
To enable queue mirroring, run the following command from any host running a broker in the RabbitMQ cluster:
<zone>, specify the zone you used when you initialized your system. For example:
This command configures mirroring for all the *.HA queues across all RabbitMQ brokers in the cluster.
Run the following command from any host running a broker in the RabbitMQ cluster to verify the policy is enabled:
For more information about queue mirroring, refer to the RabbitMQ docs.