A Swiss Army knife CLI tool for RabbitMQ that taps, publishes, subscribes to messages, and manages broker topology.
Rabtap is a Swiss Army knife CLI tool for RabbitMQ that enables wire tapping, message publishing/subscribing, broker inspection, and queue/exchange management. It solves the problem of monitoring and debugging RabbitMQ brokers without disrupting live message flow, providing a non-intrusive way to analyze and manipulate message traffic.
Developers, DevOps engineers, and system administrators working with RabbitMQ who need to debug, monitor, or manage message brokers in development, testing, or production environments.
Developers choose Rabtap because it combines multiple RabbitMQ utilities into a single, dependency-free binary with powerful filtering capabilities, message recording/replay features, and support for complex operations like multi-broker connections and topology visualization.
RabbitMQ wire tap and swiss army knife
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines wire tapping, broker inspection, message recording/replay, and queue/exchange management into a single tool, covering most RabbitMQ operational needs as evidenced by commands like 'tap', 'info', and 'pub'.
Statically linked single binary with no runtime dependencies, making it easy to deploy and run across Linux, Windows, and Mac, as highlighted in the installation section.
Uses Expr language for flexible filtering of messages and broker elements, allowing precise focus, such as filtering by routing key or JSON payload content in 'sub' and 'tap' commands.
Connects to multiple RabbitMQ brokers simultaneously for cross-instance operations, enabling taps across different brokers in one command, as shown in the examples.
Lacks a graphical user interface, which may be less accessible for users accustomed to web-based tools like RabbitMQ's management plugin, limiting visual debugging.
Filtering requires learning the Expr language, which can be steep for casual users, and the README notes a syntax change from govaluate to Expr, potentially causing confusion.
Specifically designed for RabbitMQ, so it cannot be used with other message brokers like Apache Kafka or AWS SQS, restricting its utility in heterogeneous environments.
Focuses on ad-hoc operations rather than continuous monitoring; users must integrate other tools for alerting and long-term metrics, as it lacks features like dashboards.