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