RabbitMQ exchange monitoring tool with CLI and GUI interfaces
Project description
Advanced Message Queuing Monitoring
A ver simple and silly tool to monitor queues messages received by our fantastic AMQP.
The tool is designed to work reading the traces queue, to enable those traces I recommend following this guide.
Once you have a queue to receive the messages you want to track, then you can run amqmonitoring command to
start monitoring.
Configurations
A brief summary how to configure this tool to connect to your AMQP.
Environment variables
Good method to configure the tool as a daemon process or run by some background process.
| key | Description | Default |
|---|---|---|
| RABBITMQ_HOST | RabbitMQ server host to be connected. | localhost |
| RABBITMQ_PORT | RabbitMQ server port to be connected. | 5672 |
| RABBITMQ_USER | RabbitMQ client user to be logged with. | guest |
| RABBITMQ_PASSWORD | RabbitMQ client password to be logged with. | guest |
And you can run it as RABBITMQ_USER=MyUser amqmonitoring for example,
try to avoid saving password on your terminal history.
Commandline arguments
A rapid method to configure is via arguments. Easiest way to start with this is running the help command.
$ amqmonitoring amqmonitoring --help
usage: amqmonitoring [-h] [-f INSTRUCTIONS_PATH] [-s STORE] [-q QUEUE]
Monitor AMQP traces
options:
-h, --help show this help message and exit
-f INSTRUCTIONS_PATH, --find-by-dict INSTRUCTIONS_PATH
Path to the json instructions
-s STORE, --store STORE
Path where the JSON messages outputs will be stored
-q QUEUE, --queue QUEUE
Name of the queue to listen
And you can run it as amqmonitoring -f examples/instructions_file.json for example,
try to avoid saving password on your terminal history.
Development
Use UV to prepare your environment using uv sync. This will make the venv folder with the python and required
dependencies to start the development.
Run local AMQP
I have prepared a docker-compose.yml ready to run a server for development purposes. Run docker compose up -d
and it will be listening on port 5672 on your machine with the default settings as this tool has.
Mock messages
To help developing this cool you can run .venv/bin/python examples/message_sender.py to mock them.
Enable AMQP traces
Run this docker compose exec rabbitmq rabbitmqctl trace_on and it will be activated,
then go to http://localhost:15672/ and setup the traces to the right queue.
Build
First make sure you are increasing the version number in the pyproject.toml. Then use uv build and you will
see a folder named dist with the package inside.
Publish
Also using uv publish with your own credentials, using token is highly recommended.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amqmonitoring-0.2.1.tar.gz.
File metadata
- Download URL: amqmonitoring-0.2.1.tar.gz
- Upload date:
- Size: 82.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57e83823e59587bdccaeb3a8e8001ea2ea6dc41757822981113bd585ad35b33e
|
|
| MD5 |
6e13c32795245f5cfa5a992c6c6fca38
|
|
| BLAKE2b-256 |
eb0825f482cff57d74496aedafbe5b2ea74ce1498da71bdbde9bb72e282c6654
|
File details
Details for the file amqmonitoring-0.2.1-py3-none-any.whl.
File metadata
- Download URL: amqmonitoring-0.2.1-py3-none-any.whl
- Upload date:
- Size: 37.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e85ff45b1e449cc406fd83c6f03388c49f3ca05c9840e9123884512ca8bfaf1
|
|
| MD5 |
73823ae6be86739f93f457a90ff17224
|
|
| BLAKE2b-256 |
aacfb1d376dbd6a38a7ea793ddca34fb141f8ff0636c062a3f783051112705f2
|