zabbix_export: version: '7.0' template_groups: - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 name: Templates/Applications templates: - uuid: 5fa761bc51e4432a90c6c9eece930c4a template: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ cluster by Zabbix agent' description: | Get cluster metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix agent. You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq Generated by official Zabbix template tool "Templator" 2.0.0 vendor: name: Zabbix version: 7.0-0 groups: - name: Templates/Applications items: - uuid: 31908a8287be442681a0ded564977ff2 name: 'RabbitMQ: Messages acknowledged' type: DEPENDENT key: rabbitmq.overview.messages.ack delay: '0' history: 7d description: 'The number of messages delivered to clients and acknowledged.' preprocessing: - type: JSONPATH parameters: - $.message_stats.ack error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: f78fabbd7e3f44dc81b1cf9c90b26f2e name: 'RabbitMQ: Messages acknowledged per second' type: DEPENDENT key: rabbitmq.overview.messages.ack.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) delivered to clients and acknowledged.' preprocessing: - type: JSONPATH parameters: - $.message_stats.ack_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 45cf9b5cf5cd4b13b0e140383233799f name: 'RabbitMQ: Messages confirmed' type: DEPENDENT key: rabbitmq.overview.messages.confirm delay: '0' history: 7d description: 'The count of confirmed messages.' preprocessing: - type: JSONPATH parameters: - $.message_stats.confirm error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: bc85a070e1e9451b953d85bb519ed63d name: 'RabbitMQ: Messages confirmed per second' type: DEPENDENT key: rabbitmq.overview.messages.confirm.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages confirmed per second.' preprocessing: - type: JSONPATH parameters: - $.message_stats.confirm_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 004da545af4a4f61bd2167281bb9a02b name: 'RabbitMQ: Messages delivered' type: DEPENDENT key: rabbitmq.overview.messages.deliver_get delay: '0' history: 7d description: 'The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_get error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: c00a84c8676544dcbdd74fec13881063 name: 'RabbitMQ: Messages delivered per second' type: DEPENDENT key: rabbitmq.overview.messages.deliver_get.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of the sum of messages (per second) delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_get_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 4215bdf87f0e426f85bd79434a0fb0bb name: 'RabbitMQ: Messages published' type: DEPENDENT key: rabbitmq.overview.messages.publish delay: '0' history: 7d description: 'The count of published messages.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: cfadadb681474c7eb0512d1f4d223ff6 name: 'RabbitMQ: Messages published per second' type: DEPENDENT key: rabbitmq.overview.messages.publish.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages published per second.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: bb068ac7c6094fb8a59cd1a003e88c39 name: 'RabbitMQ: Messages publish_in' type: DEPENDENT key: rabbitmq.overview.messages.publish_in delay: '0' history: 7d description: 'The count of messages published from the channels into this overview.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_in error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: db511bf1cd6c465f8fe1ae6b5fa08660 name: 'RabbitMQ: Messages publish_in per second' type: DEPENDENT key: rabbitmq.overview.messages.publish_in.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) published from the channels into this overview.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_in_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 23dcb85dd9bc4fefb1a9682956181c2e name: 'RabbitMQ: Messages publish_out' type: DEPENDENT key: rabbitmq.overview.messages.publish_out delay: '0' history: 7d description: 'The count of messages published from this overview into queues.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_out error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 05e4c745be95412995749c352ec0f925 name: 'RabbitMQ: Messages publish_out per second' type: DEPENDENT key: rabbitmq.overview.messages.publish_out.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) published from this overview into queues.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_out_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 650d6a94e381477299c62cfb2a2252cf name: 'RabbitMQ: Messages returned redeliver' type: DEPENDENT key: rabbitmq.overview.messages.redeliver delay: '0' history: 7d description: 'The count of subset of messages in the `deliver_get`, which had the `redelivered` flag set.' preprocessing: - type: JSONPATH parameters: - $.message_stats.redeliver error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 6d7eb8880bca4c6e92f65f8a32911599 name: 'RabbitMQ: Messages returned redeliver per second' type: DEPENDENT key: rabbitmq.overview.messages.redeliver.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of subset of messages (per second) in the `deliver_get`, which had the `redelivered` flag set.' preprocessing: - type: JSONPATH parameters: - $.message_stats.redeliver_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: e3faec09ae0a4d7aa8aab50d71de7bb3 name: 'RabbitMQ: Messages returned unroutable' type: DEPENDENT key: rabbitmq.overview.messages.return_unroutable delay: '0' history: 7d description: 'The count of messages returned to a publisher as unroutable.' preprocessing: - type: JSONPATH parameters: - $.message_stats.return_unroutable error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 72267cce69cf490ea626ff3ae17b6362 name: 'RabbitMQ: Messages returned unroutable per second' type: DEPENDENT key: rabbitmq.overview.messages.return_unroutable.rate delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) returned to a publisher as unroutable.' preprocessing: - type: JSONPATH parameters: - $.message_stats.return_unroutable_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 2b03117e863348ee84d94acfe877ef7f name: 'RabbitMQ: Channels total' type: DEPENDENT key: rabbitmq.overview.object_totals.channels delay: '0' history: 7d description: 'The total number of channels.' preprocessing: - type: JSONPATH parameters: - $.object_totals.channels master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: channels - uuid: b3cdd6739a964447b524df4fdd726434 name: 'RabbitMQ: Connections total' type: DEPENDENT key: rabbitmq.overview.object_totals.connections delay: '0' history: 7d description: 'The total number of connections.' preprocessing: - type: JSONPATH parameters: - $.object_totals.connections master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: connections - uuid: c39007dbd4374bee943d61b7e90c0f01 name: 'RabbitMQ: Consumers total' type: DEPENDENT key: rabbitmq.overview.object_totals.consumers delay: '0' history: 7d description: 'The total number of consumers.' preprocessing: - type: JSONPATH parameters: - $.object_totals.consumers master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: consumers - uuid: be0b952e5d08409aa2c65fe143a9193c name: 'RabbitMQ: Exchanges total' type: DEPENDENT key: rabbitmq.overview.object_totals.exchanges delay: '0' history: 7d description: 'The total number of exchanges.' preprocessing: - type: JSONPATH parameters: - $.object_totals.exchanges master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: exchanges - uuid: d7c86b4921f54924af1b72cd2493da1c name: 'RabbitMQ: Queues total' type: DEPENDENT key: rabbitmq.overview.object_totals.queues delay: '0' history: 7d description: 'The total number of queues.' preprocessing: - type: JSONPATH parameters: - $.object_totals.queues master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: queues - uuid: c98b2b3dd2bd4fec9e7c571bc631167b name: 'RabbitMQ: Messages total' type: DEPENDENT key: rabbitmq.overview.queue_totals.messages delay: '0' history: 7d description: 'The total number of messages (ready, plus unacknowledged).' preprocessing: - type: JSONPATH parameters: - $.queue_totals.messages error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: efaabe175e5f4fffa8a810ea35753475 name: 'RabbitMQ: Messages ready for delivery' type: DEPENDENT key: rabbitmq.overview.queue_totals.messages.ready delay: '0' history: 7d description: 'The number of messages ready for delivery.' preprocessing: - type: JSONPATH parameters: - $.queue_totals.messages_ready error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: 6cf09ed9d244464288c8050b10622e3a name: 'RabbitMQ: Messages unacknowledged' type: DEPENDENT key: rabbitmq.overview.queue_totals.messages.unacknowledged delay: '0' history: 7d description: 'The number of unacknowledged messages.' preprocessing: - type: JSONPATH parameters: - $.queue_totals.messages_unacknowledged error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: messages - uuid: f015f991bcea4c4dbf83dfb013300010 name: 'RabbitMQ: Get exchanges' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]' history: 1h trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns exchanges metrics.' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 tags: - tag: component value: raw - uuid: 943eabfb44164908b9135aa4d6478bea name: 'RabbitMQ: Get overview' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' history: 1h trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns cluster-wide metrics.' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 tags: - tag: component value: raw triggers: - uuid: 000d3e773f6e4ebf89f16daa2ce8c168 expression: 'nodata(/RabbitMQ cluster by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"],30m)=1' name: 'RabbitMQ: Failed to fetch overview data' event_name: 'RabbitMQ: Failed to fetch overview data (or no data for 30m)' priority: WARNING description: 'Zabbix has not received any data for items for the last 30 minutes.' manual_close: 'YES' tags: - tag: scope value: availability discovery_rules: - uuid: e28b4491721d4dbf8eded86a5caeabc2 name: 'Exchanges discovery' type: DEPENDENT key: rabbitmq.exchanges.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#EXCHANGE}' value: '{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}' formulaid: A - macro: '{#EXCHANGE}' value: '{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: B description: 'The metrics for an individual exchange.' item_prototypes: - uuid: 68892e56e0074516b5d052dd7178955f name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages acknowledged per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.ack.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) delivered to clients and acknowledged.' preprocessing: - type: JSONPATH parameters: - $.message_stats.ack_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: fcf7807f096d4cddb8fa2b3671814dfa name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages acknowledged' type: DEPENDENT key: 'rabbitmq.exchange.messages.ack["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The number of messages delivered to clients and acknowledged.' preprocessing: - type: JSONPATH parameters: - $.message_stats.ack error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 858f8ce62fa04a31902569a712e58234 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages confirmed per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.confirm.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages confirmed per second.' preprocessing: - type: JSONPATH parameters: - $.message_stats.confirm_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 38d41b5d815a40ff816f6fad2395b61a name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages confirmed' type: DEPENDENT key: 'rabbitmq.exchange.messages.confirm["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The count of confirmed messages.' preprocessing: - type: JSONPATH parameters: - $.message_stats.confirm error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: ab53a6957ea641fe8b2a7f26c4bcc743 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages delivered per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.deliver_get.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of the sum of messages (per second) delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_get_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 412e5003ad2d4e80832ee0551a596791 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages delivered' type: DEPENDENT key: 'rabbitmq.exchange.messages.deliver_get["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_get error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 32a0c7af8b9940a482a3a1d63ee90940 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages published per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.publish.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages published per second.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 1eccbe4450d74d5f9c5b8f7e6279b214 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages published' type: DEPENDENT key: 'rabbitmq.exchange.messages.publish["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The count of published messages.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 3520a523abd1413f88c1c19978e6d562 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_in per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.publish_in.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) published from the channels into this overview.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_in_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 520d8301e48540679472bf508a6e293b name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_in' type: DEPENDENT key: 'rabbitmq.exchange.messages.publish_in["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The count of messages published from the channels into this overview.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_in error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 6beb5e40cb8b416a8722ea77abb7355d name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_out per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.publish_out.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) published from this overview into queues.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_out_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: beb929ee395e4caba73f3063c24a1d60 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_out' type: DEPENDENT key: 'rabbitmq.exchange.messages.publish_out["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The count of messages published from this overview into queues.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_out error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 7485d5a12fb04a13810ea54b9cc598e1 name: 'RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.redeliver.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of subset of messages (per second) in the `deliver_get`, which had the `redelivered` flag set.' preprocessing: - type: JSONPATH parameters: - $.message_stats.redeliver_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 58a06005659943429122d451acb521e0 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages redelivered' type: DEPENDENT key: 'rabbitmq.exchange.messages.redeliver["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The count of subset of messages in the `deliver_get`, which had the `redelivered` flag set.' preprocessing: - type: JSONPATH parameters: - $.message_stats.redeliver error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 295eeb3bd071400d921efe1f5a924a3e name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages returned unroutable per second' type: DEPENDENT key: 'rabbitmq.exchange.messages.return_unroutable.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages (per second) returned to a publisher as unroutable.' preprocessing: - type: JSONPATH parameters: - $.message_stats.return_unroutable_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 2901eccbd8ef483ba63c5522755155e7 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages returned unroutable' type: DEPENDENT key: 'rabbitmq.exchange.messages.return_unroutable["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: 7d description: 'The count of messages returned to a publisher as unroutable.' preprocessing: - type: JSONPATH parameters: - $.message_stats.return_unroutable error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' - uuid: 4491f48f732d40c0b7f29010cf4ca046 name: 'RabbitMQ: Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Get data' type: DEPENDENT key: 'rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"]' delay: '0' history: '0' trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns [{#VHOST}][{#EXCHANGE}][{#TYPE}] exchanges metrics' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].first()' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]' tags: - tag: component value: raw master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"]' lld_macro_paths: - lld_macro: '{#EXCHANGE}' path: $.name - lld_macro: '{#TYPE}' path: $.type - lld_macro: '{#VHOST}' path: $.vhost - uuid: 406836367f45425fbd181a20dc3d08d7 name: 'Health Check 3.8.10+ discovery' type: DEPENDENT key: rabbitmq.healthcheck.v3810.discovery delay: '0' description: 'Specific metrics for the versions: up to and including 3.8.10.' item_prototypes: - uuid: 4c93b04164d24eb8b9dbdab652afc7bc name: 'RabbitMQ: Healthcheck: alarms in effect in the cluster{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/health/checks/alarms{#SINGLETON}"]' history: 7d description: | It responds with a status code `200 OK` if there are no alarms in effect in the cluster. Otherwise, it responds with a status code `503 Service Unavailable`. valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - HTTP\/1\.1\b\s(\d+) - \1 - type: JAVASCRIPT parameters: - | switch(value){ case '200': return 1 case '503': return 0 default: 2} - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h tags: - tag: component value: health - tag: component value: system trigger_prototypes: - uuid: 032949c387c64223b3125ba1120ae082 expression: 'last(/RabbitMQ cluster by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/health/checks/alarms{#SINGLETON}"])=0' name: 'RabbitMQ: There are active alarms in the cluster' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.' tags: - tag: scope value: notice master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"]' preprocessing: - type: JSONPATH parameters: - $.management_version - type: JAVASCRIPT parameters: - | var rabbit_version = parseInt(value.split('.')[0]) * 10000 + parseInt(value.split('.')[1]) * 100 + parseInt(value.split('.')[2]) return JSON.stringify(rabbit_version >= 30810 ? [{'{#SINGLETON}': ''}] : []); tags: - tag: class value: software - tag: target value: rabbitmq macros: - macro: '{$RABBITMQ.API.CLUSTER_HOST}' value: 127.0.0.1 description: 'The hostname or IP of the API endpoint for the RabbitMQ cluster.' - macro: '{$RABBITMQ.API.PASSWORD}' value: zabbix - macro: '{$RABBITMQ.API.PORT}' value: '15672' description: 'The port of the RabbitMQ API endpoint.' - macro: '{$RABBITMQ.API.SCHEME}' value: http description: 'The request scheme, which may be HTTP or HTTPS.' - macro: '{$RABBITMQ.API.USER}' value: zbx_monitor - macro: '{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}' value: '.*' description: 'This macro is used in the discovery of exchanges. It can be overridden at host level or its linked template level.' - macro: '{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'This macro is used in the discovery of exchanges. It can be overridden at host level or its linked template level.' dashboards: - uuid: a886a871a00d47e28b8648cadae3bc99 name: 'RabbitMQ overview' pages: - widgets: - type: graph width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Messages' - type: graph x: '12' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Connections' - type: graph 'y': '5' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Messages status' - type: graph x: '12' 'y': '5' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Queues' - type: graph 'y': '10' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Messages per second' valuemaps: - uuid: 78275d6daacf42b4b97e3d806dfe81fe name: 'RabbitMQ healthcheck' mappings: - value: '0' newvalue: Failed - value: '1' newvalue: Ok - value: '2' newvalue: Error - uuid: d5dc11ae9ab143a89c4be534bbb35188 template: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ node by Zabbix agent' description: | Get node metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix agent. You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq Generated by official Zabbix template tool "Templator" 2.0.0 vendor: name: Zabbix version: 7.0-0 groups: - name: Templates/Applications items: - uuid: b1f191f9077f4382b5b87e0085ae2622 name: 'RabbitMQ: Service response time' key: 'net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]' history: 7d value_type: FLOAT units: s tags: - tag: component value: system - uuid: 6229b623f5ff40f9a65e9573b3b86e3f name: 'RabbitMQ: Service ping' key: 'net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"]' history: 7d valuemap: name: 'Service state' preprocessing: - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 10m tags: - tag: component value: health - tag: component value: network - uuid: 8201cc537b124d9292fcf692922ee0ad name: 'RabbitMQ: Get processes summary' key: 'proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]' history: '0' trends: '0' value_type: TEXT description: 'The aggregated data of summary metrics for all processes.' tags: - tag: component value: raw - uuid: 7dad79be93bd46bba7a2540b38080b06 name: 'RabbitMQ: Free disk space' type: DEPENDENT key: rabbitmq.node.disk_free delay: '0' history: 7d units: B description: 'The current free disk space.' preprocessing: - type: JSONPATH parameters: - $.disk_free master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: storage - uuid: d8de1eb13f024ce99388fc4bb68d6ad0 name: 'RabbitMQ: Disk free alarm' type: DEPENDENT key: rabbitmq.node.disk_free_alarm delay: '0' history: 7d description: 'It checks whether the node has a disk alarm or not.' valuemap: name: 'Alarm state' preprocessing: - type: JSONPATH parameters: - $.disk_free_alarm - type: BOOL_TO_DECIMAL parameters: - '' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: storage triggers: - uuid: b68cb12ecd4046fd80a717fb557f04e8 expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.node.disk_free_alarm)=1' name: 'RabbitMQ: Free disk space alarm' event_name: 'RabbitMQ: Free disk space alarm (Free space threshold has been reached)' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'For more details see [Free Disk Space Alarms](https://www.rabbitmq.com/disk-alarms.html).' tags: - tag: scope value: performance - uuid: 4e62b476bd11497f9190d1f720f22f75 name: 'RabbitMQ: Disk free limit' type: DEPENDENT key: rabbitmq.node.disk_free_limit delay: '0' history: 7d units: B description: 'The free space limit of a disk expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.disk_free_limit master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: storage - uuid: 09aeab86c69846eb82d27c2f82f46d2b name: 'RabbitMQ: Used file descriptors' type: DEPENDENT key: rabbitmq.node.fd_used delay: '0' history: 7d description: 'The descriptors of the used file.' preprocessing: - type: JSONPATH parameters: - $.fd_used master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: storage - uuid: e059b278ba384133a72dc723c2b2c40b name: 'RabbitMQ: Memory alarm' type: DEPENDENT key: rabbitmq.node.mem_alarm delay: '0' history: 7d description: 'It checks whether the host has a memory alarm or not.' valuemap: name: 'Alarm state' preprocessing: - type: JSONPATH parameters: - $.mem_alarm - type: BOOL_TO_DECIMAL parameters: - '' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: memory triggers: - uuid: ec6ae727fe774b0fa56bb4d9ad773e35 expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.node.mem_alarm)=1' name: 'RabbitMQ: Memory alarm' event_name: 'RabbitMQ: Memory alarm (Memory usage threshold has been reached)' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'For more details see [Memory Alarms](https://www.rabbitmq.com/memory.html).' tags: - tag: scope value: performance - uuid: 54bd4a47d635444e8e2e955325dbb976 name: 'RabbitMQ: Memory limit' type: DEPENDENT key: rabbitmq.node.mem_limit delay: '0' history: 7d units: B description: 'The memory usage with high watermark properties expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.mem_limit master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: memory - uuid: d6a01ec409a6449986c5c0a81ffaf914 name: 'RabbitMQ: Memory used' type: DEPENDENT key: rabbitmq.node.mem_used delay: '0' history: 7d units: B description: 'The memory usage expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.mem_used master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: memory - uuid: db91f84a5ad7412c959fbfe4e3b6df88 name: 'RabbitMQ: Management plugin version' type: DEPENDENT key: rabbitmq.node.overview.management_version delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The version of the management plugin in use.' preprocessing: - type: JSONPATH parameters: - $.management_version - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1d master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: system - uuid: 52a0be5049ee40748761d301a644315b name: 'RabbitMQ: RabbitMQ version' type: DEPENDENT key: rabbitmq.node.overview.rabbitmq_version delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The version of the RabbitMQ on the node, which processed this request.' preprocessing: - type: JSONPATH parameters: - $.rabbitmq_version - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1d master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]' tags: - tag: component value: system triggers: - uuid: daf98bb4593d4697bc51423b2f65ba41 expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.node.overview.rabbitmq_version,#1)<>last(/RabbitMQ node by Zabbix agent/rabbitmq.node.overview.rabbitmq_version,#2) and length(last(/RabbitMQ node by Zabbix agent/rabbitmq.node.overview.rabbitmq_version))>0' name: 'RabbitMQ: Version has changed' event_name: 'RabbitMQ: Version has changed (new version: {ITEM.VALUE})' priority: INFO description: 'RabbitMQ version has changed. Acknowledge to close the problem manually.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 5e8c1ed0b073461eb14477edac3c756a name: 'RabbitMQ: Number of network partitions' type: DEPENDENT key: rabbitmq.node.partitions delay: '0' history: 7d description: 'The number of network partitions, which this node "sees".' preprocessing: - type: JSONPATH parameters: - $.partitions - type: JAVASCRIPT parameters: - 'return JSON.parse(value).length;' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: network triggers: - uuid: 5bed266725e94000804b0ecc7bce6209 expression: 'min(/RabbitMQ node by Zabbix agent/rabbitmq.node.partitions,5m)>0' name: 'RabbitMQ: Number of network partitions is too high' event_name: 'RabbitMQ: Number of network partitions is too high (more than 0 for 5m)' opdata: 'Current value: {ITEM.LASTVALUE1}' priority: WARNING description: 'For more details see [Detecting Network Partitions](https://www.rabbitmq.com/partitions.html#detecting).' tags: - tag: scope value: performance - uuid: 087fcb3992ef4e35bacd4b6e69ef93d3 name: 'RabbitMQ: Is running' type: DEPENDENT key: rabbitmq.node.running delay: '0' history: 7d description: 'It "sees" whether the node is running or not.' valuemap: name: 'Service state' preprocessing: - type: JSONPATH parameters: - $.running - type: BOOL_TO_DECIMAL parameters: - '' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: system - uuid: 1ae6f429e99d4ddaa54aa6adab6b8100 name: 'RabbitMQ: Runtime run queue' type: DEPENDENT key: rabbitmq.node.run_queue delay: '0' history: 7d description: 'The average number of Erlang processes waiting to run.' preprocessing: - type: JSONPATH parameters: - $.run_queue master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: system - uuid: 3aa508520f224150a05a7ebb64d22c5e name: 'RabbitMQ: Sockets available' type: DEPENDENT key: rabbitmq.node.sockets_total delay: '0' history: 7d description: 'The file descriptors available for use as sockets.' preprocessing: - type: JSONPATH parameters: - $.sockets_total master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: system - uuid: de2cbe02ff6c47d78b6c7105709f4805 name: 'RabbitMQ: Sockets used' type: DEPENDENT key: rabbitmq.node.sockets_used delay: '0' history: 7d description: 'The number of file descriptors used as sockets.' preprocessing: - type: JSONPATH parameters: - $.sockets_used master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: system - uuid: a28b6c8cca5544b79c2d9946c1978c7e name: 'RabbitMQ: Uptime' type: DEPENDENT key: rabbitmq.node.uptime delay: '0' history: 7d value_type: FLOAT units: s description: 'Uptime expressed in milliseconds.' preprocessing: - type: JSONPATH parameters: - $.uptime - type: MULTIPLIER parameters: - '0.001' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' tags: - tag: component value: system triggers: - uuid: 729c448ebabb417bb7ce17b1634c4484 expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.node.uptime)<10m' name: 'RabbitMQ: Host has been restarted' event_name: 'RabbitMQ: {HOST.NAME} has been restarted (uptime < 10m)' priority: INFO description: 'Uptime is less than 10 minutes.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 61730555a0ae4f798ea740effb82764c name: 'RabbitMQ: Get nodes' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"]' history: 1h trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns metrics of the nodes.' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 tags: - tag: component value: raw - uuid: 1af326f40cdb407a96b34025062b4743 name: 'RabbitMQ: Get node overview' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]' history: 1h trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns cluster-wide metrics.' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 tags: - tag: component value: raw - uuid: 7fb61ad564db42d5a373912491f5c9d3 name: 'RabbitMQ: Get queues' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' history: 1h trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns metrics of the queues metrics.' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 tags: - tag: component value: raw discovery_rules: - uuid: 04ef7d13809c45009553815f60ef5ba8 name: 'Health Check 3.8.9- discovery' type: DEPENDENT key: rabbitmq.healthcheck.v389.discovery delay: '0' description: 'Specific metrics for the versions: up to and including 3.8.4.' item_prototypes: - uuid: 8b959a9d03dc4ae8bed7292973f4fcc4 name: 'RabbitMQ: Healthcheck{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node{#SINGLETON}"]' history: 7h description: 'It checks whether the RabbitMQ application is running; and whether the channels and queues can be listed successfully; and that no alarms are in effect.' valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 - type: JSONPATH parameters: - $.status - type: BOOL_TO_DECIMAL parameters: - '' error_handler: CUSTOM_VALUE error_handler_params: '0' tags: - tag: component value: health - tag: component value: system trigger_prototypes: - uuid: bf6bcbda20ed46cbb779d9c1f446dfa8 expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node{#SINGLETON}"])=0' name: 'RabbitMQ: Node healthcheck failed' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'For more details see [Health Checks](https://www.rabbitmq.com/monitoring.html#health-checks).' tags: - tag: scope value: availability master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]' preprocessing: - type: JSONPATH parameters: - $.management_version - type: JAVASCRIPT parameters: - | var rabbit_version = parseInt(value.split('.')[0]) * 10000 + parseInt(value.split('.')[1]) * 100 + parseInt(value.split('.')[2]) return JSON.stringify(rabbit_version < 30810 ? [{'{#SINGLETON}': ''}] : []); - uuid: 3c0021a3e57142eb806deb5b47b6700a name: 'Health Check 3.8.10+ discovery' type: DEPENDENT key: rabbitmq.healthcheck.v3810.discovery delay: '0' description: 'Specific metrics for the versions: up to and including 3.8.10.' item_prototypes: - uuid: 0f1cd729d8f4447db25e0af19eae595d name: 'RabbitMQ: Healthcheck: expiration date on the certificates{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months{#SINGLETON}"]' history: 7d description: | It checks the expiration date on the certificates for every listener configured to use the Transport Layer Security (TLS). It responds with a status code `200 OK` if all the certificates are valid (have not expired). Otherwise, it responds with a status code `503 Service Unavailable`. valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - HTTP\/1\.1\b\s(\d+) - \1 - type: JAVASCRIPT parameters: - | switch(value){ case '200': return 1 case '503': return 0 default: 2} - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h tags: - tag: component value: certificate - tag: component value: health trigger_prototypes: - uuid: d180912136c74e5cb246655ecab75f57 expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months{#SINGLETON}"])=0' name: 'RabbitMQ: There are valid TLS certificates expiring in the next month' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'It checks if there are valid TLS certificates expiring in the next month. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.' tags: - tag: scope value: notice - uuid: 701449b128cb42cdb971fc608ba9f29b name: 'RabbitMQ: Healthcheck: local alarms in effect on this node{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms{#SINGLETON}"]' history: 7d description: | It responds with a status code `200 OK` if there are no local alarms in effect on the target node. Otherwise, it responds with a status code `503 Service Unavailable`. valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - HTTP\/1\.1\b\s(\d+) - \1 - type: JAVASCRIPT parameters: - | switch(value){ case '200': return 1 case '503': return 0 default: 2} - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h tags: - tag: component value: health - tag: component value: system trigger_prototypes: - uuid: 62962f18baa4480294e097fec2cc5e4c expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms{#SINGLETON}"])=0' name: 'RabbitMQ: There are active alarms in the node' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'It checks the active alarms in the nodes via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.' tags: - tag: scope value: notice - uuid: 7a07966d8dde4f2caa9ff95693b86974 name: 'RabbitMQ: Healthcheck: classic mirrored queues without synchronized mirrors online{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical{#SINGLETON}"]' history: 7d description: | It checks if there are classic mirrored queues without synchronized mirrors online (queues that would potentially lose data if the target node is shut down). It responds with a status code `200 OK` if there are no such classic mirrored queues. Otherwise, it responds with a status code `503 Service Unavailable`. valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - HTTP\/1\.1\b\s(\d+) - \1 - type: JAVASCRIPT parameters: - | switch(value){ case '200': return 1 case '503': return 0 default: 2} - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h tags: - tag: component value: health - tag: component value: queues trigger_prototypes: - uuid: 19e392f9e48e4c8287e04751a2a73843 expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical{#SINGLETON}"])=0' name: 'RabbitMQ: There are queues that could potentially lose data if this node goes offline.' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'It checks whether there are queues that could potentially lose data if this node goes offline via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.' tags: - tag: scope value: notice - uuid: f6ec1bb1cc4741be852136fac2c63333 name: 'RabbitMQ: Healthcheck: queues with minimum online quorum{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical{#SINGLETON}"]' history: 7d description: | It checks if there are quorum queues with minimum online quorum (queues that would lose their quorum and availability if the target node is shut down). It responds with a status code `200 OK` if there are no such quorum queues. Otherwise, it responds with a status code `503 Service Unavailable`. valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - HTTP\/1\.1\b\s(\d+) - \1 - type: JAVASCRIPT parameters: - | switch(value){ case '200': return 1 case '503': return 0 default: 2} - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h tags: - tag: component value: health - tag: component value: queues trigger_prototypes: - uuid: e063b6dde6a0484ba1561861d8b1f0c1 expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical{#SINGLETON}"])=0' name: 'RabbitMQ: There are queues that would lose their quorum and availability if this node is shut down.' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'It checks if there are queues that could potentially lose data if this node goes offline via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.' tags: - tag: scope value: notice - uuid: 0d1ad3daf2bb46dba2c9913c1684a0d4 name: 'RabbitMQ: Healthcheck: virtual hosts on this node{#SINGLETON}' key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts{#SINGLETON}"]' history: 7d description: | It responds with It responds with a status code `200 OK` if all virtual hosts are running on the target node. Otherwise it responds with a status code `503 Service Unavailable`. valuemap: name: 'RabbitMQ healthcheck' preprocessing: - type: REGEX parameters: - HTTP\/1\.1\b\s(\d+) - \1 - type: JAVASCRIPT parameters: - | switch(value){ case '200': return 1 case '503': return 0 default: 2} - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 3h tags: - tag: component value: health - tag: component value: system trigger_prototypes: - uuid: b61117e5eeff4d41a9a2f1729ec174b2 expression: 'last(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts{#SINGLETON}"])=0' name: 'RabbitMQ: There are not running virtual hosts' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'It checks if there are not running virtual hosts via API. This is the default API endpoint path: http://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/index.html.' tags: - tag: scope value: notice master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"]' preprocessing: - type: JSONPATH parameters: - $.management_version - type: JAVASCRIPT parameters: - | var rabbit_version = parseInt(value.split('.')[0]) * 10000 + parseInt(value.split('.')[1]) * 100 + parseInt(value.split('.')[2]) return JSON.stringify(rabbit_version >= 30810 ? [{'{#SINGLETON}': ''}] : []); - uuid: 7cdf2316fa664f34b5de4f315bb7caf9 name: 'RabbitMQ process discovery' type: DEPENDENT key: rabbitmq.proc.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#RABBITMQ.NAME}' value: '{$RABBITMQ.PROCESS_NAME}' formulaid: A description: 'The discovery of the RabbitMQ summary processes.' item_prototypes: - uuid: 0b195bf594c44b1f869b4a7671f61453 name: 'RabbitMQ: CPU utilization' key: 'proc.cpu.util[{#RABBITMQ.NAME}]' history: 7d value_type: FLOAT units: '%' description: 'The percentage of the CPU utilization by a process {#RABBITMQ.NAME}.' tags: - tag: component value: cpu - uuid: 882cf9cfecb448f3af17e12bf9aa7bef name: 'RabbitMQ: Get process data' type: DEPENDENT key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]' delay: '0' history: '0' trends: '0' value_type: TEXT description: 'The summary metrics aggregated by a process {#RABBITMQ.NAME}.' preprocessing: - type: JSONPATH parameters: - '$.[?(@["name"]=="{#RABBITMQ.NAME}")].first()' error_handler: CUSTOM_VALUE error_handler_params: 'Failed to retrieve process {#RABBITMQ.NAME} data' master_item: key: 'proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]' tags: - tag: component value: raw - uuid: 8f1c8d2449c44ab590842184d9deb3a6 name: 'RabbitMQ: Number of running processes' type: DEPENDENT key: 'rabbitmq.proc.num[{#RABBITMQ.NAME}]' delay: '0' history: 7d description: 'The number of running processes {#RABBITMQ.NAME}.' preprocessing: - type: JSONPATH parameters: - $.processes error_handler: CUSTOM_VALUE error_handler_params: '0' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]' tags: - tag: component value: system trigger_prototypes: - uuid: 2979bc7d779b404696f7eac273e99ea7 expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])=0' name: 'RabbitMQ: Process is not running' priority: HIGH tags: - tag: scope value: availability - uuid: 875ab477c06943d7881ee896936ee8a2 name: 'RabbitMQ: Memory usage, %' type: DEPENDENT key: 'rabbitmq.proc.pmem[{#RABBITMQ.NAME}]' delay: '0' history: 7d value_type: FLOAT units: '%' description: 'The percentage of real memory used by a process {#RABBITMQ.NAME}.' preprocessing: - type: JSONPATH parameters: - $.pmem error_handler: DISCARD_VALUE master_item: key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]' tags: - tag: component value: memory - uuid: 6f13f672d8ce4c9592e0f3f5ec3b0ec4 name: 'RabbitMQ: Memory usage (rss)' type: DEPENDENT key: 'rabbitmq.proc.rss[{#RABBITMQ.NAME}]' delay: '0' history: 7d units: B description: 'The summary of resident set size memory used by a process {#RABBITMQ.NAME} expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.rss error_handler: DISCARD_VALUE master_item: key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]' tags: - tag: component value: memory - uuid: 4faac75027d14304ab071602df8f2937 name: 'RabbitMQ: Memory usage (vsize)' type: DEPENDENT key: 'rabbitmq.proc.vmem[{#RABBITMQ.NAME}]' delay: '0' history: 7d units: B description: 'The summary of virtual memory used by a process {#RABBITMQ.NAME} expressed in bytes.' preprocessing: - type: JSONPATH parameters: - $.vsize error_handler: DISCARD_VALUE master_item: key: 'rabbitmq.proc.get[{#RABBITMQ.NAME}]' tags: - tag: component value: memory trigger_prototypes: - uuid: 4f2a88d09b1b49879d80e0794ec19e0e expression: 'nodata(/RabbitMQ node by Zabbix agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"],30m)=1 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0' name: 'RabbitMQ: Failed to fetch nodes data' event_name: 'RabbitMQ: Failed to fetch nodes data (or no data for 30m)' priority: WARNING description: 'Zabbix has not received any data for items for the last 30 minutes.' manual_close: 'YES' dependencies: - name: 'RabbitMQ: Process is not running' expression: 'last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])=0' tags: - tag: scope value: availability - uuid: 253acf98446e4790975b330d44dd6b96 expression: 'max(/RabbitMQ node by Zabbix agent/rabbitmq.node.running,5m)=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0' name: 'RabbitMQ: Node is not running' opdata: 'Current state: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'RabbitMQ node is not running.' dependencies: - name: 'RabbitMQ: Service is down' expression: 'last(/RabbitMQ node by Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0' tags: - tag: scope value: availability - uuid: af5cfb0004e04562a9720b9e1b41fd5b expression: 'last(/RabbitMQ node by Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0' name: 'RabbitMQ: Service is down' priority: AVERAGE manual_close: 'YES' tags: - tag: scope value: availability - uuid: 5cb80a7552d74e44a83d0825f039f89f expression: 'min(/RabbitMQ node by Zabbix agent/net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"],5m)>{$RABBITMQ.RESPONSE_TIME.MAX.WARN} and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0' name: 'RabbitMQ: Service response time is too high' event_name: 'RabbitMQ: Service response time is too high (over {$RABBITMQ.RESPONSE_TIME.MAX.WARN}s for 5m)' priority: WARNING manual_close: 'YES' dependencies: - name: 'RabbitMQ: Service is down' expression: 'last(/RabbitMQ node by Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Zabbix agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0' tags: - tag: scope value: performance graph_prototypes: - uuid: 180a5d36d48f44fbaf6f86c5cf9e10f9 name: 'RabbitMQ: Memory usage[{#RABBITMQ.NAME}]' graph_items: - drawtype: BOLD_LINE color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.proc.vmem[{#RABBITMQ.NAME}]' - sortorder: '1' drawtype: BOLD_LINE color: F63100 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.proc.rss[{#RABBITMQ.NAME}]' master_item: key: 'proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary]' lld_macro_paths: - lld_macro: '{#RABBITMQ.NAME}' path: $.name - uuid: d1d32fc6ae1f445a98144a31214ca825 name: 'Queues discovery' type: DEPENDENT key: rabbitmq.queues.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#QUEUE}' value: '{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}' formulaid: B - macro: '{#QUEUE}' value: '{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}' operator: NOT_MATCHES_REGEX formulaid: C - macro: '{#NODE}' value: '{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}' formulaid: A description: 'The metrics for an individual queue.' item_prototypes: - uuid: 158f41423b094efcb90ac273d1e6349c name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Get data' type: DEPENDENT key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' delay: '0' history: '0' trends: '0' value_type: TEXT description: 'The HTTP API endpoint that returns [{#VHOST}][{#QUEUE}] queue metrics' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].first()' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' tags: - tag: component value: raw - uuid: fcbee789f2864010b26ac69894659e77 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Consumers' type: DEPENDENT key: 'rabbitmq.queue.consumers["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The number of consumers.' preprocessing: - type: JSONPATH parameters: - $.consumers master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: consumers - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 4b4491d5fb2b41eeae044c3d28de1b18 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Memory' type: DEPENDENT key: 'rabbitmq.queue.memory["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d units: B description: 'The bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures.' preprocessing: - type: JSONPATH parameters: - $.memory master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: memory - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 223fa7a8372f4e9883d376c9f3e1af2e name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages acknowledged per second' type: DEPENDENT key: 'rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The number of messages (per second) delivered to clients and acknowledged.' preprocessing: - type: JSONPATH parameters: - $.message_stats.ack_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 335513a34e6a4909acfa1be278dd31b3 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages acknowledged' type: DEPENDENT key: 'rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The number of messages delivered to clients and acknowledged.' preprocessing: - type: JSONPATH parameters: - $.message_stats.ack error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 55b774e5aac249edbb8881373060b15b name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages delivered per second' type: DEPENDENT key: 'rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The count of messages (per second) delivered to consumers in acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 2a87988327e1483c84d3f1867bab367f name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages delivered' type: DEPENDENT key: 'rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The count of messages delivered to consumers in acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 3f3024da744349b59c7810dfd10d11a3 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Sum of messages delivered per second' type: DEPENDENT key: 'rabbitmq.queue.messages.deliver_get.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of delivery per second. The sum of messages delivered (per second) to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to `basic.get`: in acknowledgement mode and in no-acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_get_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: ad5e9fa0260e4170887fb2dfdc508959 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Sum of messages delivered' type: DEPENDENT key: 'rabbitmq.queue.messages.deliver_get["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the `basic.get`: in acknowledgement mode and in no-acknowledgement mode.' preprocessing: - type: JSONPATH parameters: - $.message_stats.deliver_get error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 393306b9cb0148038d02ad9c48cf1fbb name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages published per second' type: DEPENDENT key: 'rabbitmq.queue.messages.publish.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of published messages per second.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 44814c9f6f154fdcbab66249d0777eae name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages published' type: DEPENDENT key: 'rabbitmq.queue.messages.publish["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The count of published messages.' preprocessing: - type: JSONPATH parameters: - $.message_stats.publish error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 9096e81341374d2fb7dd58e932783afc name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages per second' type: DEPENDENT key: 'rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The count of total messages per second in the queue.' preprocessing: - type: JSONPATH parameters: - $.messages_details.rate master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 8902103fd86746d0851b75a1262e36a9 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages redelivered per second' type: DEPENDENT key: 'rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The rate of messages redelivered per second.' preprocessing: - type: JSONPATH parameters: - $.message_stats.redeliver_details.rate error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 3ac1a4b83c9f4d4c8a438d39aca8e82a name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages redelivered' type: DEPENDENT key: 'rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The count of subset of messages in the `deliver_get` queue with the `redelivered` flag set.' preprocessing: - type: JSONPATH parameters: - $.message_stats.redeliver error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: aabd7d6fe6a047d186504386d3a48ae1 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages' type: DEPENDENT key: 'rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The count of total messages in the queue.' preprocessing: - type: JSONPATH parameters: - $.messages master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' trigger_prototypes: - uuid: 58986cee2b4846b3b7bd3caf772d7ac6 expression: 'min(/RabbitMQ node by Zabbix agent/rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"],5m)>{$RABBITMQ.MESSAGES.MAX.WARN:"{#QUEUE}"}' name: 'RabbitMQ: Too many messages in queue [{#VHOST}][{#QUEUE}]' event_name: 'RabbitMQ: Too many messages in queue [{#VHOST}][{#QUEUE}] (over {$RABBITMQ.MESSAGES.MAX.WARN:"{#QUEUE}"} for 5m)' opdata: 'Current value: {ITEM.LASTVALUE1}' priority: WARNING tags: - tag: scope value: performance - uuid: d2e1a2857b314ed3818f92312f5d0043 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages ready per second' type: DEPENDENT key: 'rabbitmq.queue.messages_ready.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The number of messages per second ready to be delivered to clients.' preprocessing: - type: JSONPATH parameters: - $.messages_ready_details.rate master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 4a75c2d9e0354f47b1c8243bad17bd58 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages ready' type: DEPENDENT key: 'rabbitmq.queue.messages_ready["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The number of messages ready to be delivered to clients.' preprocessing: - type: JSONPATH parameters: - $.messages_ready master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: d5d88879e3b844d7b03ab956a673daff name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages unacknowledged per second' type: DEPENDENT key: 'rabbitmq.queue.messages_unacknowledged.rate["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d value_type: FLOAT description: 'The number of messages per second delivered to clients but not yet acknowledged.' preprocessing: - type: JSONPATH parameters: - $.messages_unacknowledged_details.rate master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' - uuid: 252dcf1262014ce599a2eec81f7223eb name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages unacknowledged' type: DEPENDENT key: 'rabbitmq.queue.messages_unacknowledged["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'The number of messages delivered to clients but not yet acknowledged.' preprocessing: - type: JSONPATH parameters: - $.messages_unacknowledged master_item: key: 'rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"]' tags: - tag: component value: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' graph_prototypes: - uuid: a6223df79d334c29ada36ba20729b885 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages per second' graph_items: - color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '1' color: F63100 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '2' color: 00611C item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '3' color: F7941D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.deliver_get.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '4' color: FC6EA3 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.publish.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '5' color: 6C59DC item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages_ready.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '6' color: C7A72D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '7' color: BA2A5D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages_unacknowledged.rate["{#VHOST}/{#QUEUE}"]' - uuid: 03c88aa9d8b94389aafcf607dff1756f name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages status' graph_items: - color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"]' - sortorder: '1' color: F63100 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"]' - sortorder: '2' color: 00611C item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"]' - sortorder: '3' color: F7941D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.deliver_get["{#VHOST}/{#QUEUE}"]' - sortorder: '4' color: FC6EA3 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.publish["{#VHOST}/{#QUEUE}"]' - sortorder: '5' color: 6C59DC item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages_ready["{#VHOST}/{#QUEUE}"]' - sortorder: '6' color: C7A72D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"]' - sortorder: '7' color: BA2A5D item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages_unacknowledged["{#VHOST}/{#QUEUE}"]' master_item: key: 'web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' lld_macro_paths: - lld_macro: '{#QUEUE}' path: $.name - lld_macro: '{#VHOST}' path: $.vhost - lld_macro: '{#NODE}' path: $.node tags: - tag: class value: software - tag: target value: rabbitmq macros: - macro: '{$RABBITMQ.API.HOST}' value: 127.0.0.1 description: 'The hostname or IP of the API endpoint for the RabbitMQ.' - macro: '{$RABBITMQ.API.PASSWORD}' value: zabbix - macro: '{$RABBITMQ.API.PORT}' value: '15672' description: 'The port of the RabbitMQ API endpoint.' - macro: '{$RABBITMQ.API.SCHEME}' value: http description: 'The request scheme, which may be HTTP or HTTPS.' - macro: '{$RABBITMQ.API.USER}' value: zbx_monitor - macro: '{$RABBITMQ.CLUSTER.NAME}' value: rabbit description: 'The name of the RabbitMQ cluster.' - macro: '{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}' value: '.*' description: 'This macro is used in the discovery of queues. It can be overridden at host level or its linked template level.' - macro: '{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'This macro is used in the discovery of queues. It can be overridden at host level or its linked template level.' - macro: '{$RABBITMQ.MESSAGES.MAX.WARN}' value: '1000' description: 'The maximum number of messages in the queue for a trigger expression.' - macro: '{$RABBITMQ.PROCESS.NAME.PARAMETER}' description: 'The process name of the RabbitMQ server used in the item key `proc.get`. It could be specified if the correct process name is known.' - macro: '{$RABBITMQ.PROCESS_NAME}' value: beam.smp description: 'The process name filter for the RabbitMQ process discovery.' - macro: '{$RABBITMQ.RESPONSE_TIME.MAX.WARN}' value: '10' description: 'The maximum response time by the RabbitMQ expressed in seconds for a trigger expression.' dashboards: - uuid: ce0af043ed2c4e7c988674c9ecb787d6 name: 'RabbitMQ node status' pages: - widgets: - type: graph width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Node status' - type: graph x: '12' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Uptime' - type: graph 'y': '5' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Disk free' - type: graph x: '12' 'y': '5' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Memory used' - type: graph 'y': '10' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: File descriptors' - type: graph x: '12' 'y': '10' width: '12' height: '5' fields: - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Sockets' valuemaps: - uuid: ce579def20ac488dbce1ff69baaa8c50 name: 'Alarm state' mappings: - value: '0' newvalue: Ok - value: '1' newvalue: Alarm - uuid: 08ee896f31a1457a8e9b4f6f251700d4 name: 'RabbitMQ healthcheck' mappings: - value: '0' newvalue: Failed - value: '1' newvalue: Ok - value: '2' newvalue: Error - uuid: c369d410303349b4973431b6ff8dcb85 name: 'Service state' mappings: - value: '0' newvalue: Down - value: '1' newvalue: Up graphs: - uuid: 2dbd4f9285a34786a210c6e16d87ed85 name: 'RabbitMQ: Connections' graph_items: - color: 199C0D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.connections - sortorder: '1' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.channels - sortorder: '2' color: 00611C item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.consumers - uuid: 72472749150041d59a52ce5abb3dc03e name: 'RabbitMQ: Disk free' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.disk_free - sortorder: '1' drawtype: BOLD_LINE color: FF0000 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.disk_free_limit - uuid: 132133fc0fd04002a5a50fc0d5169e6a name: 'RabbitMQ: File descriptors' graph_items: - color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.fd_used - uuid: a5949ccf83434f1fb26cfe0a3671085e name: 'RabbitMQ: Memory used' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.mem_used - sortorder: '1' drawtype: BOLD_LINE color: FF0000 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.mem_limit - uuid: dca08567e6ce4dcbb60f72a431de5ddf name: 'RabbitMQ: Messages' graph_items: - color: 199C0D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.queue_totals.messages - sortorder: '1' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.queue_totals.messages.ready - sortorder: '2' color: 00611C item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.queue_totals.messages.unacknowledged - uuid: ad303b1816a84248a347ef4773bf2c44 name: 'RabbitMQ: Messages per second' graph_items: - color: 199C0D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish.rate - sortorder: '1' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.ack.rate - sortorder: '2' color: 00611C item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.confirm.rate - sortorder: '3' color: F7941D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.deliver_get.rate - sortorder: '4' color: FC6EA3 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish_in.rate - sortorder: '5' color: 6C59DC item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish_out.rate - sortorder: '6' color: C7A72D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.redeliver.rate - sortorder: '7' color: BA2A5D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.return_unroutable.rate - uuid: 94fa39136a0d42b2997dd3b9a7581621 name: 'RabbitMQ: Messages status' graph_items: - color: 199C0D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish - sortorder: '1' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.ack - sortorder: '2' color: 00611C item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.confirm - sortorder: '3' color: F7941D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.deliver_get - sortorder: '4' color: FC6EA3 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish_in - sortorder: '5' color: 6C59DC item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish_out - sortorder: '6' color: C7A72D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.redeliver - sortorder: '7' color: BA2A5D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.return_unroutable - uuid: 358fb67c294d4486a79797818ebde851 name: 'RabbitMQ: Node status' graph_items: - drawtype: BOLD_LINE color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.running - uuid: 3205b991eb5443e680b571b23b4a1721 name: 'RabbitMQ: Queues' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.queues - uuid: 7e5fec850547465091a38f78268a207f name: 'RabbitMQ: Sockets' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.sockets_used - sortorder: '1' color: F63100 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.sockets_total - uuid: bf2b0b66f4d94549aae9cbe04dfe9bd2 name: 'RabbitMQ: Uptime' graph_items: - color: 199C0D item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.uptime