{"id":14008512,"url":"https://github.com/alicelabs/alicemq","last_synced_at":"2025-07-24T03:33:00.457Z","repository":{"id":37954321,"uuid":"177671526","full_name":"alicelabs/alicemq","owner":"alicelabs","description":"RabbitMQ Visualizer","archived":false,"fork":false,"pushed_at":"2023-07-23T08:33:48.000Z","size":3000,"stargazers_count":122,"open_issues_count":6,"forks_count":15,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-10T11:03:20.579Z","etag":null,"topics":["message-broker","message-broker-analysis","rabbitmq","visualizer"],"latest_commit_sha":null,"homepage":"https://alicelabs.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alicelabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-25T22:03:50.000Z","updated_at":"2024-08-08T14:49:17.000Z","dependencies_parsed_at":"2024-05-01T23:54:41.202Z","dependency_job_id":"cc598eec-320c-4d2f-a663-dcde7f3cecaa","html_url":"https://github.com/alicelabs/alicemq","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicelabs%2Falicemq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicelabs%2Falicemq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicelabs%2Falicemq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicelabs%2Falicemq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alicelabs","download_url":"https://codeload.github.com/alicelabs/alicemq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227410718,"owners_count":17774788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["message-broker","message-broker-analysis","rabbitmq","visualizer"],"created_at":"2024-08-10T11:01:45.388Z","updated_at":"2024-11-30T19:31:12.550Z","avatar_url":"https://github.com/alicelabs.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# AliceMQ - RabbitMQ Visualizer\n\nWe use the RabbitMQ management plugin API to query multiple endpoints: overview, queues, exchanges, bindings, channels - then parse the data and re-pipe it into a D3.js/React app. The app is meant to focus on traffic flowing into the system and show which exchanges are getting hit and how hard.\n\n\n![](alicemq0.gif)\n\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.\n\n### Prerequisites\n\nWe have pre-built packages available for Windows, MacOSX, Linux. Please visit [AliceMQ](https://alicemq.com) download page.\n\nFor MacOSX and Linux platforms, please ensure to have git and npm installed.\n\n### Manual Install\n\nIf you want build your own electron app, please follow the following instruction.\n\n```\ngit clone https://github.com/alicelabs/alicemq.git\ncd alicemq\nnpm run buildapp\n```\nFor Mac and Windows build:\n```\nnpm run buildappwin\nnpm run buildappmac\n```\nOnce the command finishes, please find the executable electron app in its subfolder. The app is specific built for the platform which you are running.\n\nFor Linux:\nWe haven't yet packaged the production build for Linux. You can package it yourself or run it in development mode. \n```\nnpm run app\n```\n\n\n## Testing AliceMQ with your server\n\nTo help you test the app is working correctly with your RabbitMQ server, we provide you with [AliceMQ testing suite](https://github.com/alicelabs/alicemq-test-suite). It is a series of producer and consumer scripts that can simulate all types of RabbitMQ messages: Direct, Topic, Header and Fanout. Please see detailed instruction on its [readme](https://github.com/alicelabs/alicemq-test-suite).\n\n## Troubleshooting\n\n### Web App not Working\n\nSince the current script is built for the electron build, the web app may not work out of the box. Please modify\n\nin ./Clinet/Containers/Main.jsx - Change isWeb false to true \n```javascript\nisWeb: true\n```\nthen run the script\n```javascript\nnpm run web\n```\n\n### Connecting to Cloud Services\nAliceMQ suppports both local and cloud RabbitMQ instance like **AWS**. If you have problem with connection please check:\n* Check internet connectivity.\n* RabbitMQ server is running.\n* Double check username and password to log into RabbitMQ.\n* Ensure RabbitMQ port is correct, open and forward.\n* Still having issues, continue reading below.\n\n### CORS\nWhen accessing the rabbitmq API remotely on a network, you'll need to whitelist your ip to allow for cross origin fetching. Check out this page on how to setup [configure](https://www.rabbitmq.com/management.html#cors) file\n\nIf running on AWS EC2 server:\n* SSH into your EC2 server.\n* Edit your RabbitMQ config file.\n* Edit EC2 security group to open RabbitMQ port in inbound rules.\n\n### Color Legend\n\nIf you'd like to modify the color legend ranges to better suit your RabbitMQ instance's throughput. Two simple modifications need to be made.\n\n## /client/Components/Legend.jsx ##\n```javascript\nlet ranges = [['0', '#bdbdbd'], ['1-50', '#b9f6ca'], ['50-150', '#ffeb3b'], ['150-500', '#f9a825'], ['500-2000', '#ff5722'] , ['\u003e 2000', '#b71c1c']]\n```\n\nThe ranges are static values in the 1st element of the sub arrays\n\n\n## /client/Components/NetworkGraph.jsx ##\n\n```javascript\nfunction setRateColor(rate){\n  let lineColor = '';\n  if (rate === 0) { lineColor = '#bdbdbd' } \n  else if (rate \u003e 0 \u0026\u0026 rate \u003c= 50) { lineColor = '#b9f6ca' }\n  else if (rate \u003e 50 \u0026\u0026 rate \u003c= 150) { lineColor = '#ffeb3b' }\n  else if (rate \u003e 150 \u0026\u0026 rate \u003c= 500) { lineColor = '#f9a825' }\n  else if (rate \u003e 500 \u0026\u0026 rate \u003c= 2000) { lineColor = '#ff5722' }\n  else if (rate \u003e 2000) { lineColor = '#b71c1c' }\n  return lineColor;\n}\n```\n\nBe sure to have the static ranges in the Legend component match in the setRateColor function and you're all set. \n## Built With\n\n* [React](https://reactjs.org/docs/getting-started.html) - Framework used\n* [Electron](https://www.electronjs.org/) - Build cross-platform application\n* [D3](https://github.com/d3/d3/wiki) - Used to draw graphs\n* [RabbitMQ](https://www.rabbitmq.com/documentation.html) - Message broker and underlining technology\n\n## Versioning\n\nv1.0.1\n\n## Authors\n\n[Anthony Valentin](https://github.com/vhsconnect), [Christian Niedermayer](https://github.com/Chris-N), [Parket Allen](https://github.com/csrudy), [Siye Sam Yu](https://github.com/yudataguy)\n\n## License\n\n[Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/)\n\n## Acknowledgments\n\n* [RabbitMQ User Group](https://groups.google.com/forum/#!forum/rabbitmq-users)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falicelabs%2Falicemq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falicelabs%2Falicemq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falicelabs%2Falicemq/lists"}