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
2822 lines
122 KiB
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
|