Skip to content

Commit 30a892f

Browse files
committed
Version images with the docs
[Why] Currently, images are all in a global directory, `static/img`. Docusaurus allows to colocate images (and files in general) with the doc that uses them. This allows to version them alongside the doc itself. Thus, if we need to update an image for a new version of RabbitMQ, we can do that without affecting older versions. [How] To have other files "attached" to a document, it has to be a directory. The document is named `index.md` inside this directory. For example: docs/feature-flags/index.md The URL remains the same; `/docs/feature-flags` in this example. Then images are moves to that directory: docs/feature-flags/index.md docs/feature-flags/image.svg Finally, images are referenced relatively to `index.md`: ![](./image.svg) All unused images were deleted in the process.
1 parent 8350c7b commit 30a892f

File tree

152 files changed

+331
-83611
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+331
-83611
lines changed

docs/channels.md renamed to docs/channels/index.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,18 +302,24 @@ Channel leaks eventually exhaust the node (or multiple target nodes) of RAM and
302302
Management UI's Overview tab lists a total number of channels in all virtual hosts the current
303303
user has access to:
304304

305-
<img class="screenshot" src="/img/monitoring/channels/mgmt-ui-global-channel-count.png" alt="Global channel count in management UI" title="Global channel count in management UI" />
305+
<figure>
306+
![mgmt-ui-global-channel-count.png](./mgmt-ui-global-channel-count.png)
307+
</figure>
306308

307309
To inspect the current number of channels on a connection as well as the per-connection channel limit, navigate
308310
to the Connections tab and enable the relevant columns if they are not displayed:
309311

310-
<img class="screenshot" src="/img/monitoring/channels/mgmt-ui-per-connection-channel-max-and-count.png" alt="Per connection channel count in management UI" title="Per connection channel count in management UI" />
312+
<figure>
313+
![Per connection channel count in management UI](./mgmt-ui-per-connection-channel-max-and-count.png)
314+
</figure>
311315

312316
Overview and individual node pages provide a chart of channel churn rate as of [RabbitMQ 3.7.9](/release-information).
313317
If the rate of channel open operations is consistently higher than that of channel close operations,
314318
this is evidence of a channel leak in one of the applications:
315319

316-
<img class="screenshot" src="/img/monitoring/channels/mgmt-ui-channel-count-growth.png" alt="Channel count growth in management UI" title="Channel count growth in management UI" />
320+
<figure>
321+
![Channel count growth in management UI](./mgmt-ui-channel-count-growth.png)
322+
</figure>
317323

318324
To find out what connection leaks channels, inspect per-connection channel count as demonstrated in this guide.
319325

@@ -331,12 +337,16 @@ long lived channels should be used instead when possible.
331337
Below is a chart that demonstrates a fairly low channel churn with a virtually identical number of channel open and closed
332338
in the given period of time:
333339

334-
<img class="screenshot" src="/img/monitoring/channels/mgmt-ui-node-channel-churn.png" alt="Node channel churn in management UI" title="Node channel churn in management UI" />
340+
<figure>
341+
![Node channel churn in management UI](./mgmt-ui-node-channel-churn.png)
342+
</figure>
335343

336344
While connection and disconnection rates are system-specific, rates consistently above 100/second likely indicate a suboptimal
337345
connection management by one or more applications and usually are worth investigating.
338346

339-
<img class="screenshot" src="/img/monitoring/channels/mgmt-ui-high-channel-churn.png" alt="High channel churn in management UI" title="High channel churn in management UI" />
347+
<figure>
348+
![High channel churn in management UI](./mgmt-ui-high-channel-churn.png)
349+
</figure>
340350

341351
Note that some clients and runtimes (notably PHP) do not use long-lived connections and high connection
342352
churn rates are expected from them unless a [specialized proxy is used](https://github.com/cloudamqp/amqproxy).
@@ -346,7 +356,9 @@ churn rates are expected from them unless a [specialized proxy is used](https://
346356
To inspect channels in the management UI, navigate to the Channels tab and add or remove columns
347357
as needed:
348358

349-
<img class="screenshot" src="/img/monitoring/channels/mgmt-ui-channel-list.png" alt="High channel churn in management UI" title="High channel churn in management UI" />
359+
<figure>
360+
![High channel churn in management UI](./mgmt-ui-channel-list.png)
361+
</figure>
350362

351363
### Inspecting Channels and Their State Using CLI Tools {#inspect-using-cli-tools}
352364

docs/connections.md renamed to docs/connections/index.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -208,19 +208,25 @@ connections also increases node's memory consumption.
208208

209209
[Management UI](./management) provides a chart of the total number of connections opened cluster-wide:
210210

211-
<img class="screenshot" src="/img/monitoring/connections/mgmt-ui-global-connection-count.png" alt="Global connection count in management UI" title="Global connection count in management UI" />
211+
<figure>
212+
![Global connection count in management UI](./mgmt-ui-global-connection-count.png)
213+
</figure>
212214

213215
A connection leak on monitoring charts can be identified as a monotonically growing number of client connections.
214216

215217
It is also possible to see how many file handles and sockets does a specific node have, which can be useful
216218
in determining connection leaks as well. The following chart demonstrates a very stable number of sockets
217219
open on a node:
218220

219-
<img class="screenshot" src="/img/monitoring/connections/mgmt-ui-node-socket-count.png" alt="Node file handle and socket count in management UI" title="Node file handle and socket count in management UI" />
221+
<figure>
222+
![Node file handle and socket count in management UI](./mgmt-ui-node-socket-count.png)
223+
</figure>
220224

221225
This chart demonstrates a monotonically growing number of connections after a drop:
222226

223-
<img class="screenshot" src="/img/monitoring/connections/mgmt-ui-node-socket-count-growth.png" alt="Node file handle and socket count growth in management UI" title="Node file handle and socket count growth in management UI" />
227+
<figure>
228+
![Node file handle and socket count growth in management UI](./mgmt-ui-node-socket-count-growth.png)
229+
</figure>
224230

225231
If the number of sockets used by a node keeps growing and growing, it is likely an indication
226232
of a connection leak in one of the applications.
@@ -235,8 +241,9 @@ grows on application start and then moderates (stays mostly stable with little f
235241
[Management UI](./management) provides a chart on the rate of newly opened connections as of [RabbitMQ 3.7.9](/release-information).
236242
Below is a chart that demonstrates a fairly low new connection rate:
237243

238-
<img class="screenshot" src="/img/monitoring/connections/mgmt-ui-node-connection-churn.png" alt="Node connection churn in management UI" title="Node connection churn in management UI" />
239-
244+
<figure>
245+
![Node connection churn in management UI](./mgmt-ui-node-connection-churn.png)
246+
</figure>
240247

241248
### High Connection Churn {#high-connection-churn}
242249

@@ -249,12 +256,16 @@ RabbitMQ collects metrics on connection churn and exposes them via [Prometheus a
249256
Below is a chart that demonstrates a fairly low connection churn with a comparable number of connections open and closed
250257
in the given period of time:
251258

252-
<img class="screenshot" src="/img/monitoring/connections/mgmt-ui-node-connection-churn.png" alt="Node connection churn in management UI" title="Node connection churn in management UI" />
259+
<figure>
260+
![Node connection churn in management UI](./mgmt-ui-node-connection-churn.png)
261+
</figure>
253262

254263
While connection and disconnection rates are system-specific, rates consistently above 100/second likely indicate a suboptimal
255264
connection management approach by one or more applications and usually are worth investigating.
256265

257-
<img class="screenshot" src="/img/monitoring/connections/mgmt-ui-high-connection-churn.png" alt="High connection churn in management UI" title="High connection churn in management UI" />
266+
<figure>
267+
![High connection churn in management UI](./mgmt-ui-high-connection-churn.png)
268+
</figure>
258269

259270
Some clients and runtimes (notably PHP) do not use long-lived connections and high connection
260271
churn rates are expected from them. A [specialized proxy](https://github.com/cloudamqp/amqproxy) should be

docs/feature-flags.md renamed to docs/feature-flags/index.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,10 @@ It is also possible to list and enable feature flags from the
9494

9595
#### Example 1: Compatible Nodes
9696

97-
<div style={{textAlign: 'center',}}>
98-
<img src="/img/feature-flags/compatible-nodes.svg" style={{width: '100%', maxWidth: '400px',}} alt="Example 1: 2 compatible nodes, the first node A has feature flags enabled and includes Toaster (set to ON), Coffee Maker (set to OFF), and Juicer Machine (set to OFF and deactivated). The second node, node B has feature flags enabled and includes Toaster (set to ON) and Coffee Maker (set to OFF)." title="Example 1: Compatible Nodes"/>
99-
</div>
97+
<figure className={"without-borders"} style={{maxWidth: '500px',}}>
98+
![Example 1: 2 compatible nodes, the first node A has feature flags enabled and includes Toaster (set to ON), Coffee Maker (set to OFF), and Juicer Machine (set to OFF and deactivated). The second node, node B has feature flags enabled and includes Toaster (set to ON) and Coffee Maker (set to OFF).](./compatible-nodes.svg)
99+
<figcaption>Example 1: Compatible Nodes</figcaption>
100+
</figure>
100101

101102
* If nodes A and B are not clustered, they can be clustered.
102103
* If nodes A and B are clustered:
@@ -105,9 +106,10 @@ It is also possible to list and enable feature flags from the
105106

106107
#### Example 2: Incompatible Nodes
107108

108-
<div style={{textAlign: 'center',}}>
109-
<img src="/img/feature-flags/incompatible-nodes.svg" style={{width: '100%', maxWidth: '400px',}} alt="Example 2: 2 incompatible nodes, the first node A has feature flags enabled and includes Toaster (set to ON), Coffee Maker (set to OFF), and Juicer Machine (set to ON). The second node, node B has feature flags enabled and includes Toaster (set to ON) and Coffee Maker (set to OFF)." title="Example 2: Incompatible Nodes"/>
110-
</div>
109+
<figure className={"without-borders"} style={{maxWidth: '500px',}}>
110+
![Example 2: 2 incompatible nodes, the first node A has feature flags enabled and includes Toaster (set to ON), Coffee Maker (set to OFF), and Juicer Machine (set to ON). The second node, node B has feature flags enabled and includes Toaster (set to ON) and Coffee Maker (set to OFF).](./incompatible-nodes.svg)
111+
<figcaption>Example 2: Incompatible Nodes</figcaption>
112+
</figure>
111113

112114
* If nodes A and B are not clustered, they cannot be clustered because
113115
"*Juicer machine*" is unsupported on node B.
@@ -124,9 +126,10 @@ next patch or minor release, except if it is stated otherwise
124126
in the release notes. Indeed, there are some changes which cannot be
125127
implemented as feature flags.
126128
127-
<div style={{textAlign: 'center',}}>
128-
<img src="/img/feature-flags/feature-flags-and-rabbitmq-versions.svg" style={{width: '100%', maxWidth: '647px',}} alt="Feature flags compatibility with different RabbitMQ versions." title="Feature flags compatibility with different RabbitMQ versions."/>
129-
</div>
129+
<figure className={"without-borders"} style={{maxWidth: '809px',}}>
130+
![Feature flags compatibility with different RabbitMQ versions.](./feature-flags-and-rabbitmq-versions.svg)
131+
<figcaption>Feature flags compatibility with different RabbitMQ versions.</figcaption>
132+
</figure>
130133
131134
However, note that only upgrading from one minor to the next minor
132135
or major is supported. To upgrade from e.g. 3.9.16 to 3.12.3, it is
@@ -255,9 +258,10 @@ rabbitmqctl -q --formatter pretty_table list_feature_flags
255258
It is also possible to list and enable feature flags from the
256259
[Management Plugin UI](./management), in "*Admin > Feature flags*":
257260

258-
<div style={{textAlign: 'center',}}>
259-
<img src="/img/feature-flags/management-ui-ff-panel.png" style={{width: '100%', border: 'solid 1px #75757f',}} alt="Feature flags page on the Management Plugin User Interface, access this page by selecting Admin (which is a tab) and then Feature Flags (which is a menu option) ." title="Feature flags Page on the Management Plugin User Interface."/>
260-
</div>
261+
<figure>
262+
![Feature flags page on the Management Plugin User Interface, access this page by selecting Admin (which is a tab) and then Feature Flags (which is a menu option).](./management-ui-ff-panel.png)
263+
<figcaption>Feature flags Page on the Management Plugin User Interface.</figcaption>
264+
</figure>
261265

262266
## How to Disable Feature Flags {#how-to-disable-feature-flags}
263267

docs/federated-exchanges.md renamed to docs/federated-exchanges/index.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ or the HTTP API with [an additional plugin](https://github.com/rabbitmq/rabbitmq
5454
Here is a diagram showing a single upstream exchange (the source exchange) in one
5555
node linking to a single downstream exchange (the federated exchange) in another node:
5656

57-
<img src="/img/federation/federated-exchange.svg" alt="Basic federated exchange" title="Basic federated exchange"/>
57+
<figure className={"without-borders"}>
58+
![Basic federated exchange](./federated-exchange.svg)
59+
</figure>
5860

5961
When exchange federation is used, usually only a subset of exchanges in a cluster is federated.
6062
Some exchanges can be inherently local to the "site" (cluster) and its uses.
@@ -205,7 +207,9 @@ messages republished by the federated exchange. Some
205207
potential publisher clients are shown publishing to both
206208
exchanges.
207209

208-
<img src="/img/federation/federation01.png" height="180" alt="Simple federation" title="Simple federation" />
210+
<figure className={"without-borders"}>
211+
![Simple federation](./federation01.png)
212+
</figure>
209213

210214
Publications to either exchange may be received by queues bound to
211215
the federated exchange, but publications directly to the federated
@@ -237,7 +241,9 @@ height="15"/> it can be a cluster of nodes or a standalone node.
237241
Both consumers can receive messages published by either publisher.
238242
</p>
239243

240-
<img src="/img/federation/federation02.png" height="215" alt="Symmetric pair" title="Symmetric pair" />
244+
<figure className={"without-borders"}>
245+
![Symmetric pair](./federation02.png)
246+
</figure>
241247

242248
<p>
243249
Both links are declared with `max-hops=1` so that
@@ -255,7 +261,9 @@ height="15"/> it can be a cluster of nodes or a standalone node.
255261
but for three exchanges. Each exchange links to both the others.
256262
</p>
257263

258-
<img src="/img/federation/federation03.png" height="250" alt="Three-way federation" title="Three-way federation" />
264+
<figure className={"without-borders"}>
265+
![Three-way federation](./federation03.png)
266+
</figure>
259267

260268
<p>
261269
Again `max-hops=1` because the "hop distance" to any
@@ -275,7 +283,9 @@ height="15"/> it can be a cluster of nodes or a standalone node.
275283
received by any consumer connected to any broker in the tree.
276284
</p>
277285

278-
<img src="/img/federation/federation04.png" height="500" alt="Fan-out" title="Fan-out" />
286+
<figure className={"without-borders"}>
287+
![Fan-out](./federation04.png)
288+
</figure>
279289

280290
<p>
281291
Because there are no loops it is not as crucial to get the
@@ -296,7 +306,9 @@ height="15"/> it can be a cluster of nodes or a standalone node.
296306
once.
297307
</p>
298308

299-
<img src="/img/federation/federation05.png" height="300" alt="Ring" title="Ring" />
309+
<figure className={"without-borders"}>
310+
![Ring](./federation05.png)
311+
</figure>
300312

301313
<p>
302314
This topology, though relatively cheap in queues and connections, is

docs/federated-queues.md renamed to docs/federated-queues/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ or the HTTP API with [an additional plugin](https://github.com/rabbitmq/rabbitmq
5757
The following diagram demonstrates several federated and unfederated
5858
queues in two RabbitMQ nodes connected using queue federation:
5959

60-
<img src="/img/federation/federated_queues00.png" width="700" alt="Overview of federated queues" />
60+
<figure className={"without-borders"} style={{maxWidth: '700px',}}>
61+
![Overview of federated queues](./federated_queues00.png)
62+
</figure>
6163

6264
When queue federation is used, usually only a subset of queues in a cluster is federated.
6365
Some queues can be inherently local to the "site" (cluster) and its uses.
@@ -101,7 +103,9 @@ In order for RabbitMQ to recognize that a queue needs to be federated,
101103
and what other nodes messages should be consumed from, _downstream_
102104
(consuming) nodes need to be configured.
103105

104-
<img src="/img/federation/federated_queues01.png" width="700" alt="Federated queue policies" />
106+
<figure className={"without-borders"} style={{maxWidth: '700px',}}>
107+
![Federated queue policies](./federated_queues01.png)
108+
</figure>
105109

106110
Federation configuration uses [runtime parameters and policies](./parameters), which means it can be configured
107111
and reconfigured on the fly as system topology changes. There are two key pieces of configuration involved:

docs/ha.md renamed to docs/ha/index.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,16 +245,22 @@ next to it on the queue page in the [management UI](./management).
245245
Below is an example of a queue named `two.replicas` which has a leader
246246
and a mirror:
247247

248-
<img class="screenshot" src="/img/mirroring/queue_mirroring_indicators_management_ui_row_only.png" alt="Mirrored queue indicators in management UI" title="Mirrored queue indicators in management UI" />
248+
<figure>
249+
![Mirrored queue indicators in management UI](./queue_mirroring_indicators_management_ui_row_only.png)
250+
</figure>
249251

250252
leader node for the queue and its online mirror(s), if any, will be listed on the queue page:
251253

252-
<img class="screenshot" src="/img/mirroring/queue_mirroring_one_mirror_present.png" alt="Mirrored queue details on individual queue page" title="Mirrored queue details on individual queue page" />
254+
<figure>
255+
![Mirrored queue details on individual queue page](./queue_mirroring_one_mirror_present.png)
256+
</figure>
253257

254258
If the queue page does not list any mirrors, the queue is not mirrored (or has only one mirror which
255259
is not online):
256260

257-
<img class="screenshot" src="/img/mirroring/queue_mirroring_no_mirrors.png" alt="Non-mirrored queue details on individual queue page" title="Non-mirrored queue details on individual queue page" />
261+
<figure>
262+
![Non-mirrored queue details on individual queue page](./queue_mirroring_no_mirrors.png)
263+
</figure>
258264

259265
When a new queue mirror is added, the event is logged:
260266

docs/maxlength.md renamed to docs/maxlength/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,13 @@ rabbitmqctl list_policies --formatter=pretty_table --silent
203203

204204
Both optional queue arguments and effective policy for a queue can be seen on the Queues tab or individual queue page:
205205

206-
<img class="screenshot" src="/img/limits/max_length_queues_page.png" alt="Effective queue policy and optional arguments in management UI" title="Effective queue policy and optional arguments in management UI" />
206+
<figure>
207+
![Effective queue policy and optional arguments in management UI](./max_length_queues_page.png)
208+
</figure>
207209

208210
The policy name is a clickable link that leads to the policy definition page where you
209211
can see the limits:
210212

211-
<img class="screenshot" src="/img/limits/max_length_policy_definition.png" alt="Effective queue policy and optional arguments in management UI" title="Effective queue policy and optional arguments in management UI" />
213+
<figure>
214+
![Effective queue policy and optional arguments in management UI](./max_length_policy_definition.png)
215+
</figure>

0 commit comments

Comments
 (0)