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.

2822 lines
122 KiB

1 year ago
zabbix_export:
version: '7.0'
template_groups:
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
name: Templates/Applications
templates:
- uuid: 5fa761bc51e4432a90c6c9eece930c4a
template: 'RabbitMQ cluster by Zabbix agent'
name: 'RabbitMQ cluster by Zabbix agent'
description: |
Get cluster metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix 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: 31908a8287be442681a0ded564977ff2
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: f78fabbd7e3f44dc81b1cf9c90b26f2e
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 45cf9b5cf5cd4b13b0e140383233799f
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: bc85a070e1e9451b953d85bb519ed63d
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 004da545af4a4f61bd2167281bb9a02b
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: c00a84c8676544dcbdd74fec13881063
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 4215bdf87f0e426f85bd79434a0fb0bb
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: cfadadb681474c7eb0512d1f4d223ff6
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: bb068ac7c6094fb8a59cd1a003e88c39
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: db511bf1cd6c465f8fe1ae6b5fa08660
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 23dcb85dd9bc4fefb1a9682956181c2e
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 05e4c745be95412995749c352ec0f925
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 650d6a94e381477299c62cfb2a2252cf
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 6d7eb8880bca4c6e92f65f8a32911599
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: e3faec09ae0a4d7aa8aab50d71de7bb3
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 72267cce69cf490ea626ff3ae17b6362
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 2b03117e863348ee84d94acfe877ef7f
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: channels
- uuid: b3cdd6739a964447b524df4fdd726434
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: connections
- uuid: c39007dbd4374bee943d61b7e90c0f01
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: consumers
- uuid: be0b952e5d08409aa2c65fe143a9193c
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: exchanges
- uuid: d7c86b4921f54924af1b72cd2493da1c
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: queues
- uuid: c98b2b3dd2bd4fec9e7c571bc631167b
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: efaabe175e5f4fffa8a810ea35753475
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: 6cf09ed9d244464288c8050b10622e3a
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: messages
- uuid: f015f991bcea4c4dbf83dfb013300010
name: 'RabbitMQ: Get exchanges'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]'
history: 1h
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns exchanges metrics.'
preprocessing:
- type: REGEX
parameters:
- '\n\s?\n(.*)'
- \1
tags:
- tag: component
value: raw
- uuid: 943eabfb44164908b9135aa4d6478bea
name: 'RabbitMQ: Get overview'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
history: 1h
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns cluster-wide metrics.'
preprocessing:
- type: REGEX
parameters:
- '\n\s?\n(.*)'
- \1
tags:
- tag: component
value: raw
triggers:
- uuid: 000d3e773f6e4ebf89f16daa2ce8c168
expression: 'nodata(/RabbitMQ cluster by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/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
discovery_rules:
- uuid: e28b4491721d4dbf8eded86a5caeabc2
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: 68892e56e0074516b5d052dd7178955f
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: fcf7807f096d4cddb8fa2b3671814dfa
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: 858f8ce62fa04a31902569a712e58234
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: 38d41b5d815a40ff816f6fad2395b61a
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: ab53a6957ea641fe8b2a7f26c4bcc743
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: 412e5003ad2d4e80832ee0551a596791
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: 32a0c7af8b9940a482a3a1d63ee90940
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: 1eccbe4450d74d5f9c5b8f7e6279b214
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: 3520a523abd1413f88c1c19978e6d562
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: 520d8301e48540679472bf508a6e293b
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: 6beb5e40cb8b416a8722ea77abb7355d
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: beb929ee395e4caba73f3063c24a1d60
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: 7485d5a12fb04a13810ea54b9cc598e1
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: 58a06005659943429122d451acb521e0
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: 295eeb3bd071400d921efe1f5a924a3e
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: 2901eccbd8ef483ba63c5522755155e7
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: 4491f48f732d40c0b7f29010cf4ca046
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]'
tags:
- tag: component
value: raw
master_item:
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]'
lld_macro_paths:
- lld_macro: '{#EXCHANGE}'
path: $.name
- lld_macro: '{#TYPE}'
path: $.type
- lld_macro: '{#VHOST}'
path: $.vhost
- uuid: 406836367f45425fbd181a20dc3d08d7
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: 4c93b04164d24eb8b9dbdab652afc7bc
name: 'RabbitMQ: Healthcheck: alarms in effect in the cluster{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/health/checks/alarms{#SINGLETON}"]'
history: 7d
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
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: 032949c387c64223b3125ba1120ae082
expression: 'last(/RabbitMQ cluster by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/health/checks/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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/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.CLUSTER_HOST}'
value: 127.0.0.1
description: 'The hostname or IP of the API endpoint for the RabbitMQ cluster.'
- 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: a886a871a00d47e28b8648cadae3bc99
name: 'RabbitMQ overview'
pages:
- widgets:
- type: graph
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by Zabbix agent'
name: 'RabbitMQ: Messages'
- type: graph
x: '12'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by Zabbix agent'
name: 'RabbitMQ: Connections'
- type: graph
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by Zabbix agent'
name: 'RabbitMQ: Messages status'
- type: graph
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by Zabbix agent'
name: 'RabbitMQ: Queues'
- type: graph
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ cluster by Zabbix agent'
name: 'RabbitMQ: Messages per second'
valuemaps:
- uuid: 78275d6daacf42b4b97e3d806dfe81fe
name: 'RabbitMQ healthcheck'
mappings:
- value: '0'
newvalue: Failed
- value: '1'
newvalue: Ok
- value: '2'
newvalue: Error
- uuid: d5dc11ae9ab143a89c4be534bbb35188
template: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ node by Zabbix agent'
description: |
Get node metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix 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: b1f191f9077f4382b5b87e0085ae2622
name: 'RabbitMQ: Service response time'
key: 'net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]'
history: 7d
value_type: FLOAT
units: s
tags:
- tag: component
value: system
- uuid: 6229b623f5ff40f9a65e9573b3b86e3f
name: 'RabbitMQ: Service ping'
key: 'net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$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
- uuid: 8201cc537b124d9292fcf692922ee0ad
name: 'RabbitMQ: Get processes summary'
key: 'proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]'
history: '0'
trends: '0'
value_type: TEXT
description: 'The aggregated data of summary metrics for all processes.'
tags:
- tag: component
value: raw
- uuid: 7dad79be93bd46bba7a2540b38080b06
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: storage
- uuid: d8de1eb13f024ce99388fc4bb68d6ad0
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: storage
triggers:
- uuid: b68cb12ecd4046fd80a717fb557f04e8
expression: 'last(/RabbitMQ node by Zabbix agent/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: 4e62b476bd11497f9190d1f720f22f75
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: storage
- uuid: 09aeab86c69846eb82d27c2f82f46d2b
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: storage
- uuid: e059b278ba384133a72dc723c2b2c40b
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: memory
triggers:
- uuid: ec6ae727fe774b0fa56bb4d9ad773e35
expression: 'last(/RabbitMQ node by Zabbix agent/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: 54bd4a47d635444e8e2e955325dbb976
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: memory
- uuid: d6a01ec409a6449986c5c0a81ffaf914
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: memory
- uuid: db91f84a5ad7412c959fbfe4e3b6df88
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: system
- uuid: 52a0be5049ee40748761d301a644315b
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
tags:
- tag: component
value: system
triggers:
- uuid: daf98bb4593d4697bc51423b2f65ba41
expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.node.overview.rabbitmq_version,#1)<>last(/RabbitMQ node by Zabbix agent/rabbitmq.node.overview.rabbitmq_version,#2) and length(last(/RabbitMQ node by Zabbix agent/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: 5e8c1ed0b073461eb14477edac3c756a
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: network
triggers:
- uuid: 5bed266725e94000804b0ecc7bce6209
expression: 'min(/RabbitMQ node by Zabbix agent/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: 087fcb3992ef4e35bacd4b6e69ef93d3
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: system
- uuid: 1ae6f429e99d4ddaa54aa6adab6b8100
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: system
- uuid: 3aa508520f224150a05a7ebb64d22c5e
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: system
- uuid: de2cbe02ff6c47d78b6c7105709f4805
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: system
- uuid: a28b6c8cca5544b79c2d9946c1978c7e
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
tags:
- tag: component
value: system
triggers:
- uuid: 729c448ebabb417bb7ce17b1634c4484
expression: 'last(/RabbitMQ node by Zabbix agent/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
- uuid: 61730555a0ae4f798ea740effb82764c
name: 'RabbitMQ: Get nodes'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]'
history: 1h
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns metrics of the nodes.'
preprocessing:
- type: REGEX
parameters:
- '\n\s?\n(.*)'
- \1
tags:
- tag: component
value: raw
- uuid: 1af326f40cdb407a96b34025062b4743
name: 'RabbitMQ: Get node overview'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]'
history: 1h
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns cluster-wide metrics.'
preprocessing:
- type: REGEX
parameters:
- '\n\s?\n(.*)'
- \1
tags:
- tag: component
value: raw
- uuid: 7fb61ad564db42d5a373912491f5c9d3
name: 'RabbitMQ: Get queues'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"]'
history: 1h
trends: '0'
value_type: TEXT
description: 'The HTTP API endpoint that returns metrics of the queues metrics.'
preprocessing:
- type: REGEX
parameters:
- '\n\s?\n(.*)'
- \1
tags:
- tag: component
value: raw
discovery_rules:
- uuid: 04ef7d13809c45009553815f60ef5ba8
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: 8b959a9d03dc4ae8bed7292973f4fcc4
name: 'RabbitMQ: Healthcheck{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node{#SINGLETON}"]'
history: 7h
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: REGEX
parameters:
- '\n\s?\n(.*)'
- \1
- type: JSONPATH
parameters:
- $.status
- type: BOOL_TO_DECIMAL
parameters:
- ''
error_handler: CUSTOM_VALUE
error_handler_params: '0'
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: bf6bcbda20ed46cbb779d9c1f446dfa8
expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node{#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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/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: 3c0021a3e57142eb806deb5b47b6700a
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: 0f1cd729d8f4447db25e0af19eae595d
name: 'RabbitMQ: Healthcheck: expiration date on the certificates{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months{#SINGLETON}"]'
history: 7d
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
tags:
- tag: component
value: certificate
- tag: component
value: health
trigger_prototypes:
- uuid: d180912136c74e5cb246655ecab75f57
expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months{#SINGLETON}"])=0'
name: 'RabbitMQ: There are valid TLS certificates expiring in the next month'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'It checks if there are valid TLS certificates expiring in the next month. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: 701449b128cb42cdb971fc608ba9f29b
name: 'RabbitMQ: Healthcheck: local alarms in effect on this node{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms{#SINGLETON}"]'
history: 7d
description: |
It responds with a status code `200 OK` if there are no local alarms in effect 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
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: 62962f18baa4480294e097fec2cc5e4c
expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms{#SINGLETON}"])=0'
name: 'RabbitMQ: There are active alarms in the node'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'It checks the active alarms in the nodes via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: 7a07966d8dde4f2caa9ff95693b86974
name: 'RabbitMQ: Healthcheck: classic mirrored queues without synchronized mirrors online{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical{#SINGLETON}"]'
history: 7d
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
tags:
- tag: component
value: health
- tag: component
value: queues
trigger_prototypes:
- uuid: 19e392f9e48e4c8287e04751a2a73843
expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical{#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: 'It checks whether there are queues that could potentially lose data if this node goes offline via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: f6ec1bb1cc4741be852136fac2c63333
name: 'RabbitMQ: Healthcheck: queues with minimum online quorum{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical{#SINGLETON}"]'
history: 7d
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
tags:
- tag: component
value: health
- tag: component
value: queues
trigger_prototypes:
- uuid: e063b6dde6a0484ba1561861d8b1f0c1
expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical{#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: 'It checks if there are queues that could potentially lose data if this node goes offline via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
- uuid: 0d1ad3daf2bb46dba2c9913c1684a0d4
name: 'RabbitMQ: Healthcheck: virtual hosts on this node{#SINGLETON}'
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts{#SINGLETON}"]'
history: 7d
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
tags:
- tag: component
value: health
- tag: component
value: system
trigger_prototypes:
- uuid: b61117e5eeff4d41a9a2f1729ec174b2
expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts{#SINGLETON}"])=0'
name: 'RabbitMQ: There are not running virtual hosts'
opdata: 'Current state: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'It checks if there are not running virtual hosts via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.'
tags:
- tag: scope
value: notice
master_item:
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/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: 7cdf2316fa664f34b5de4f315bb7caf9
name: 'RabbitMQ process discovery'
type: DEPENDENT
key: rabbitmq.proc.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#RABBITMQ.NAME}'
value: '{$RABBITMQ.PROCESS_NAME}'
formulaid: A
description: 'The discovery of the RabbitMQ summary processes.'
item_prototypes:
- uuid: 0b195bf594c44b1f869b4a7671f61453
name: 'RabbitMQ: CPU utilization'
key: 'proc.cpu.util[{#RABBITMQ.NAME}]'
history: 7d
value_type: FLOAT
units: '%'
description: 'The percentage of the CPU utilization by a process {#RABBITMQ.NAME}.'
tags:
- tag: component
value: cpu
- uuid: 882cf9cfecb448f3af17e12bf9aa7bef
name: 'RabbitMQ: Get process data'
type: DEPENDENT
key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'The summary metrics aggregated by a process {#RABBITMQ.NAME}.'
preprocessing:
- type: JSONPATH
parameters:
- '$.[?(@["name"]=="{#RABBITMQ.NAME}")].first()'
error_handler: CUSTOM_VALUE
error_handler_params: 'Failed to retrieve process {#RABBITMQ.NAME} data'
master_item:
key: 'proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]'
tags:
- tag: component
value: raw
- uuid: 8f1c8d2449c44ab590842184d9deb3a6
name: 'RabbitMQ: Number of running processes'
type: DEPENDENT
key: 'rabbitmq.proc.num[{#RABBITMQ.NAME}]'
delay: '0'
history: 7d
description: 'The number of running processes {#RABBITMQ.NAME}.'
preprocessing:
- type: JSONPATH
parameters:
- $.processes
error_handler: CUSTOM_VALUE
error_handler_params: '0'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
master_item:
key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 2979bc7d779b404696f7eac273e99ea7
expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])=0'
name: 'RabbitMQ: Process is not running'
priority: HIGH
tags:
- tag: scope
value: availability
- uuid: 875ab477c06943d7881ee896936ee8a2
name: 'RabbitMQ: Memory usage, %'
type: DEPENDENT
key: 'rabbitmq.proc.pmem[{#RABBITMQ.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'The percentage of real memory used by a process {#RABBITMQ.NAME}.'
preprocessing:
- type: JSONPATH
parameters:
- $.pmem
error_handler: DISCARD_VALUE
master_item:
key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]'
tags:
- tag: component
value: memory
- uuid: 6f13f672d8ce4c9592e0f3f5ec3b0ec4
name: 'RabbitMQ: Memory usage (rss)'
type: DEPENDENT
key: 'rabbitmq.proc.rss[{#RABBITMQ.NAME}]'
delay: '0'
history: 7d
units: B
description: 'The summary of resident set size memory used by a process {#RABBITMQ.NAME} expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.rss
error_handler: DISCARD_VALUE
master_item:
key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]'
tags:
- tag: component
value: memory
- uuid: 4faac75027d14304ab071602df8f2937
name: 'RabbitMQ: Memory usage (vsize)'
type: DEPENDENT
key: 'rabbitmq.proc.vmem[{#RABBITMQ.NAME}]'
delay: '0'
history: 7d
units: B
description: 'The summary of virtual memory used by a process {#RABBITMQ.NAME} expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.vsize
error_handler: DISCARD_VALUE
master_item:
key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]'
tags:
- tag: component
value: memory
trigger_prototypes:
- uuid: 4f2a88d09b1b49879d80e0794ec19e0e
expression: 'nodata(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"],30m)=1 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0'
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: Process is not running'
expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])=0'
tags:
- tag: scope
value: availability
- uuid: 253acf98446e4790975b330d44dd6b96
expression: 'max(/RabbitMQ node by Zabbix agent/rabbitmq.node.running,5m)=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>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 Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0'
tags:
- tag: scope
value: availability
- uuid: af5cfb0004e04562a9720b9e1b41fd5b
expression: 'last(/RabbitMQ node by Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0'
name: 'RabbitMQ: Service is down'
priority: AVERAGE
manual_close: 'YES'
tags:
- tag: scope
value: availability
- uuid: 5cb80a7552d74e44a83d0825f039f89f
expression: 'min(/RabbitMQ node by Zabbix agent/net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"],5m)>{$RABBITMQ.RESPONSE_TIME.MAX.WARN} and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0'
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 Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0'
tags:
- tag: scope
value: performance
graph_prototypes:
- uuid: 180a5d36d48f44fbaf6f86c5cf9e10f9
name: 'RabbitMQ: Memory usage[{#RABBITMQ.NAME}]'
graph_items:
- drawtype: BOLD_LINE
color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.proc.vmem[{#RABBITMQ.NAME}]'
- sortorder: '1'
drawtype: BOLD_LINE
color: F63100
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.proc.rss[{#RABBITMQ.NAME}]'
master_item:
key: 'proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]'
lld_macro_paths:
- lld_macro: '{#RABBITMQ.NAME}'
path: $.name
- uuid: d1d32fc6ae1f445a98144a31214ca825
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: 158f41423b094efcb90ac273d1e6349c
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: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"]'
tags:
- tag: component
value: raw
- uuid: fcbee789f2864010b26ac69894659e77
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: 4b4491d5fb2b41eeae044c3d28de1b18
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: 223fa7a8372f4e9883d376c9f3e1af2e
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: 335513a34e6a4909acfa1be278dd31b3
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: 55b774e5aac249edbb8881373060b15b
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: 2a87988327e1483c84d3f1867bab367f
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: 3f3024da744349b59c7810dfd10d11a3
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: ad5e9fa0260e4170887fb2dfdc508959
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: 393306b9cb0148038d02ad9c48cf1fbb
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: 44814c9f6f154fdcbab66249d0777eae
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: 9096e81341374d2fb7dd58e932783afc
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: 8902103fd86746d0851b75a1262e36a9
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: 3ac1a4b83c9f4d4c8a438d39aca8e82a
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: aabd7d6fe6a047d186504386d3a48ae1
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: 58986cee2b4846b3b7bd3caf772d7ac6
expression: 'min(/RabbitMQ node by Zabbix agent/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: d2e1a2857b314ed3818f92312f5d0043
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: 4a75c2d9e0354f47b1c8243bad17bd58
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: d5d88879e3b844d7b03ab956a673daff
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: 252dcf1262014ce599a2eec81f7223eb
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: a6223df79d334c29ada36ba20729b885
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages per second'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.deliver_get.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.publish.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages_ready.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"]'
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages_unacknowledged.rate["{#VHOST}/{#QUEUE}"]'
- uuid: 03c88aa9d8b94389aafcf607dff1756f
name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages status'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"]'
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"]'
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"]'
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.deliver_get["{#VHOST}/{#QUEUE}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.publish["{#VHOST}/{#QUEUE}"]'
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages_ready["{#VHOST}/{#QUEUE}"]'
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"]'
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ node by Zabbix agent'
key: 'rabbitmq.queue.messages_unacknowledged["{#VHOST}/{#QUEUE}"]'
master_item:
key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/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.HOST}'
value: 127.0.0.1
description: 'The hostname or IP of the API endpoint for the RabbitMQ.'
- 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.PROCESS.NAME.PARAMETER}'
description: 'The process name of the RabbitMQ server used in the item key `proc.get`. It could be specified if the correct process name is known.'
- macro: '{$RABBITMQ.PROCESS_NAME}'
value: beam.smp
description: 'The process name filter for the RabbitMQ process discovery.'
- 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: ce0af043ed2c4e7c988674c9ecb787d6
name: 'RabbitMQ node status'
pages:
- widgets:
- type: graph
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ: Node status'
- type: graph
x: '12'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ: Uptime'
- type: graph
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ: Disk free'
- type: graph
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ: Memory used'
- type: graph
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ: File descriptors'
- type: graph
x: '12'
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'RabbitMQ node by Zabbix agent'
name: 'RabbitMQ: Sockets'
valuemaps:
- uuid: ce579def20ac488dbce1ff69baaa8c50
name: 'Alarm state'
mappings:
- value: '0'
newvalue: Ok
- value: '1'
newvalue: Alarm
- uuid: 08ee896f31a1457a8e9b4f6f251700d4
name: 'RabbitMQ healthcheck'
mappings:
- value: '0'
newvalue: Failed
- value: '1'
newvalue: Ok
- value: '2'
newvalue: Error
- uuid: c369d410303349b4973431b6ff8dcb85
name: 'Service state'
mappings:
- value: '0'
newvalue: Down
- value: '1'
newvalue: Up
graphs:
- uuid: 2dbd4f9285a34786a210c6e16d87ed85
name: 'RabbitMQ: Connections'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.object_totals.connections
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.object_totals.channels
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.object_totals.consumers
- uuid: 72472749150041d59a52ce5abb3dc03e
name: 'RabbitMQ: Disk free'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.disk_free
- sortorder: '1'
drawtype: BOLD_LINE
color: FF0000
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.disk_free_limit
- uuid: 132133fc0fd04002a5a50fc0d5169e6a
name: 'RabbitMQ: File descriptors'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.fd_used
- uuid: a5949ccf83434f1fb26cfe0a3671085e
name: 'RabbitMQ: Memory used'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.mem_used
- sortorder: '1'
drawtype: BOLD_LINE
color: FF0000
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.mem_limit
- uuid: dca08567e6ce4dcbb60f72a431de5ddf
name: 'RabbitMQ: Messages'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.queue_totals.messages
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.queue_totals.messages.ready
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.queue_totals.messages.unacknowledged
- uuid: ad303b1816a84248a347ef4773bf2c44
name: 'RabbitMQ: Messages per second'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.publish.rate
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.ack.rate
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.confirm.rate
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.deliver_get.rate
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.publish_in.rate
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.publish_out.rate
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.redeliver.rate
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.return_unroutable.rate
- uuid: 94fa39136a0d42b2997dd3b9a7581621
name: 'RabbitMQ: Messages status'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.publish
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.ack
- sortorder: '2'
color: 00611C
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.confirm
- sortorder: '3'
color: F7941D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.deliver_get
- sortorder: '4'
color: FC6EA3
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.publish_in
- sortorder: '5'
color: 6C59DC
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.publish_out
- sortorder: '6'
color: C7A72D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.redeliver
- sortorder: '7'
color: BA2A5D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.messages.return_unroutable
- uuid: 358fb67c294d4486a79797818ebde851
name: 'RabbitMQ: Node status'
graph_items:
- drawtype: BOLD_LINE
color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.running
- uuid: 3205b991eb5443e680b571b23b4a1721
name: 'RabbitMQ: Queues'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ cluster by Zabbix agent'
key: rabbitmq.overview.object_totals.queues
- uuid: 7e5fec850547465091a38f78268a207f
name: 'RabbitMQ: Sockets'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.sockets_used
- sortorder: '1'
color: F63100
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.sockets_total
- uuid: bf2b0b66f4d94549aae9cbe04dfe9bd2
name: 'RabbitMQ: Uptime'
graph_items:
- color: 199C0D
item:
host: 'RabbitMQ node by Zabbix agent'
key: rabbitmq.node.uptime