---
title: Charmhub | Deploy Rabbitmq Server using Charmhub - The Open Operator Collection
description: Deploy the latest version of Rabbitmq Server on any cloud. An AMQP server
  written in Erlang
url: https://charmhub.io/rabbitmq-server
---

# Rabbitmq Server

[OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

* [OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")
* [Big Data](https://charmhub.io/?filter=big-data)
* [Cloud](https://charmhub.io/?filter=cloud)

Platform:

24.04

23.10

23.04

22.10

22.04

21.10

21.04

20.10

20.04

+2

3.9/stable 299

```
juju deploy rabbitmq-server --channel 3.9/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

# Overview

RabbitMQ is an implementation of AMQP, the emerging standard for high
performance enterprise messaging. The RabbitMQ server is a robust and scalable
implementation of an AMQP broker.

The rabbitmq-server charm deploys RabbitMQ server and provides AMQP services to
those charms that support the rabbitmq interface. The current list of such
charms can be obtained from the [Charm Store](https://jaas.ai/search?requires=rabbitmq) (the
charms officially supported by the OpenStack Charms project are published by
‘openstack-charmers’).

**Important:** This documentation supports version `3.x` of the Juju client.
See the [OpenStack Charm
guide](https://docs.openstack.org/charm-guide/latest/project/support-notes.html#breaking-changes-between-juju-2-9-x-and-3-x) if you are using the `2.9.x` client.

# Usage

## Configuration

This section covers common and/or important configuration options. See file
`config.yaml` for the full list of options, along with their descriptions and
default values. See the [Juju documentation](https://juju.is/docs/configuring-applications) for details
on configuring applications.

#### `min-cluster-size`

The `min-cluster-size` option sets the number of rabbitmq-server units required
to form its cluster. It is best practice to use this option as doing so ensures
that the charm will wait until the cluster is up before accepting relations
from other client applications.

#### `source`

The `source` option sets an alternate software source and can be passed during
or after deployment. The default behaviour is to use the Ubuntu package archive
for the underlying machine series. The most common value is a [UCA](https://wiki.ubuntu.com/OpenStack/CloudArchive) cloud
pocket (e.g. ‘cloud:bionic-train’). In the case of a non-OpenStack project,
there is no guarantee that a candidate will be found in the stated UCA pocket.

> **Note:** Changing the value of this option post-deployment will trigger a
> software upgrade. See [OpenStack upgrade](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/upgrade-openstack.html) in the
> [OpenStack Charms Deployment Guide](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide).

## Deployment

To deploy a single rabbitmq-server unit:

```
juju deploy rabbitmq-server
```

To make use of AMQP services, simply add a relation between rabbitmq-server and
an application that supports the rabbitmq interface. For instance:

```
juju integrate rabbitmq-server:amqp nova-cloud-controller:amqp
```

## Monitoring

To collect RabbitMQ metrics, add a relation between rabbitmq-server and
an application that supports the `scrape` interface. For instance:

```
juju integrate rabbitmq-server:scrape prometheus:scrape
```

> **Note:** The scrape relation is only supported when the RabbitMQ version is >= 3.8.

The charm can be related to a dashboard charm like grafana to view visualization metrics:

```
juju integrate rabbitmq-server:dashboards grafana:dashboards
```

To get alerts of RabbitMQ split-brain events, add a relation between rabbitmq-server and
an application that supports the `prometheus-rules` interface. For instance:

```
juju integrate rabbitmq-server:prometheus-rules prometheus:prometheus-rules
```

## High availability

When more than one unit is deployed the charm will bring up a native RabbitMQ
HA active/active cluster. The `min-cluster-size` option should be used (see
description above).

See [Infrastructure high availability](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-ha.html#rabbitmq) in the [OpenStack Charms
Deployment Guide](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide) for details.

### TLS

Communication between the AMQP message queue and client services (OpenStack
applications) can be TLS-encrypted. There are two methods for managing keys and
certificates:

1. with Vault
2. manually (via charm options)

Vault can set up private keys and server certificates for an application. It
also stores a central CA certificate for the cloud. See the
[vault](https://jaas.ai/vault) charm for more information.

Vault is the recommended method and is what will be covered here.

The private key and server certificate (and its signing) are managed via a
relation made to the vault application:

```
juju integrate rabbitmq-server:certificates vault:certificates
```

## Actions

This section lists Juju [actions](https://jaas.ai/docs/actions) supported by the charm.
Actions allow specific operations to be performed on a per-unit basis.

* `check-queues`
* `cluster-status`
* `complete-cluster-series-upgrade`
* `list-unconsumed-queues`
* `pause`
* `resume`

To display action descriptions run `juju actions --schema rabbitmq-server`. If
the charm is not deployed then see file `actions.yaml`.

# Documentation

The OpenStack Charms project maintains two documentation guides:

* [OpenStack Charm Guide](https://docs.openstack.org/charm-guide): for project information, including development
  and support notes
* [OpenStack Charms Deployment Guide](https://docs.openstack.org/project-deploy-guide/charm-deployment-guide): for charm usage information

# Bugs

For general charm questions refer to the [OpenStack Charm Guide](https://docs.openstack.org/charm-guide).

---

[Help improve this document in the forum](https://discourse.charmhub.io/t/rabbitmq-server-docs-index/10546) ([guidelines](https://discourse.charmhub.io/t/how-to-write-docs-our-documentation-guidelines-for-contributors/1245)). Last updated 3 years ago.
