VisionMQ is an observability tool for the message broker, RabbitMQ. Using Vision you'll be able to model and display micro-service applications, tracking overall health of messaging queues, successful deliveries and network pain points.
To read more about VisionMQ's background, read our medium article!
VisionMQ is in early stages of development. Please let us know of any questions or concerns. You are more than welcome to open issues or pull requests to contribute to the growth of the project. This was built for the RabbitMQ community and we want it to be a helpful tool!
To begin, you will be downloading RabbitMQ and Prometheus. If these are already on your system, please skip the relevant sections.
The following instructions are for a MacOS system, we will be updating this README for other OS soon.
git clone https://github.com/oslabs-beta/VisionMQ.git
Please add the following line to your configuration file:
management.cors.allow_origins.1 = *
Please follow the instructions at the following link to download RabbitMQ:
https://www.rabbitmq.com/download.html
We used homebrew
and this is how we did it:
- Download homebrew if you don’t have it on your system: https://brew.sh/
- Update homebrew if needed:
brew update
brew install rabbitmq
(this might take a second…)
You will also have to move the config file, located in the top level of this repo titled rabbitmq.conf
to the RabbitMQ config filepath.
You can do this with the following steps:
- Navigate to the VisionMQ directory that you cloned from this github page.
Move the config file: mv ./rabbitmq.conf *<file path>*
-
The file path is:
cd /usr/local/opt/rabbitmq/sbin
for Intel Macscd /opt/homebrew/etc/
for Apple Silicon Macs
Enable RabbitMQ Management API:
-
Locate the sbin folder with in the following route:
/usr/local/Cellar/rabbmitmq/*<version>*/sbin
for Intel Macs/opt/homebrew/opt/rabbitmq/sbin
for Apple Silicon Macs
Enable Management API:
./rabbitmq-plugins enable rabbitmq_management
Enable Prometheus for RabbitMQ:
./rabbitmq-plugins enable rabbitmq_prometheus
Restart RabbitMQ:
brew services restart rabbitmq
Download Prometheus: https://prometheus.io/download/
- Click your respective OS (Darwin for Mac)
Run Prometheus:
-
Click prometheus.exe to open it (if it fails to run, make sure to enable it as a developer in your security settings)
-
Move the code from the
prometheus.yml
file from this repository into your YML file for your local instance of Prometheus by running:mv ./prometheus.yml *<file path>*
-
If you already have Prometheus, copy the following into your existing YML file, as an element into the scraped_configs array:
- job_name: 'rabbit-per' static_configs: - targets: ['localhost:15692'] metrics_path: '/metrics/per-object'
-
Start or restart your local instance of Prometheus.
- By default, credentials are assumed to be the default RabbitMQ guest/guest.
- If yours are different, search for "guest" and replace with your own username and password.
- Run the following commands to run your local instance of VisionMQ
npm install
npm run build
npm run dev
- You will now see an instance available on localhost:/8080.