Skip to content

aaronfeng/trixx

Repository files navigation

"Yo rabbit, Trixx are for hackers"

**************************************************************************************
ATTENTION:

  I am actually deprecating most of this project due to lack of time.  
Trixx as it stands right now, consists of 3 componments: web, service and Erlang interop.
I am removing everything except the Erlang interop which is written in Clojure.
The Clojure part seems to be working fine, and can serve as an example to anyone
interested talking to Erlang from the Java via JInterface.

If you want to see what the monitoring interface looked like before I removed it,
feel free to fetch it from git history.

If anyone is interested in taking over the project, please fork it.

**************************************************************************************

The goal of Trixx is to build an administration and monitoring tool for RabbitMQ.
Trixx consists of 3 componments: Trixx web, Trixx service, and Trixx Erlang.

Trixx Erlang is used to communicate with Erlang nodes to extract RabbitMQ information.  
Trixx service returns RabbitMQ information as JSON.  Trixx web consumes JSON and renders 
the administration interface.

Features of Trixx:

* All the features of rabbitmqctl + more via a web interface
* User authentication
* More coming soon

Since Trixx directly communicates with Erlang nodes, it requires JInterface.  Trixx
is using Erlang 6.5 at the time of this writing.

Building
--------------------------------------------------------------------------------
To build from source:

  ant fetch-deps compile-rabbit-server jar

Note that we've included a specific version of RabbitMQ at this time. Erlang must be 
installed so it can be built.  RabbitMQ will be built by the compile-rabbit-server target.  
To compile rabbit server Python 2.5 or greater must be installed along with simplejson.py.

Then in separate terminals, first run the rabbit server:

  ant run-rabbit

Then the trixx server:

  ant run-trixx

Open your browser to any of the following urls to incoming JSON:

   GET    http://localhost:8080/exchanges/:vhost         - :vhost is optional, default to "/"  
   POST   http://localhost:8080/exchanges                - params: user, password, name, type, vhost, durable
   GET    http://localhost:8080/queues/:vhost
   POST   http://localhost:8080/queues                   - params: user, password, name, vhost, durable
   GET    http://localhost:8080/bindings/:vhost
   GET    http://localhost:8080/vhosts
   POST   http://localhost:8080/vhosts                   - params: name
   GET    http://localhost:8080/connections
   GET    http://localhost:8080/users/:user/permissions  - :user is the rabbit user name

   GET    http://localhost:8080/users
   PUT    http://localhost:8080/users                    - params: name, vhost, config_permission
                                                                   write_permission, read_permission
   POST   http://localhost:8080/users                    - params: name, password, vhost, config_permission
                                                                   write_permission, read_permission
   DELETE http://localhost:8080/users/:user

   GET    http://localhost:8080/rabbit/status	
   PUT    http://localhost:8080/rabbit/start
   PUT    http://localhost:8080/rabbit/stop
   PUT    http://localhost:8080/rabbit/reset

   POST   http://localhost:8080/sessions/authenticate    - parmas: name, password

To run the Ruby Web Management Console:

  ant run-www

Navigate to http://localhost:3000/ and login with RabbitMQ user/password.

Dependencies
--------------------------------------------------------------------------------

We are making an effort to ensure that Trixx and its dependencies are java 1.5
compatible.  If you are working on Trixx and would like to submit changes back
to the core repository, please ensure that your code is 1.5 compatible.


Contact
--------------------------------------------------------------------------------
If you have any questions/problems/suggestions with Trixx I can be contacted 
in the following ways:

Email: aaron.feng.blog@gmail.com
Twitter: aaronfeng
Blog: leftrightfold.com

About

The goal of Trixx is to build an administration and monitoring tool for RabbitMQ.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published