Rabbit Operations

Operations support for RabbitMQ applications

Download .zip Download .tar.gz View on GitHub

Rabbit Operations

Operations support for RabbitMQ applications including integration with popular message bus libraries. Right now it only supports NServiceBus. We are also planning to support Rebus and MassTransit.

The application reads messages from audit and error queues into RavenDB, a document database with excellent indexing capabilities built on Lucene.Net. Message content is automatically indexed for searching. The built-in web front end supports searching and monitors message rates. It also links to the RabbiMQ management console. Future plans include support for trend analysis, tailing, monitoring, heart beating and integration with New Relic and PagerDuty.

Check out our Trello board to see what is in development and what is being planned.

Screen

Prerequisites

Your application should send successfully processed messages to the audit queue and any message that fails processing to the error queue. Popular .NET message bus libraries, like NServiceBus, MassTransit and Rebus either do this by default or can be configured to do so.

Getting Started For Developers

You must have Visual Studio 2015 or Microsoft Build Tools 2015 installed to build the application. Although it currently requires only the .NET 4.5 framework, it uses some C# 6.0 features that require the latest C# compiler

Install psake on your machine. You can get it from the psake repository or install it via Choclatey:

choco install psake

Open a Powershell window and issue the command to build and run tests. If you installed psake from the repository:

invoke-psake

Or, if you installed it via Choclatey:

psake

If you want to build from Visual Studio, you will need to add the following to your nuget.config file:

<packageSources>
   <add key="nuget.org" value="https://www.myget.org/F/southside/" />
</packageSources>

Check out the nuget docs for more information on editing the nuget.config file.

You can start the application either by running RabbitOperations.Collector from Visual Studio or from a Powershell command prompt via psake. If you installed psake via the repository, use:

invoke-psake startCollector

Or, if you installed it from Choclatey:

psake startCollector

Documentation and Release Notes

Documentation is available in the wiki

License

GPL v3

Use of RavenDB

RavenDB is embedded by default. Ayende has graciously agreed to provide a license for this purpose. You can also use an external RavenDB if you like. If you use RavenDB externally, you will have to obtain an appropriate license from their website.

Contributing

Pull requests are welcome. If you want to get involved in the project, there is room for one or two more core contributors. There are many interesting challenges remaining. Please contact tom@cabanski.com for more information.