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