master
yaml 504 lines 19 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-rabbitmq
5 plugin_name: go.d.plugin
6 module_name: rabbitmq
7 monitored_instance:
8 name: RabbitMQ
9 link: https://www.rabbitmq.com/
10 icon_filename: rabbitmq.svg
11 categories:
12 - data-collection.databases
13 keywords:
14 - rabbitmq
15 - message brokers
16 related_resources:
17 integrations:
18 list: []
19 info_provided_to_referring_integrations:
20 description: ""
21 overview:
22 data_collection:
23 metrics_description: |
24 This collector monitors RabbitMQ instances.
25
26 It collects data using an HTTP-based API provided by the [management plugin](https://www.rabbitmq.com/management.html).
27 The following endpoints are used:
28
29 - `/api/definitions` (one-time retrieval, used to obtain the cluster ID and name)
30 - `/api/overview`
31 - `/api/nodes`
32 - `/api/vhosts`
33 - `/api/queues` (disabled by default)
34 method_description: ""
35 supported_platforms:
36 include: []
37 exclude: []
38 multi_instance: true
39 additional_permissions:
40 description: ""
41 default_behavior:
42 auto_detection:
43 description: ""
44 limits:
45 description: ""
46 performance_impact:
47 description: ""
48 setup:
49 prerequisites:
50 list:
51 - title: Enable management plugin.
52 description: |
53 The management plugin is included in the RabbitMQ distribution, but disabled.
54 To enable see [Management Plugin](https://www.rabbitmq.com/management.html#getting-started) documentation.
55 configuration:
56 file:
57 name: go.d/rabbitmq.conf
58 options:
59 description: |
60 The following options can be defined globally: update_every, autodetection_retry.
61 folding:
62 title: Config options
63 enabled: true
64 list:
65 - name: update_every
66 description: Data collection interval (seconds).
67 default_value: 1
68 required: false
69 group: Collection
70 - name: autodetection_retry
71 description: Autodetection retry interval (seconds). Set 0 to disable.
72 default_value: 0
73 required: false
74 group: Collection
75
76 - name: url
77 description: Target endpoint URL.
78 default_value: http://localhost:15672"
79 required: true
80 group: Target
81 - name: timeout
82 description: HTTP request timeout (seconds).
83 default_value: 1
84 required: false
85 group: Target
86
87 - name: collect_queues_metrics
88 description: Collect per-vhost, per-queue metrics. May cause significant overhead if many queues exist.
89 default_value: no
90 required: false
91 group: Metrics Selection
92
93 - name: username
94 description: Username for Basic HTTP authentication.
95 default_value: "guest"
96 required: false
97 group: HTTP Auth
98 - name: password
99 description: Password for Basic HTTP authentication.
100 default_value: "guest"
101 required: false
102 group: HTTP Auth
103 - name: bearer_token_file
104 description: "Path to a file containing a bearer token (used for `Authorization: Bearer`)."
105 default_value: ""
106 required: false
107 group: HTTP Auth
108
109 - name: tls_skip_verify
110 description: Skip TLS certificate and hostname verification (insecure).
111 default_value: no
112 required: false
113 group: TLS
114 - name: tls_ca
115 description: Path to CA bundle used to validate the server certificate.
116 default_value: ""
117 required: false
118 group: TLS
119 - name: tls_cert
120 description: Path to client TLS certificate (for mTLS).
121 default_value: ""
122 required: false
123 group: TLS
124 - name: tls_key
125 description: Path to client TLS private key (for mTLS).
126 default_value: ""
127 required: false
128 group: TLS
129
130 - name: proxy_url
131 description: HTTP proxy URL.
132 default_value: ""
133 required: false
134 group: Proxy
135 - name: proxy_username
136 description: Username for proxy Basic HTTP authentication.
137 default_value: ""
138 required: false
139 group: Proxy
140 - name: proxy_password
141 description: Password for proxy Basic HTTP authentication.
142 default_value: ""
143 required: false
144 group: Proxy
145
146 - name: method
147 description: HTTP method to use.
148 default_value: "GET"
149 required: false
150 group: Request
151 - name: body
152 description: Request body (e.g., for POST/PUT).
153 default_value: ""
154 required: false
155 group: Request
156 - name: headers
157 description: "Additional HTTP headers (one per line as key: value)."
158 default_value: ""
159 required: false
160 group: Request
161 - name: not_follow_redirects
162 description: Do not follow HTTP redirects.
163 default_value: no
164 required: false
165 group: Request
166 - name: force_http2
167 description: Force HTTP/2 (including h2c over TCP).
168 default_value: no
169 required: false
170 group: Request
171
172 - name: vnode
173 description: Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).
174 default_value: ""
175 required: false
176 group: Virtual Node
177 examples:
178 folding:
179 title: Config
180 enabled: true
181 list:
182 - name: Basic
183 description: An example configuration.
184 config: |
185 jobs:
186 - name: local
187 url: http://127.0.0.1:15672
188 - name: Basic HTTP auth
189 description: Local server with basic HTTP authentication.
190 config: |
191 jobs:
192 - name: local
193 url: http://127.0.0.1:15672
194 username: admin
195 password: password
196 - name: Multi-instance
197 description: |
198 > **Note**: When you define multiple jobs, their names must be unique.
199
200 Local and remote instances.
201 config: |
202 jobs:
203 - name: local
204 url: http://127.0.0.1:15672
205
206 - name: remote
207 url: http://192.0.2.0:15672
208 troubleshooting:
209 problems:
210 list: []
211 alerts:
212 - name: rabbitmq_node_avail_status_down
213 metric: rabbitmq.node_avail_status
214 info: RabbitMQ node is down (node ${label:node} cluster ${label:cluster_id})
215 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
216 - name: rabbitmq_node_network_partition_status
217 metric: rabbitmq.node_network_partition_status
218 info: RabbitMQ network partition detected (node ${label:node} cluster ${label:cluster_id})
219 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
220 - name: rabbitmq_node_mem_alarm_status_triggered
221 metric: rabbitmq.node_mem_alarm_status
222 info: RabbitMQ mem alarm triggered (node ${label:node} cluster ${label:cluster_id})
223 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
224 - name: rabbitmq.node_disk_free_alarm_status_triggered
225 metric: rabbitmq.node_disk_free_alarm_status
226 info: RabbitMQ disk free alarm triggered (node ${label:node} cluster ${label:cluster_id})
227 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
228 - name: rabbitmq_vhost_status_unhealthy
229 metric: rabbitmq.vhost_status
230 info: RabbitMQ vhost is not healthy (vhost ${label:vhost} cluster ${label:cluster_id})
231 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
232 - name: rabbitmq_queue_status_minority
233 metric: rabbitmq.queue_status
234 info: RabbitMQ queue insufficient online members (queue ${label:queue} node ${label:node} cluster ${label:cluster_id})
235 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
236 - name: rabbitmq_queue_status_unhealthy
237 metric: rabbitmq.queue_status
238 info: RabbitMQ queue is unhealthy (queue ${label:queue} node ${label:node} cluster ${label:cluster_id})
239 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/rabbitmq.conf
240 metrics:
241 folding:
242 title: Metrics
243 enabled: false
244 description: ""
245 availability: []
246 scopes:
247 - name: cluster
248 description: These metrics refer to the RabbitMQ Cluster.
249 labels:
250 - name: cluster_id
251 description: Unique identifier for the cluster, automatically assigned by RabbitMQ.
252 - name: cluster_name
253 description: User-defined name of the cluster as set using `rabbitmqctl set_cluster_name`. If not set, it will be "unset".
254 metrics:
255 - name: rabbitmq.messages_count
256 description: Messages
257 unit: messages
258 chart_type: stacked
259 dimensions:
260 - name: ready
261 - name: unacknowledged
262 - name: rabbitmq.messages_rate
263 description: Messages
264 unit: messages/s
265 chart_type: line
266 dimensions:
267 - name: ack
268 - name: publish
269 - name: publish_in
270 - name: publish_out
271 - name: confirm
272 - name: deliver
273 - name: deliver_no_ack
274 - name: get
275 - name: get_empty
276 - name: get_no_ack
277 - name: deliver_get
278 - name: redeliver
279 - name: return_unroutable
280 - name: rabbitmq.objects_count
281 description: Objects
282 unit: messages
283 chart_type: line
284 dimensions:
285 - name: channels
286 - name: consumers
287 - name: connections
288 - name: queues
289 - name: exchanges
290 - name: rabbitmq.connection_churn_rate
291 description: Connection churn
292 unit: operations/s
293 chart_type: line
294 dimensions:
295 - name: created
296 - name: closed
297 - name: rabbitmq.channel_churn_rate
298 description: Channel churn
299 unit: operations/s
300 chart_type: line
301 dimensions:
302 - name: created
303 - name: closed
304 - name: rabbitmq.queue_churn_rate
305 description: Queue churn
306 unit: operations/s
307 chart_type: line
308 dimensions:
309 - name: created
310 - name: deleted
311 - name: declared
312 - name: node
313 description: These metrics refer to the RabbitMQ node.
314 labels:
315 - name: cluster_id
316 description: Unique identifier for the cluster, automatically assigned by RabbitMQ.
317 - name: cluster_name
318 description: User-defined name of the cluster as set using `rabbitmqctl set_cluster_name <NAME>`. If not set, it will be "unset".
319 - name: node
320 description: Name of the node.
321 metrics:
322 - name: rabbitmq.node_avail_status
323 description: Node Availability Status
324 unit: status
325 chart_type: line
326 dimensions:
327 - name: running
328 - name: down
329 - name: rabbitmq.node_network_partition_status
330 description: Node Network Partitioning Status
331 unit: status
332 chart_type: line
333 dimensions:
334 - name: clear
335 - name: detected
336 - name: rabbitmq.node_mem_alarm_status
337 description: Node Memory Alarm Status
338 unit: status
339 chart_type: line
340 dimensions:
341 - name: clear
342 - name: triggered
343 - name: rabbitmq.node_disk_free_alarm_status
344 description: Node Disk Free Alarm Status
345 unit: status
346 chart_type: line
347 dimensions:
348 - name: clear
349 - name: triggered
350 - name: rabbitmq.node_file_descriptors_usage
351 description: Node File Descriptors Usage
352 unit: fd
353 chart_type: line
354 dimensions:
355 - name: used
356 - name: rabbitmq.node_sockets_usage
357 description: Node Sockets Usage
358 unit: sockets
359 chart_type: line
360 dimensions:
361 - name: used
362 - name: rabbitmq.node_erlang_processes_usage
363 description: Node Erlang Processes Usage
364 unit: processes
365 chart_type: line
366 dimensions:
367 - name: used
368 - name: rabbitmq.node_erlang_run_queue_processes_count
369 description: Node Erlang Run Queue
370 unit: processes
371 chart_type: line
372 dimensions:
373 - name: length
374 - name: rabbitmq.node_memory_usage
375 description: Node Memory Usage
376 unit: bytes
377 chart_type: area
378 dimensions:
379 - name: used
380 - name: rabbitmq.node_disk_space_free_size
381 description: Node Disk Free Space
382 unit: bytes
383 chart_type: area
384 dimensions:
385 - name: free
386 - name: rabbitmq.node_uptime
387 description: Node Uptime
388 unit: seconds
389 chart_type: line
390 dimensions:
391 - name: uptime
392 - name: cluster peer
393 description: These metrics refer to the RabbiMQ cluster peer.
394 labels:
395 - name: cluster_id
396 description: Unique identifier for the cluster, automatically assigned by RabbitMQ.
397 - name: cluster_name
398 description: User-defined name of the cluster as set using `rabbitmqctl set_cluster_name <NAME>`. If not set, it will be "unset".
399 - name: node
400 description: Name of the node.
401 - name: peer
402 description: Name of the remote node in the cluster.
403 metrics:
404 - name: rabbitmq.node_peer_cluster_link_traffic
405 description: Node Cluster Link Peer Traffic
406 unit: bytes/s
407 chart_type: area
408 dimensions:
409 - name: received
410 - name: sent
411 - name: vhost
412 description: These metrics refer to the virtual host.
413 labels:
414 - name: cluster_id
415 description: Unique identifier for the cluster, automatically assigned by RabbitMQ.
416 - name: cluster_name
417 description: User-defined name of the cluster as set using `rabbitmqctl set_cluster_name <NAME>`. If not set, it will be "unset".
418 - name: vhost
419 description: Name of the virtual host.
420 metrics:
421 - name: rabbitmq.vhost_status
422 description: Vhost Status
423 unit: status
424 chart_type: line
425 dimensions:
426 - name: running
427 - name: stopped
428 - name: partial
429 - name: rabbitmq.vhost_messages_count
430 description: Vhost messages
431 unit: messages
432 chart_type: stacked
433 dimensions:
434 - name: ready
435 - name: unacknowledged
436 - name: rabbitmq.vhost_messages_rate
437 description: Vhost messages rate
438 unit: messages/s
439 chart_type: line
440 dimensions:
441 - name: ack
442 - name: publish
443 - name: publish_in
444 - name: publish_out
445 - name: confirm
446 - name: deliver
447 - name: deliver_no_ack
448 - name: get
449 - name: get_no_ack
450 - name: deliver_get
451 - name: redeliver
452 - name: return_unroutable
453 - name: queue
454 description: These metrics refer to the virtual host queue.
455 labels:
456 - name: cluster_id
457 description: Unique identifier for the cluster, automatically assigned by RabbitMQ.
458 - name: cluster_name
459 description: User-defined name of the cluster as set using `rabbitmqctl set_cluster_name <NAME>`. If not set, it will be "unset".
460 - name: node
461 description: Name of the node.
462 - name: vhost
463 description: Name of the virtual host.
464 - name: queue
465 description: Name of the queue.
466 metrics:
467 - name: rabbitmq.queue_status
468 description: Queue status
469 unit: status
470 chart_type: line
471 dimensions:
472 - name: running
473 - name: down
474 - name: idle
475 - name: crashed
476 - name: stopped
477 - name: minority
478 - name: terminated
479 - name: rabbitmq.queue_messages_count
480 description: Queue messages
481 unit: messages
482 chart_type: stacked
483 dimensions:
484 - name: ready
485 - name: unacknowledged
486 - name: paged_out
487 - name: persistent
488 - name: rabbitmq.queue_messages_rate
489 description: Queue messages rate
490 unit: messages/s
491 chart_type: line
492 dimensions:
493 - name: ack
494 - name: publish
495 - name: publish_in
496 - name: publish_out
497 - name: confirm
498 - name: deliver
499 - name: deliver_no_ack
500 - name: get
501 - name: get_no_ack
502 - name: deliver_get
503 - name: redeliver
504 - name: return_unroutable