You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2700 lines
107 KiB

1 year ago
zabbix_export:
version: '7.0'
template_groups:
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
name: Templates/Applications
templates:
- uuid: 8c8474148c2a4eaeabe5a9331ea99d77
template: 'RabbitMQ cluster by HTTP'
name: 'RabbitMQ cluster by HTTP'
description: |
Get cluster metrics from RabbitMQ management plugin provided an HTTP-based API using HTTP agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq
Generated by official Zabbix template tool "Templator" 2.0.0
vendor:
name: Zabbix
version: 7.0-0
groups:
- name: Templates/Applications
items:
- uuid: dd74265fcc2d48e2b160e749706c9a6c
name: 'RabbitMQ: Get exchanges'
type: HTTP_AGENT
key: rabbitmq.get_exchanges
history: 1h
trends: '0'
value_type: TEXT
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'The HTTP API endpoint that returns exchanges metrics.'
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/exchanges'
tags:
- tag: component
value: raw
- uuid: c0d7c1940dea4cd4a01a94b9629db3ce
name: 'RabbitMQ: Get overview'
type: HTTP_AGENT
key: rabbitmq.get_overview
history: 1h
trends: '0'
value_type: TEXT
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'The HTTP API endpoint that returns cluster-wide metrics.'
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/overview'
tags:
- tag: component
value: raw
triggers:
- uuid: ae7f1953f9b94c9c907d7bd7627d389d
expression: 'nodata(/RabbitMQ cluster by HTTP/rabbitmq.get_overview,30m)=1'
name: 'RabbitMQ: Failed to fetch overview data'
event_name: 'RabbitMQ: Failed to fetch overview data (or no data for 30m)'
priority: WARNING
description: 'Zabbix has not received any data for items for the last 30 minutes.'
manual_close: 'YES'
tags:
- tag: scope
value: availability
- uuid: 94ffc83030e84d93a2bcafc9fc1b307b
name: 'RabbitMQ: Messages acknowledged'
type: DEPENDENT
key: rabbitmq.overview.messages.ack
delay: '0'
history: 7d
description: 'The number of messages delivered to clients and acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.ack
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: b7c9ca566af64e62bc450752d5cd7777
name: 'RabbitMQ: Messages acknowledged per second'
type: DEPENDENT
key: rabbitmq.overview.messages.ack.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) delivered to clients and acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.ack_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 5f2ae9a4ca0643c6b3d3e7b1ed36f3e4
name: 'RabbitMQ: Messages confirmed'
type: DEPENDENT
key: rabbitmq.overview.messages.confirm
delay: '0'
history: 7d
description: 'The count of confirmed messages.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.confirm
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 302caaded1ec40a984c13c3eab6f7509
name: 'RabbitMQ: Messages confirmed per second'
type: DEPENDENT
key: rabbitmq.overview.messages.confirm.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages confirmed per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.confirm_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: fa4dcdd9a76c47fb8b3e0e238077f591
name: 'RabbitMQ: Messages delivered'
type: DEPENDENT
key: rabbitmq.overview.messages.deliver_get
delay: '0'
history: 7d
description: 'The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_get
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 483b3ccd192a4f7a8142da5fc3303d63
name: 'RabbitMQ: Messages delivered per second'
type: DEPENDENT
key: rabbitmq.overview.messages.deliver_get.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of the sum of messages (per second) delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_get_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: af401642e23241f38b453ce65439a3fb
name: 'RabbitMQ: Messages published'
type: DEPENDENT
key: rabbitmq.overview.messages.publish
delay: '0'
history: 7d
description: 'The count of published messages.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: e386d202d87c442c94ea6151af8f1c45
name: 'RabbitMQ: Messages published per second'
type: DEPENDENT
key: rabbitmq.overview.messages.publish.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages published per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: ebe18f0f04fe4c098283cfeab6ebb716
name: 'RabbitMQ: Messages publish_in'
type: DEPENDENT
key: rabbitmq.overview.messages.publish_in
delay: '0'
history: 7d
description: 'The count of messages published from the channels into this overview.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_in
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 8078d1269b0f4650b2a2c8d0f7de8bfd
name: 'RabbitMQ: Messages publish_in per second'
type: DEPENDENT
key: rabbitmq.overview.messages.publish_in.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) published from the channels into this overview.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_in_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 8d5523cd5120462f903af9b67e2abb10
name: 'RabbitMQ: Messages publish_out'
type: DEPENDENT
key: rabbitmq.overview.messages.publish_out
delay: '0'
history: 7d
description: 'The count of messages published from this overview into queues.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_out
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: c1a7ca5a475449b4b4d916693acd515b
name: 'RabbitMQ: Messages publish_out per second'
type: DEPENDENT
key: rabbitmq.overview.messages.publish_out.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) published from this overview into queues.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_out_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 6c0d428069a84443affba5b1a7f886bc
name: 'RabbitMQ: Messages returned redeliver'
type: DEPENDENT
key: rabbitmq.overview.messages.redeliver
delay: '0'
history: 7d
description: 'The count of subset of messages in the `deliver_get`, which had the `redelivered` flag set.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.redeliver
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 7d239c3cb6604521b1291bce0dbdf10c
name: 'RabbitMQ: Messages returned redeliver per second'
type: DEPENDENT
key: rabbitmq.overview.messages.redeliver.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of subset of messages (per second) in the `deliver_get`, which had the `redelivered` flag set.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.redeliver_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 70ab0718b7784a8280c99b6af21d909a
name: 'RabbitMQ: Messages returned unroutable'
type: DEPENDENT
key: rabbitmq.overview.messages.return_unroutable
delay: '0'
history: 7d
description: 'The count of messages returned to a publisher as unroutable.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.return_unroutable
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: e2983b5d27294b92b658070e0ef0a2ca
name: 'RabbitMQ: Messages returned unroutable per second'
type: DEPENDENT
key: rabbitmq.overview.messages.return_unroutable.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) returned to a publisher as unroutable.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.return_unroutable_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 787ea966afd741b99bbdce665aebf15a
name: 'RabbitMQ: Channels total'
type: DEPENDENT
key: rabbitmq.overview.object_totals.channels
delay: '0'
history: 7d
description: 'The total number of channels.'
preprocessing:
- type: JSONPATH
parameters:
- $.object_totals.channels
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: channels
- uuid: 3b488cdb79ac4b95abe55ddec9f74dd1
name: 'RabbitMQ: Connections total'
type: DEPENDENT
key: rabbitmq.overview.object_totals.connections
delay: '0'
history: 7d
description: 'The total number of connections.'
preprocessing:
- type: JSONPATH
parameters:
- $.object_totals.connections
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: connections
- uuid: 4b02b27b8091430eb80e6451935848d8
name: 'RabbitMQ: Consumers total'
type: DEPENDENT
key: rabbitmq.overview.object_totals.consumers
delay: '0'
history: 7d
description: 'The total number of consumers.'
preprocessing:
- type: JSONPATH
parameters:
- $.object_totals.consumers
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: consumers
- uuid: 1b98a03a243c4b698faa93228cb9cfb0
name: 'RabbitMQ: Exchanges total'
type: DEPENDENT
key: rabbitmq.overview.object_totals.exchanges
delay: '0'
history: 7d
description: 'The total number of exchanges.'
preprocessing:
- type: JSONPATH
parameters:
- $.object_totals.exchanges
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: exchanges
- uuid: 011491d6f5954cf3bf37ee45a62a4d86
name: 'RabbitMQ: Queues total'
type: DEPENDENT
key: rabbitmq.overview.object_totals.queues
delay: '0'
history: 7d
description: 'The total number of queues.'
preprocessing:
- type: JSONPATH
parameters:
- $.object_totals.queues
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: queues
- uuid: c9bc0b0a61be4412bfc31cb725bbe837
name: 'RabbitMQ: Messages total'
type: DEPENDENT
key: rabbitmq.overview.queue_totals.messages
delay: '0'
history: 7d
description: 'The total number of messages (ready, plus unacknowledged).'
preprocessing:
- type: JSONPATH
parameters:
- $.queue_totals.messages
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 7c7e5c4111ff464b913a43b59fcb2e9b
name: 'RabbitMQ: Messages ready for delivery'
type: DEPENDENT
key: rabbitmq.overview.queue_totals.messages.ready
delay: '0'
history: 7d
description: 'The number of messages ready for delivery.'
preprocessing:
- type: JSONPATH
parameters:
- $.queue_totals.messages_ready
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
- uuid: 3403648d6b964edd8c390e2c175b068a
name: 'RabbitMQ: Messages unacknowledged'
type: DEPENDENT
key: rabbitmq.overview.queue_totals.messages.unacknowledged
delay: '0'
history: 7d
description: 'The number of unacknowledged messages.'
preprocessing:
- type: JSONPATH
parameters:
- $.queue_totals.messages_unacknowledged
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: rabbitmq.get_overview
tags:
- tag: component
value: messages
discovery_rules:
- uuid: 689cf8096c0c49099e2b56c5b639d3c6
name: 'Exchanges discovery'
type: DEPENDENT
key: rabbitmq.exchanges.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#EXCHANGE}'
value: '{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}'
formulaid: A
- macro: '{#EXCHANGE}'
value: '{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}'
operator: NOT_MATCHES_REGEX
formulaid: B
description: 'The metrics for an individual exchange.'
item_prototypes:
- uuid: d8cdcef7ad324aebb597e9d2cd32bdf2
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages acknowledged per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.ack.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) delivered to clients and acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.ack_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: fd3d7de712d84721a09248670a7504f1
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages acknowledged'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.ack["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The number of messages delivered to clients and acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.ack
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: bc57ae1a1c1d4e9c96a268906d88dbf8
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages confirmed per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.confirm.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages confirmed per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.confirm_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 8fac23c225d449b3a01d495b52131f5c
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages confirmed'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.confirm["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The count of confirmed messages.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.confirm
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 18916e7d0fce41d698f57f0f1be5dab1
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages delivered per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.deliver_get.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of the sum of messages (per second) delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_get_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: b86cc017bbb247b79e5b0522cf895d33
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages delivered'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.deliver_get["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_get
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: a4a890d6cbdc40528dee488d8649343d
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages published per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.publish.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages published per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 24515b4712014fbeb857592664624be3
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages published'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.publish["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The count of published messages.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: d7ecda9c49ee479481b0b96d92113064
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_in per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.publish_in.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) published from the channels into this overview.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_in_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 02ebc8dacc0b44cd81bd9a83394359ff
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_in'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.publish_in["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The count of messages published from the channels into this overview.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_in
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 46a5efc69f2e4928b5744b5ea0cd6ae3
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_out per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.publish_out.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) published from this overview into queues.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_out_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: c83921ac67074e169e247dc3392213cf
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_out'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.publish_out["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The count of messages published from this overview into queues.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_out
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 64bc6c65cc2f46b1841bd9852020bf44
name: 'RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.redeliver.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of subset of messages (per second) in the `deliver_get`, which had the `redelivered` flag set.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.redeliver_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 3203320d008d484d917827f93b213725
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages redelivered'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.redeliver["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The count of subset of messages in the `deliver_get`, which had the `redelivered` flag set.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.redeliver
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 1aad46c39cc347f59ed953aa6bc23fbe
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages returned unroutable per second'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.return_unroutable.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages (per second) returned to a publisher as unroutable.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.return_unroutable_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: caaaf925f72e42d2b3112098bd05b3d1
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages returned unroutable'
type: DEPENDENT
key: 'rabbitmq.exchange.messages.return_unroutable["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: 7d
description: 'The count of messages returned to a publisher as unroutable.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.return_unroutable
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
tags:
- tag: component
value: messages
- tag: exchange
value: '{#EXCHANGE}'
- tag: type
value: '{#TYPE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 54ec0943af1b4c0c807bcc222f5d70c7
name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Get data'
type: DEPENDENT
key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns [{#VHOST}][{#EXCHANGE}][{#TYPE}] exchanges metrics'
preprocessing:
- type: JSONPATH
parameters:
- '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].first()'
master_item:
key: rabbitmq.get_exchanges
tags:
- tag: component
value: raw
master_item:
key: rabbitmq.get_exchanges
lld_macro_paths:
- lld_macro: '{#EXCHANGE}'
path: $.name
- lld_macro: '{#TYPE}'
path: $.type
- lld_macro: '{#VHOST}'
path: $.vhost
- uuid: 8655f85b65cc4eb0a0470db45ca1c963
name: 'Health Check 3.8.10+ discovery'
type: DEPENDENT
key: rabbitmq.healthcheck.v3810.discovery
delay: '0'
description: 'Specific metrics for the versions: up to and including 3.8.10.'
item_prototypes:
- uuid: 90db70de99454f7b924d84174a5951fb
name: 'RabbitMQ: Healthcheck: alarms in effect in the cluster{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck.alarms[{#SINGLETON}]'
history: 7d
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'Responds a 200 OK if there are no alarms in effect in the cluster, otherwise responds with a 503 Service Unavailable.'
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: REGEX
parameters:
- HTTP\/1\.1\b\s(\d+)
- \1
- type: JAVASCRIPT
parameters:
- |
switch(value){
case '200': return 1
case '503': return 0
default: 2}
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/health/checks/alarms'
status_codes: '200,503,404'
retrieve_mode: HEADERS
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: 58592bb4d473497e9942634db2001823
expression: 'last(/RabbitMQ cluster by HTTP/rabbitmq.healthcheck.alarms[{#SINGLETON}])=0'
name: 'RabbitMQ: There are active alarms in the cluster'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
master_item:
key: rabbitmq.get_overview
preprocessing:
- type: JSONPATH
parameters:
- $.management_version
- type: JAVASCRIPT
parameters:
- |
var rabbit_version = parseInt(value.split('.')[0]) * 10000 +
parseInt(value.split('.')[1]) * 100 +
parseInt(value.split('.')[2])
return JSON.stringify(rabbit_version >= 30810 ? [{'{#SINGLETON}': ''}] : []);
tags:
- tag: class
value: software
- tag: target
value: rabbitmq
macros:
- macro: '{$RABBITMQ.API.PASSWORD}'
value: zabbix
- macro: '{$RABBITMQ.API.PORT}'
value: '15672'
description: 'The port of the RabbitMQ API endpoint.'
- macro: '{$RABBITMQ.API.SCHEME}'
value: http
description: 'The request scheme, which may be HTTP or HTTPS.'
- macro: '{$RABBITMQ.API.USER}'
value: zbx_monitor
- macro: '{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}'
value: '.*'
description: 'This macro is used in the discovery of exchanges. It can be overridden at host level or its linked template level.'
- macro: '{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}'
value: CHANGE_IF_NEEDED
description: 'This macro is used in the discovery of exchanges. It can be overridden at host level or its linked template level.'
dashboards:
- uuid: 1b64af348f284f74a1f7f03de1d55f7b
name: 'RabbitMQ overview'
pages:
- widgets:
- type: graph
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by HTTP'
name: 'RabbitMQ: Messages'
- type: graph
x: '12'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by HTTP'
name: 'RabbitMQ: Connections'
- type: graph
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by HTTP'
name: 'RabbitMQ: Messages status'
- type: graph
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by HTTP'
name: 'RabbitMQ: Queues'
- type: graph
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by HTTP'
name: 'RabbitMQ: Messages per second'
valuemaps:
- uuid: 3380e05a15774dad92e77c983448698b
name: 'RabbitMQ healthcheck'
mappings:
- value: '0'
newvalue: Failed
- value: '1'
newvalue: Ok
- value: '2'
newvalue: Error
- uuid: b9514029d03b44de9adf24251778dbf3
template: 'RabbitMQ node by HTTP'
name: 'RabbitMQ node by HTTP'
description: |
Get node metrics from RabbitMQ management plugin provided an HTTP-based API using HTTP agent.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq
Generated by official Zabbix template tool "Templator" 2.0.0
vendor:
name: Zabbix
version: 7.0-0
groups:
- name: Templates/Applications
items:
- uuid: 542f36f0b4e24d99a402a98b6f6fe4c4
name: 'RabbitMQ: Service response time'
type: SIMPLE
key: 'net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"]'
history: 7d
value_type: FLOAT
units: s
tags:
- tag: component
value: system
triggers:
- uuid: 220eedd4f69b43fabe233b5127e09c50
expression: 'min(/RabbitMQ node by HTTP/net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"],5m)>{$RABBITMQ.RESPONSE_TIME.MAX.WARN}'
name: 'RabbitMQ: Service response time is too high'
event_name: 'RabbitMQ: Service response time is too high (over {$RABBITMQ.RESPONSE_TIME.MAX.WARN}s for 5m)'
priority: WARNING
manual_close: 'YES'
dependencies:
- name: 'RabbitMQ: Service is down'
expression: 'last(/RabbitMQ node by HTTP/net.tcp.service["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"])=0'
tags:
- tag: scope
value: performance
- uuid: f53379f858f74714b15ee12fe6fc2d08
name: 'RabbitMQ: Service ping'
type: SIMPLE
key: 'net.tcp.service["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"]'
history: 7d
valuemap:
name: 'Service state'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
tags:
- tag: component
value: health
- tag: component
value: network
triggers:
- uuid: 636356e5255d49d992df4b7a0c7d222d
expression: 'last(/RabbitMQ node by HTTP/net.tcp.service["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"])=0'
name: 'RabbitMQ: Service is down'
priority: AVERAGE
manual_close: 'YES'
tags:
- tag: scope
value: availability
- uuid: 14468c29d16440cfb40429f58a0399f4
name: 'RabbitMQ: Get nodes'
type: HTTP_AGENT
key: rabbitmq.get_nodes
history: 1h
trends: '0'
value_type: TEXT
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'The HTTP API endpoint that returns metrics of the nodes.'
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true'
tags:
- tag: component
value: raw
triggers:
- uuid: d4452f05d08343c7a374da412c0f1de6
expression: 'nodata(/RabbitMQ node by HTTP/rabbitmq.get_nodes,30m)=1'
name: 'RabbitMQ: Failed to fetch nodes data'
event_name: 'RabbitMQ: Failed to fetch nodes data (or no data for 30m)'
priority: WARNING
description: 'Zabbix has not received any data for items for the last 30 minutes.'
manual_close: 'YES'
dependencies:
- name: 'RabbitMQ: Service is down'
expression: 'last(/RabbitMQ node by HTTP/net.tcp.service["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"])=0'
tags:
- tag: scope
value: availability
- uuid: ff7ec5f6e2354c90bffdbd25f9360555
name: 'RabbitMQ: Get node overview'
type: HTTP_AGENT
key: rabbitmq.get_node_overview
history: 1h
trends: '0'
value_type: TEXT
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'The HTTP API endpoint that returns cluster-wide metrics.'
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/overview'
tags:
- tag: component
value: raw
- uuid: 3d0770d550b24f5ca80289cb723c8386
name: 'RabbitMQ: Get queues'
type: HTTP_AGENT
key: rabbitmq.get_queues
history: 1h
trends: '0'
value_type: TEXT
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'The HTTP API endpoint that returns metrics of the queues metrics.'
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/queues'
tags:
- tag: component
value: raw
- uuid: 8cb8f380645f4d7f8250b110acd47d1c
name: 'RabbitMQ: Free disk space'
type: DEPENDENT
key: rabbitmq.node.disk_free
delay: '0'
history: 7d
units: B
description: 'The current free disk space.'
preprocessing:
- type: JSONPATH
parameters:
- $.disk_free
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: storage
- uuid: 38099990b854421ca39f178b9c9be016
name: 'RabbitMQ: Disk free alarm'
type: DEPENDENT
key: rabbitmq.node.disk_free_alarm
delay: '0'
history: 7d
description: 'It checks whether the node has a disk alarm or not.'
valuemap:
name: 'Alarm state'
preprocessing:
- type: JSONPATH
parameters:
- $.disk_free_alarm
- type: BOOL_TO_DECIMAL
parameters:
- ''
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: storage
triggers:
- uuid: 093eec2fd9264f158087509d8364dc09
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.node.disk_free_alarm)=1'
name: 'RabbitMQ: Free disk space alarm'
event_name: 'RabbitMQ: Free disk space alarm (Free space threshold has been reached)'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'For more details see [Free Disk Space Alarms](https://www.rabbitmq.com/disk-alarms.html).'
tags:
- tag: scope
value: performance
- uuid: ce9f4b99c77545fb8acd596d72725898
name: 'RabbitMQ: Disk free limit'
type: DEPENDENT
key: rabbitmq.node.disk_free_limit
delay: '0'
history: 7d
units: B
description: 'The free space limit of a disk expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.disk_free_limit
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: storage
- uuid: fae24c176bd34b81b0f578883c5c2760
name: 'RabbitMQ: Used file descriptors'
type: DEPENDENT
key: rabbitmq.node.fd_used
delay: '0'
history: 7d
description: 'The descriptors of the used file.'
preprocessing:
- type: JSONPATH
parameters:
- $.fd_used
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: storage
- uuid: 70ec112fc828476e96a469e0f94fc415
name: 'RabbitMQ: Memory alarm'
type: DEPENDENT
key: rabbitmq.node.mem_alarm
delay: '0'
history: 7d
description: 'It checks whether the host has a memory alarm or not.'
valuemap:
name: 'Alarm state'
preprocessing:
- type: JSONPATH
parameters:
- $.mem_alarm
- type: BOOL_TO_DECIMAL
parameters:
- ''
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: memory
triggers:
- uuid: 843be64cfdcd4df5b3fea4726da69c7e
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.node.mem_alarm)=1'
name: 'RabbitMQ: Memory alarm'
event_name: 'RabbitMQ: Memory alarm (Memory usage threshold has been reached)'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'For more details see [Memory Alarms](https://www.rabbitmq.com/memory.html).'
tags:
- tag: scope
value: performance
- uuid: 2445b494bf0648248b333d6f0afd95a2
name: 'RabbitMQ: Memory limit'
type: DEPENDENT
key: rabbitmq.node.mem_limit
delay: '0'
history: 7d
units: B
description: 'The memory usage with high watermark properties expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.mem_limit
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: memory
- uuid: 9e4f2c0cb6604364ab0a2b4def7466e2
name: 'RabbitMQ: Memory used'
type: DEPENDENT
key: rabbitmq.node.mem_used
delay: '0'
history: 7d
units: B
description: 'The memory usage expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.mem_used
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: memory
- uuid: 129026dd49124ff2ba4f0bcc7f1fa9de
name: 'RabbitMQ: Management plugin version'
type: DEPENDENT
key: rabbitmq.node.overview.management_version
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
description: 'The version of the management plugin in use.'
preprocessing:
- type: JSONPATH
parameters:
- $.management_version
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: rabbitmq.get_node_overview
tags:
- tag: component
value: system
- uuid: d63d8001d5134e2590d3e7ca8b62958c
name: 'RabbitMQ: RabbitMQ version'
type: DEPENDENT
key: rabbitmq.node.overview.rabbitmq_version
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
description: 'The version of the RabbitMQ on the node, which processed this request.'
preprocessing:
- type: JSONPATH
parameters:
- $.rabbitmq_version
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: rabbitmq.get_node_overview
tags:
- tag: component
value: system
triggers:
- uuid: 19989038dfe84fcdb12262ee3782ab41
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.node.overview.rabbitmq_version,#1)<>last(/RabbitMQ node by HTTP/rabbitmq.node.overview.rabbitmq_version,#2) and length(last(/RabbitMQ node by HTTP/rabbitmq.node.overview.rabbitmq_version))>0'
name: 'RabbitMQ: Version has changed'
event_name: 'RabbitMQ: Version has changed (new version: {ITEM.VALUE})'
priority: INFO
description: 'RabbitMQ version has changed. Acknowledge to close the problem manually.'
manual_close: 'YES'
tags:
- tag: scope
value: notice
- uuid: ac9282c012bd4249a096a462d21dcf62
name: 'RabbitMQ: Number of network partitions'
type: DEPENDENT
key: rabbitmq.node.partitions
delay: '0'
history: 7d
description: 'The number of network partitions, which this node "sees".'
preprocessing:
- type: JSONPATH
parameters:
- $.partitions
- type: JAVASCRIPT
parameters:
- 'return JSON.parse(value).length;'
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: network
triggers:
- uuid: 943d239a9fa5443dac3205c65a4da033
expression: 'min(/RabbitMQ node by HTTP/rabbitmq.node.partitions,5m)>0'
name: 'RabbitMQ: Number of network partitions is too high'
event_name: 'RabbitMQ: Number of network partitions is too high (more than 0 for 5m)'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: WARNING
description: 'For more details see [Detecting Network Partitions](https://www.rabbitmq.com/partitions.html#detecting).'
tags:
- tag: scope
value: performance
- uuid: 5f819282c32b49039a2dae56b9be23cd
name: 'RabbitMQ: Is running'
type: DEPENDENT
key: rabbitmq.node.running
delay: '0'
history: 7d
description: 'It "sees" whether the node is running or not.'
valuemap:
name: 'Service state'
preprocessing:
- type: JSONPATH
parameters:
- $.running
- type: BOOL_TO_DECIMAL
parameters:
- ''
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: system
triggers:
- uuid: 4b15e72e2133458ebac9c72c5fcb90e6
expression: 'max(/RabbitMQ node by HTTP/rabbitmq.node.running,5m)=0'
name: 'RabbitMQ: Node is not running'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'RabbitMQ node is not running.'
dependencies:
- name: 'RabbitMQ: Service is down'
expression: 'last(/RabbitMQ node by HTTP/net.tcp.service["{$RABBITMQ.API.SCHEME}","{HOST.CONN}","{$RABBITMQ.API.PORT}"])=0'
tags:
- tag: scope
value: availability
- uuid: ddc906d9a969401ebf520490e62f4086
name: 'RabbitMQ: Runtime run queue'
type: DEPENDENT
key: rabbitmq.node.run_queue
delay: '0'
history: 7d
description: 'The average number of Erlang processes waiting to run.'
preprocessing:
- type: JSONPATH
parameters:
- $.run_queue
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: system
- uuid: 16f4f6a6d8f14980a6edcc2d84b0cd8d
name: 'RabbitMQ: Sockets available'
type: DEPENDENT
key: rabbitmq.node.sockets_total
delay: '0'
history: 7d
description: 'The file descriptors available for use as sockets.'
preprocessing:
- type: JSONPATH
parameters:
- $.sockets_total
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: system
- uuid: 31455694c0994c9d9eaa8af048e88e95
name: 'RabbitMQ: Sockets used'
type: DEPENDENT
key: rabbitmq.node.sockets_used
delay: '0'
history: 7d
description: 'The number of file descriptors used as sockets.'
preprocessing:
- type: JSONPATH
parameters:
- $.sockets_used
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: system
- uuid: 65a2fd59ddfe413b9259c547338f3351
name: 'RabbitMQ: Uptime'
type: DEPENDENT
key: rabbitmq.node.uptime
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Uptime expressed in milliseconds.'
preprocessing:
- type: JSONPATH
parameters:
- $.uptime
- type: MULTIPLIER
parameters:
- '0.001'
master_item:
key: rabbitmq.get_nodes
tags:
- tag: component
value: system
triggers:
- uuid: 6edfa365704f480da4b35b51b6ed84f4
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.node.uptime)<10m'
name: 'RabbitMQ: Host has been restarted'
event_name: 'RabbitMQ: {HOST.NAME} has been restarted (uptime < 10m)'
priority: INFO
description: 'Uptime is less than 10 minutes.'
manual_close: 'YES'
tags:
- tag: scope
value: notice
discovery_rules:
- uuid: fd10dbe5b1ba407dbb52632ecd713ccf
name: 'Health Check 3.8.9- discovery'
type: DEPENDENT
key: rabbitmq.healthcheck.v389.discovery
delay: '0'
description: 'Specific metrics for the versions: up to and including 3.8.4.'
item_prototypes:
- uuid: 22f9a51fd0ea41148846ecde7dbf4d99
name: 'RabbitMQ: Healthcheck{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck[{#SINGLETON}]'
history: 7h
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: 'It checks whether the RabbitMQ application is running; and whether the channels and queues can be listed successfully; and that no alarms are in effect.'
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: JSONPATH
parameters:
- $.status
- type: BOOL_TO_DECIMAL
parameters:
- ''
error_handler: CUSTOM_VALUE
error_handler_params: '0'
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/healthchecks/node'
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: 5c9c080ddd3748a6b5e62ba7765d270d
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.healthcheck[{#SINGLETON}])=0'
name: 'RabbitMQ: Node healthcheck failed'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'For more details see [Health Checks](https://www.rabbitmq.com/monitoring.html#health-checks).'
tags:
- tag: scope
value: availability
master_item:
key: rabbitmq.get_node_overview
preprocessing:
- type: JSONPATH
parameters:
- $.management_version
- type: JAVASCRIPT
parameters:
- |
var rabbit_version = parseInt(value.split('.')[0]) * 10000 +
parseInt(value.split('.')[1]) * 100 +
parseInt(value.split('.')[2])
return JSON.stringify(rabbit_version < 30810 ? [{'{#SINGLETON}': ''}] : []);
- uuid: ab89d103c015400fbbeecaaf9bf01400
name: 'Health Check 3.8.10+ discovery'
type: DEPENDENT
key: rabbitmq.healthcheck.v3810.discovery
delay: '0'
description: 'Specific metrics for the versions: up to and including 3.8.10.'
item_prototypes:
- uuid: d18cd1fd8cd749e4a00b8186fd93345f
name: 'RabbitMQ: Healthcheck: expiration date on the certificates{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck.certificate_expiration[{#SINGLETON}]'
history: 7d
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: |
It checks the expiration date on the certificates for every listener configured to use the Transport Layer Security (TLS).
It responds with a status code `200 OK` if all the certificates are valid (have not expired).
Otherwise, it responds with a status code `503 Service Unavailable`.
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: REGEX
parameters:
- HTTP\/1\.1\b\s(\d+)
- \1
- type: JAVASCRIPT
parameters:
- |
switch(value){
case '200': return 1
case '503': return 0
default: 2}
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months'
status_codes: '200,503,404'
retrieve_mode: HEADERS
tags:
- tag: component
value: certificate
- tag: component
value: health
trigger_prototypes:
- uuid: 20f7cd2d1d2448d5b84711caba2f093b
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.healthcheck.certificate_expiration[{#SINGLETON}])=0'
name: 'RabbitMQ: There are valid TLS certificates expiring in the next month'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: e1359646453e43cbaf0b4e1b89bdcdeb
name: 'RabbitMQ: Healthcheck: local alarms in effect on this node{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck.local_alarms[{#SINGLETON}]'
history: 7d
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: |
It responds with a status code `200 OK` if there are no alarms in effect in the cluster.
Otherwise, it responds with a status code `503 Service Unavailable`.
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: REGEX
parameters:
- HTTP\/1\.1\b\s(\d+)
- \1
- type: JAVASCRIPT
parameters:
- |
switch(value){
case '200': return 1
case '503': return 0
default: 2}
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms'
status_codes: '200,503,404'
retrieve_mode: HEADERS
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: 9761757a70bf4f65b9438471a5de2af0
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.healthcheck.local_alarms[{#SINGLETON}])=0'
name: 'RabbitMQ: There are active alarms in the node'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: 9867c266760a48d981caa1f34f2c3238
name: 'RabbitMQ: Healthcheck: classic mirrored queues without synchronized mirrors online{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck.mirror_sync[{#SINGLETON}]'
history: 7d
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: |
It checks if there are classic mirrored queues without synchronized mirrors online (queues that would potentially lose data if the target node is shut down).
It responds with a status code `200 OK` if there are no such classic mirrored queues.
Otherwise, it responds with a status code `503 Service Unavailable`.
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: REGEX
parameters:
- HTTP\/1\.1\b\s(\d+)
- \1
- type: JAVASCRIPT
parameters:
- |
switch(value){
case '200': return 1
case '503': return 0
default: 2}
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical'
status_codes: '200,503,404'
retrieve_mode: HEADERS
tags:
- tag: component
value: health
- tag: component
value: queues
trigger_prototypes:
- uuid: 36b4702437614a3681a5a77acef323fc
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.healthcheck.mirror_sync[{#SINGLETON}])=0'
name: 'RabbitMQ: There are queues that could potentially lose data if this node goes offline.'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: 972b6409c80d4ac796e5472b72ce82ae
name: 'RabbitMQ: Healthcheck: queues with minimum online quorum{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck.quorum[{#SINGLETON}]'
history: 7d
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: |
It checks if there are quorum queues with minimum online quorum (queues that would lose their quorum and availability if the target node is shut down).
It responds with a status code `200 OK` if there are no such quorum queues.
Otherwise, it responds with a status code `503 Service Unavailable`.
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: REGEX
parameters:
- HTTP\/1\.1\b\s(\d+)
- \1
- type: JAVASCRIPT
parameters:
- |
switch(value){
case '200': return 1
case '503': return 0
default: 2}
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical'
status_codes: '200,503,404'
retrieve_mode: HEADERS
tags:
- tag: component
value: health
- tag: component
value: queues
trigger_prototypes:
- uuid: cfaba160cc0441c09010de05316596bd
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.healthcheck.quorum[{#SINGLETON}])=0'
name: 'RabbitMQ: There are queues that would lose their quorum and availability if this node is shut down.'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: d701b9acae86464282b308df720a1de2
name: 'RabbitMQ: Healthcheck: virtual hosts on this node{#SINGLETON}'
type: HTTP_AGENT
key: 'rabbitmq.healthcheck.virtual_hosts[{#SINGLETON}]'
history: 7d
authtype: BASIC
username: '{$RABBITMQ.API.USER}'
password: '{$RABBITMQ.API.PASSWORD}'
description: |
It responds with It responds with a status code `200 OK` if all virtual hosts are running on the target node.
Otherwise it responds with a status code `503 Service Unavailable`.
valuemap:
name: 'RabbitMQ healthcheck'
preprocessing:
- type: REGEX
parameters:
- HTTP\/1\.1\b\s(\d+)
- \1
- type: JAVASCRIPT
parameters:
- |
switch(value){
case '200': return 1
case '503': return 0
default: 2}
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
url: '{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts'
status_codes: '200,503,404'
retrieve_mode: HEADERS
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: d1638953e2794c3e8113ba907837c968
expression: 'last(/RabbitMQ node by HTTP/rabbitmq.healthcheck.virtual_hosts[{#SINGLETON}])=0'
name: 'RabbitMQ: There are not running virtual hosts'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
master_item:
key: rabbitmq.get_node_overview
preprocessing:
- type: JSONPATH
parameters:
- $.management_version
- type: JAVASCRIPT
parameters:
- |
var rabbit_version = parseInt(value.split('.')[0]) * 10000 +
parseInt(value.split('.')[1]) * 100 +
parseInt(value.split('.')[2])
return JSON.stringify(rabbit_version >= 30810 ? [{'{#SINGLETON}': ''}] : []);
- uuid: cc1d85b6045b44b38f588cd9a4c6c62d
name: 'Queues discovery'
type: DEPENDENT
key: rabbitmq.queues.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#QUEUE}'
value: '{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}'
formulaid: B
- macro: '{#QUEUE}'
value: '{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}'
operator: NOT_MATCHES_REGEX
formulaid: C
- macro: '{#NODE}'
value: '{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}'
formulaid: A
description: 'The metrics for an individual queue.'
item_prototypes:
- uuid: 335ed3ef31e2471b9cdb25537cee4fe8
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Get data'
type: DEPENDENT
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns [{#VHOST}][{#QUEUE}] queue metrics'
preprocessing:
- type: JSONPATH
parameters:
- '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].first()'
master_item:
key: rabbitmq.get_queues
tags:
- tag: component
value: raw
- uuid: be1c1c6b727a45cca039f0f00f184943
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Consumers'
type: DEPENDENT
key: 'rabbitmq.queue.consumers["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The number of consumers.'
preprocessing:
- type: JSONPATH
parameters:
- $.consumers
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: consumers
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 5d420017c0f14f37aa7c7ef986b54a77
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Memory'
type: DEPENDENT
key: 'rabbitmq.queue.memory["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
units: B
description: 'The bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures.'
preprocessing:
- type: JSONPATH
parameters:
- $.memory
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: memory
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 3902227627d84cad8794604bd4f091fd
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages acknowledged per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The number of messages (per second) delivered to clients and acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.ack_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 2f2ca541c80b47cba2b5147a1c77aac5
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages acknowledged'
type: DEPENDENT
key: 'rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The number of messages delivered to clients and acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.ack
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: b8a9c0ca7fda4756a8b79ac83c4bcd07
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages delivered per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The count of messages (per second) delivered to consumers in acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: e150c5d35ed144ca87945ef4f7a0998a
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages delivered'
type: DEPENDENT
key: 'rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The count of messages delivered to consumers in acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 9b74bc2a830e43e28ad6c44037dbd1d7
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Sum of messages delivered per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages.deliver_get.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of delivery per second. The sum of messages delivered (per second) to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to `basic.get`: in acknowledgement mode and in no-acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_get_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 837c46d0fd7d4ad18669dcbf62ae7025
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Sum of messages delivered'
type: DEPENDENT
key: 'rabbitmq.queue.messages.deliver_get["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.deliver_get
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 232ee8103a5d4fb6b2b41ca641f19088
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages published per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages.publish.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of published messages per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: dfafc461ad8a45ba8f08a12ec9f4e2d3
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages published'
type: DEPENDENT
key: 'rabbitmq.queue.messages.publish["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The count of published messages.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.publish
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 888dbb2c1b13429b9d20034fcc783f14
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The count of total messages per second in the queue.'
preprocessing:
- type: JSONPATH
parameters:
- $.messages_details.rate
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: a34e852ddce64d80a88129eef9ba1ab2
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages redelivered per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The rate of messages redelivered per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.redeliver_details.rate
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 75501a52ffab4972a5988ac4ae0c82d8
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages redelivered'
type: DEPENDENT
key: 'rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The count of subset of messages in the `deliver_get` queue with the `redelivered` flag set.'
preprocessing:
- type: JSONPATH
parameters:
- $.message_stats.redeliver
error_handler: CUSTOM_VALUE
error_handler_params: '0'
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 171e5dbff18f47c98da2c1a3b7120622
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages'
type: DEPENDENT
key: 'rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The count of total messages in the queue.'
preprocessing:
- type: JSONPATH
parameters:
- $.messages
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
trigger_prototypes:
- uuid: b6f52153a22144338e6d002287446ac1
expression: 'min(/RabbitMQ node by HTTP/rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"],5m)>{$RABBITMQ.MESSAGES.MAX.WARN:"{#QUEUE}"}'
name: 'RabbitMQ: Too many messages in queue [{#VHOST}][{#QUEUE}]'
event_name: 'RabbitMQ: Too many messages in queue [{#VHOST}][{#QUEUE}] (over {$RABBITMQ.MESSAGES.MAX.WARN:"{#QUEUE}"} for 5m)'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: WARNING
tags:
- tag: scope
value: performance
- uuid: f55c5f66ddac46fd95c5379875342284
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages ready per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages_ready.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The number of messages per second ready to be delivered to clients.'
preprocessing:
- type: JSONPATH
parameters:
- $.messages_ready_details.rate
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: 67c9a8eee9a54eed946ab141927494c4
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages ready'
type: DEPENDENT
key: 'rabbitmq.queue.messages_ready["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The number of messages ready to be delivered to clients.'
preprocessing:
- type: JSONPATH
parameters:
- $.messages_ready
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: a8cc3296990640a6bf5d7319ba2e8650
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages unacknowledged per second'
type: DEPENDENT
key: 'rabbitmq.queue.messages_unacknowledged.rate["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'The number of messages per second delivered to clients but not yet acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.messages_unacknowledged_details.rate
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
- uuid: bb6a84983caa486482e241c6bf7e9534
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages unacknowledged'
type: DEPENDENT
key: 'rabbitmq.queue.messages_unacknowledged["{#VHOST}/{#QUEUE}"]'
delay: '0'
history: 7d
description: 'The number of messages delivered to clients but not yet acknowledged.'
preprocessing:
- type: JSONPATH
parameters:
- $.messages_unacknowledged
master_item:
key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]'
tags:
- tag: component
value: messages
- tag: queue
value: '{#QUEUE}'
- tag: vhost
value: '{#VHOST}'
graph_prototypes:
- uuid: 4e6b194fd13f4b97a66ee4d335958003
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages per second'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.deliver_get.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.publish.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages_ready.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages_unacknowledged.rate["{#VHOST}/{#QUEUE}"]'
- uuid: adba8787c1d14670a5ca3bf07d9dc663
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages status'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"]'
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"]'
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"]'
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.deliver_get["{#VHOST}/{#QUEUE}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.publish["{#VHOST}/{#QUEUE}"]'
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages_ready["{#VHOST}/{#QUEUE}"]'
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"]'
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ node by HTTP'
key: 'rabbitmq.queue.messages_unacknowledged["{#VHOST}/{#QUEUE}"]'
master_item:
key: rabbitmq.get_queues
lld_macro_paths:
- lld_macro: '{#QUEUE}'
path: $.name
- lld_macro: '{#VHOST}'
path: $.vhost
- lld_macro: '{#NODE}'
path: $.node
tags:
- tag: class
value: software
- tag: target
value: rabbitmq
macros:
- macro: '{$RABBITMQ.API.PASSWORD}'
value: zabbix
- macro: '{$RABBITMQ.API.PORT}'
value: '15672'
description: 'The port of the RabbitMQ API endpoint.'
- macro: '{$RABBITMQ.API.SCHEME}'
value: http
description: 'The request scheme, which may be HTTP or HTTPS.'
- macro: '{$RABBITMQ.API.USER}'
value: zbx_monitor
- macro: '{$RABBITMQ.CLUSTER.NAME}'
value: rabbit
description: 'The name of the RabbitMQ cluster.'
- macro: '{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}'
value: '.*'
description: 'This macro is used in the discovery of queues. It can be overridden at host level or its linked template level.'
- macro: '{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}'
value: CHANGE_IF_NEEDED
description: 'This macro is used in the discovery of queues. It can be overridden at host level or its linked template level.'
- macro: '{$RABBITMQ.MESSAGES.MAX.WARN}'
value: '1000'
description: 'The maximum number of messages in the queue for a trigger expression.'
- macro: '{$RABBITMQ.RESPONSE_TIME.MAX.WARN}'
value: '10'
description: 'The maximum response time by the RabbitMQ expressed in seconds for a trigger expression.'
dashboards:
- uuid: 5e70f5ff6706442abc83ec1b206d9fe4
name: 'RabbitMQ node status'
pages:
- widgets:
- type: graph
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by HTTP'
name: 'RabbitMQ: Node status'
- type: graph
x: '12'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by HTTP'
name: 'RabbitMQ: Uptime'
- type: graph
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by HTTP'
name: 'RabbitMQ: Disk free'
- type: graph
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by HTTP'
name: 'RabbitMQ: Memory used'
- type: graph
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by HTTP'
name: 'RabbitMQ: File descriptors'
- type: graph
x: '12'
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by HTTP'
name: 'RabbitMQ: Sockets'
valuemaps:
- uuid: e65c3d3e8ea443a281b37c51ca461c26
name: 'Alarm state'
mappings:
- value: '0'
newvalue: Ok
- value: '1'
newvalue: Alarm
- uuid: 55188bbb2ede4300a6292b373ee36ab7
name: 'RabbitMQ healthcheck'
mappings:
- value: '0'
newvalue: Failed
- value: '1'
newvalue: Ok
- value: '2'
newvalue: Error
- uuid: aaf7d0b8b306412b8a3272343708518f
name: 'Service state'
mappings:
- value: '0'
newvalue: Down
- value: '1'
newvalue: Up
graphs:
- uuid: 2d72cf70b71a414680cc667c27141653
name: 'RabbitMQ: Connections'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.object_totals.connections
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.object_totals.channels
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.object_totals.consumers
- uuid: 02f7ec07b4384795bbf5212e9ea06fb0
name: 'RabbitMQ: Disk free'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.disk_free
- sortorder: '1'
drawtype: BOLD_LINE
color: FF0000
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.disk_free_limit
- uuid: 71eff9e96a8b46acbe1cf00d1e0cc388
name: 'RabbitMQ: File descriptors'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.fd_used
- uuid: d4e9c478e03c4ecab7538c3baa77f61f
name: 'RabbitMQ: Memory used'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.mem_used
- sortorder: '1'
drawtype: BOLD_LINE
color: FF0000
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.mem_limit
- uuid: 6a66846adab54906800f80ac025b2003
name: 'RabbitMQ: Messages'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.queue_totals.messages
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.queue_totals.messages.ready
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.queue_totals.messages.unacknowledged
- uuid: fe3139da95aa4fc7a7db4aac87c52c03
name: 'RabbitMQ: Messages per second'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.publish.rate
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.ack.rate
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.confirm.rate
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.deliver_get.rate
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.publish_in.rate
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.publish_out.rate
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.redeliver.rate
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.return_unroutable.rate
- uuid: a4a33e6004f34a8cb2709aae632f456d
name: 'RabbitMQ: Messages status'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.publish
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.ack
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.confirm
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.deliver_get
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.publish_in
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.publish_out
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.redeliver
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.messages.return_unroutable
- uuid: e6497c3e2847407ca8f912e34d9357b4
name: 'RabbitMQ: Node status'
graph_items:
- drawtype: BOLD_LINE
color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.running
- uuid: 987d5621410d4dc6b66fb72e9aca2357
name: 'RabbitMQ: Queues'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ cluster by HTTP'
key: rabbitmq.overview.object_totals.queues
- uuid: f3c071a0c20340f1bf86ecd66b911bb2
name: 'RabbitMQ: Sockets'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.sockets_used
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.sockets_total
- uuid: 415ce1917ecc4575bcbeeaf3b01df4cb
name: 'RabbitMQ: Uptime'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by HTTP'
key: rabbitmq.node.uptime