Skip to content
This repository has been archived by the owner on Nov 16, 2020. It is now read-only.

rabbitmq/rabbitmq-shovel-management

RabbitMQ Shovel Management Plugin

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.

Overview

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.

Installing

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

rabbitmq-plugins enable rabbitmq_shovel_management

Usage

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

HTTP API

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

GET /api/shovels[/{vhost}]

Lists all shovels, optionally filtering by Virtual Host.

Example

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.

Example

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 \
  http://localhost:15672/api/parameters/shovel/%2F/my-shovel

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.

Example

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

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

Deletes a shovel.

Example

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.