Skip to main content

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

amqmonitoring-0.2.1.tar.gz (82.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amqmonitoring-0.2.1-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

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

Hashes for amqmonitoring-0.2.1.tar.gz
Algorithm Hash digest
SHA256 57e83823e59587bdccaeb3a8e8001ea2ea6dc41757822981113bd585ad35b33e
MD5 6e13c32795245f5cfa5a992c6c6fca38
BLAKE2b-256 eb0825f482cff57d74496aedafbe5b2ea74ce1498da71bdbde9bb72e282c6654

See more details on using hashes here.

File details

Details for the file amqmonitoring-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for amqmonitoring-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e85ff45b1e449cc406fd83c6f03388c49f3ca05c9840e9123884512ca8bfaf1
MD5 73823ae6be86739f93f457a90ff17224
BLAKE2b-256 aacfb1d376dbd6a38a7ea793ddca34fb141f8ff0636c062a3f783051112705f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page