forked from aaronfeng/trixx
-
Notifications
You must be signed in to change notification settings - Fork 1
The goal of Trixx is to build an administration and monitoring tool for RabbitMQ.
License
eichert12/trixx
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
"Yo rabbit, Trixx are for hackers" The goal of Trixx is to build an administration and monitoring tool for RabbitMQ. Trixx is written in Clojure and, therefore, is available for all languages that run on JVM. A web-service layer has been added around core Trixx that returns JSON. This enable easy consumption for non-JVM based languages. Trixx Web Management Console is written in Ruby and should be JRuby compatible. Features of Trixx: * add exchange * delete exchange * list exchanges * add queue * delete queue * list queues * add binding * list bindings * stop app * start app * reset * add vhost * delete vhost * list vhosts * add user * delete user * list users * list connections * set permissions * clear permissions * list vhost permissions * list user permissions Currently, there is no user interface associated with Trixx, but the eventual goal is to provide a nice web interface (hopefully in the next few weeks). Also, the core code is likely to change drastically in the next few months because of heavy development. At the moment, all the features provided by Trixx are also provided by rabbitmqctl command line utility, which ships with RabbitMQ. So you can think of the core of Trixx as an API around rabbitmqctl for JVM languages. Trixx was started as an experiment to learn more about Clojure and RabbitMQ. During my experiment, many people expressed interest in such a tool. So I am making this freely available in hopes that people will find it useful and possibly contribute to the project. I also wrote a Scala version of Trixx for the same reason. However, I will probably only continue the development only with the Clojure version. But if you are interested in building out the Scala version please let me know. I'll include the source in a contrib folder for anyone that is interested. Trixx requires RabbitMQ Java client and RabbitMQ broker from the hg repository, changeset: 329:f4073af3d546 and changeset: 1054:fce2dad390ee respectively. However, some features might work with the released version of the broker. For example, the ACL feature is only in trunk version of the broker at this time, so attempts to use permissions related functionalities in Trixx will result in error. 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. You'll have to have Erlang installed so it can be built. RabbitMQ will get built by the compile-rabbit-server target. 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: http://localhost:8080/users http://localhost:8080/exchanges http://localhost:8080/queues http://localhost:8080/connections http://localhost:8080/bindings * There are more operations available, but cannot be queried in the browser. Use Web Management Console to explore these features. The trixx server is a web-services interface to the administrative features provided by the trixx library which returns JSON. To run the Ruby Web Management Console, use ant run-www This runs on http://localhost:3000/ http://localhost:3000/users - list all users http://localhost:3000/users/new - add a new user http://localhost:3000/users/guest/edit - edit user "guest" http://localhost:3000/users/guest - delete user when DELETE http request is used http://localhost:3000/exchanges - list all exchanges http://localhost:3000/queues - list all queues http://localhost:3000/bindings - list all bindings http://localhost:3000/connections - list all connections http://localhost:3000/rabbit - stop, start and reset application * More features coming soon. 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: [email protected] 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 0
No packages published
Languages
- Erlang 72.8%
- Ruby 13.2%
- Clojure 4.0%
- Scala 3.7%
- Python 2.8%
- Perl 2.6%
- Other 0.9%