Awesome Open Source
Awesome Open Source

RabbitMQ Shovel Management Plugin

This was migrated to

This repository has been moved to the main unified RabbitMQ "monorepo", including all open issues. You can find the source under /deps/rabbitmq_shovel_management. All issues have been transferred.


Adds information on shovel status to the management plugin. Build it like any other plugin.

If you have a heterogenous cluster (where the nodes have different plugins installed), this should be installed on the same nodes as the management plugin.


This plugin ships with RabbitMQ. Like all plugins, it must be enabled before it can be used:

rabbitmq-plugins enable rabbitmq_shovel_management


When the plugin is enabled, there will be a Shovel management link under the Admin tab.


The HTTP API adds endpoints for listing, creating, and deleting shovels.

GET /api/shovels[/{vhost}]

Lists all shovels, optionally filtering by Virtual Host.


curl -u guest:guest -v http://localhost:15672/api/shovels/%2f

PUT /api/parameters/shovel/{vhost}/{name}

Creates a shovel, passing in the configuration as JSON in the request body.


Create a file called shovel.json similar to the following, replacing the parameter values as desired:

  "component": "shovel",
  "name": "my-shovel",
  "value": {
    "ack-mode": "on-publish",
    "add-forward-headers": false,
    "delete-after": "never",
    "dest-exchange": null,
    "dest-queue": "dest",
    "dest-uri": "amqp://",
    "prefetch-count": 250,
    "reconnect-delay": 30,
    "src-queue": "source",
    "src-uri": "amqp://"
  "vhost": "/"

Once created, post the file to the HTTP API:

curl -u guest:guest -v -X PUT -H 'Content-Type: application/json' -d @./shovel.json \

Note Either dest_queue OR dest_exchange can be specified in the value stanza of the JSON, but not both.

GET /api/parameters/shovel/{vhost}/{name}

Shows the configurtion parameters for a shovel.


curl -u guest:guest -v http://localhost:15672/api/parameters/shovel/%2F/my-shovel

DELETE /api/parameters/shovel/{vhost}/{name}

Deletes a shovel.


curl -u guest:guest -v -X DELETE http://localhost:15672/api/parameters/shovel/%2F/my-shovel

License and Copyright

Released under the same license as RabbitMQ.

2007-2018 (c) 2007-2020 VMware, Inc. or its affiliates.

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Plugin (113,719
Http (30,179
Makefile (20,992
Rabbitmq (6,253
Rabbitmq Plugin (68
Shovel (21