Skip to content

Commit 8886389

Browse files
committed
Enable "rabbitmq_prometheus" in RabbitMQ 3.8 by default
1 parent 99dc809 commit 8886389

File tree

11 files changed

+69
-24
lines changed

11 files changed

+69
-24
lines changed

3.8-rc/alpine/Dockerfile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq
174174
RUN set -eux; \
175175
addgroup -g 101 -S rabbitmq; \
176176
adduser -u 100 -S -h "$RABBITMQ_DATA_DIR" -G rabbitmq rabbitmq; \
177-
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
178-
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
179-
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
177+
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
178+
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
179+
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
180180
ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
181181

182182
# Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
@@ -230,6 +230,11 @@ RUN set -eux; \
230230
# no stale cookies
231231
rm "$RABBITMQ_DATA_DIR/.erlang.cookie"
232232

233+
# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419)
234+
RUN set -eux; \
235+
rabbitmq-plugins enable --offline rabbitmq_prometheus; \
236+
echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
237+
233238
# Added for backwards compatibility - users can simply COPY custom plugins to /plugins
234239
RUN ln -sf /opt/rabbitmq/plugins /plugins
235240

@@ -246,5 +251,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
246251
COPY docker-entrypoint.sh /usr/local/bin/
247252
ENTRYPOINT ["docker-entrypoint.sh"]
248253

249-
EXPOSE 4369 5671 5672 25672
254+
EXPOSE 4369 5671 5672 15691 15692 25672
250255
CMD ["rabbitmq-server"]

3.8-rc/alpine/management/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ FROM rabbitmq:3.8-rc-alpine
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default)
6+
RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
7+
58
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
69
# see https://github.com/docker-library/rabbitmq/issues/207
710
RUN set -eux; \

3.8-rc/ubuntu/Dockerfile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq
185185
RUN set -eux; \
186186
groupadd --gid 999 --system rabbitmq; \
187187
useradd --uid 999 --system --home-dir "$RABBITMQ_DATA_DIR" --gid rabbitmq rabbitmq; \
188-
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
189-
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
190-
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
188+
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
189+
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
190+
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
191191
ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
192192

193193
# Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
@@ -248,6 +248,11 @@ RUN set -eux; \
248248
# no stale cookies
249249
rm "$RABBITMQ_DATA_DIR/.erlang.cookie"
250250

251+
# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419)
252+
RUN set -eux; \
253+
rabbitmq-plugins enable --offline rabbitmq_prometheus; \
254+
echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
255+
251256
# Added for backwards compatibility - users can simply COPY custom plugins to /plugins
252257
RUN ln -sf /opt/rabbitmq/plugins /plugins
253258

@@ -264,5 +269,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
264269
COPY docker-entrypoint.sh /usr/local/bin/
265270
ENTRYPOINT ["docker-entrypoint.sh"]
266271

267-
EXPOSE 4369 5671 5672 25672
272+
EXPOSE 4369 5671 5672 15691 15692 25672
268273
CMD ["rabbitmq-server"]

3.8-rc/ubuntu/management/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ FROM rabbitmq:3.8-rc
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default)
6+
RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
7+
58
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
69
# see https://github.com/docker-library/rabbitmq/issues/207
710
RUN set -eux; \

3.8/alpine/Dockerfile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq
174174
RUN set -eux; \
175175
addgroup -g 101 -S rabbitmq; \
176176
adduser -u 100 -S -h "$RABBITMQ_DATA_DIR" -G rabbitmq rabbitmq; \
177-
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
178-
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
179-
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
177+
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
178+
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
179+
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
180180
ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
181181

182182
# Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
@@ -230,6 +230,11 @@ RUN set -eux; \
230230
# no stale cookies
231231
rm "$RABBITMQ_DATA_DIR/.erlang.cookie"
232232

233+
# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419)
234+
RUN set -eux; \
235+
rabbitmq-plugins enable --offline rabbitmq_prometheus; \
236+
echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
237+
233238
# Added for backwards compatibility - users can simply COPY custom plugins to /plugins
234239
RUN ln -sf /opt/rabbitmq/plugins /plugins
235240

@@ -246,5 +251,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
246251
COPY docker-entrypoint.sh /usr/local/bin/
247252
ENTRYPOINT ["docker-entrypoint.sh"]
248253

249-
EXPOSE 4369 5671 5672 25672
254+
EXPOSE 4369 5671 5672 15691 15692 25672
250255
CMD ["rabbitmq-server"]

3.8/alpine/management/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ FROM rabbitmq:3.8-alpine
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default)
6+
RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
7+
58
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
69
# see https://github.com/docker-library/rabbitmq/issues/207
710
RUN set -eux; \

3.8/ubuntu/Dockerfile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq
185185
RUN set -eux; \
186186
groupadd --gid 999 --system rabbitmq; \
187187
useradd --uid 999 --system --home-dir "$RABBITMQ_DATA_DIR" --gid rabbitmq rabbitmq; \
188-
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
189-
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
190-
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
188+
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
189+
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
190+
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
191191
ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
192192

193193
# Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
@@ -248,6 +248,11 @@ RUN set -eux; \
248248
# no stale cookies
249249
rm "$RABBITMQ_DATA_DIR/.erlang.cookie"
250250

251+
# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419)
252+
RUN set -eux; \
253+
rabbitmq-plugins enable --offline rabbitmq_prometheus; \
254+
echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
255+
251256
# Added for backwards compatibility - users can simply COPY custom plugins to /plugins
252257
RUN ln -sf /opt/rabbitmq/plugins /plugins
253258

@@ -264,5 +269,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
264269
COPY docker-entrypoint.sh /usr/local/bin/
265270
ENTRYPOINT ["docker-entrypoint.sh"]
266271

267-
EXPOSE 4369 5671 5672 25672
272+
EXPOSE 4369 5671 5672 15691 15692 25672
268273
CMD ["rabbitmq-server"]

3.8/ubuntu/management/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ FROM rabbitmq:3.8
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default)
6+
RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
7+
58
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
69
# see https://github.com/docker-library/rabbitmq/issues/207
710
RUN set -eux; \

Dockerfile-alpine.template

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq
174174
RUN set -eux; \
175175
addgroup -g 101 -S rabbitmq; \
176176
adduser -u 100 -S -h "$RABBITMQ_DATA_DIR" -G rabbitmq rabbitmq; \
177-
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
178-
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
179-
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
177+
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
178+
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
179+
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
180180
ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
181181

182182
# Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
@@ -230,6 +230,11 @@ RUN set -eux; \
230230
# no stale cookies
231231
rm "$RABBITMQ_DATA_DIR/.erlang.cookie"
232232

233+
# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419)
234+
RUN set -eux; \
235+
rabbitmq-plugins enable --offline rabbitmq_prometheus; \
236+
echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
237+
233238
# Added for backwards compatibility - users can simply COPY custom plugins to /plugins
234239
RUN ln -sf /opt/rabbitmq/plugins /plugins
235240

@@ -246,5 +251,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
246251
COPY docker-entrypoint.sh /usr/local/bin/
247252
ENTRYPOINT ["docker-entrypoint.sh"]
248253

249-
EXPOSE 4369 5671 5672 25672
254+
EXPOSE 4369 5671 5672 15691 15692 25672
250255
CMD ["rabbitmq-server"]

Dockerfile-management.template

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ FROM %%FROM%%
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default)
6+
RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
7+
58
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
69
# see https://github.com/docker-library/rabbitmq/issues/207
710
RUN set -eux; \

Dockerfile-ubuntu.template

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq
185185
RUN set -eux; \
186186
groupadd --gid 999 --system rabbitmq; \
187187
useradd --uid 999 --system --home-dir "$RABBITMQ_DATA_DIR" --gid rabbitmq rabbitmq; \
188-
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
189-
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
190-
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \
188+
mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
189+
chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
190+
chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \
191191
ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
192192

193193
# Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
@@ -248,6 +248,11 @@ RUN set -eux; \
248248
# no stale cookies
249249
rm "$RABBITMQ_DATA_DIR/.erlang.cookie"
250250

251+
# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419)
252+
RUN set -eux; \
253+
rabbitmq-plugins enable --offline rabbitmq_prometheus; \
254+
echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
255+
251256
# Added for backwards compatibility - users can simply COPY custom plugins to /plugins
252257
RUN ln -sf /opt/rabbitmq/plugins /plugins
253258

@@ -264,5 +269,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
264269
COPY docker-entrypoint.sh /usr/local/bin/
265270
ENTRYPOINT ["docker-entrypoint.sh"]
266271

267-
EXPOSE 4369 5671 5672 25672
272+
EXPOSE 4369 5671 5672 15691 15692 25672
268273
CMD ["rabbitmq-server"]

0 commit comments

Comments
 (0)