zabbix_export: version: '6.2' date: '2022-06-07T19:36:39Z' 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. Template tooling version used: 0.41 groups: - name: Templates/Applications items: - uuid: 31908a8287be442681a0ded564977ff2 name: 'RabbitMQ: Messages acknowledged' type: DEPENDENT key: rabbitmq.overview.messages.ack delay: '0' history: 7d description: '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: 'Rate of messages delivered to clients and acknowledged per second' 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: 'Count of messages confirmed' 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: '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: 'Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get' 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: 'Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get' 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: 'Count of messages published' 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: '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: 'Count of messages published from 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: 'Rate of messages published from channels into this overview per sec' 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: '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: 'Rate of messages published from this overview into queues per second,0,rabbitmq,total msgs pub out rate' 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: 'Count of subset of messages in 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: 'Rate of subset of messages in deliver_get which had the redelivered flag set per second' 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: 'Count of messages returned to 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: 'Rate of messages returned to publisher as unroutable per second' 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: '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: '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: '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: '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: '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: 'Total number of messages (ready plus unacknowledged)' preprocessing: - type: JSONPATH parameters: - $.queue_totals.messages 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: 'Number of messages ready for deliver' preprocessing: - type: JSONPATH parameters: - $.queue_totals.messages_ready 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: 'Number of unacknowledged messages' preprocessing: - type: JSONPATH parameters: - $.queue_totals.messages_unacknowledged 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 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: 'Individual exchange metrics' 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: 'Rate of messages delivered to clients and acknowledged per second' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.ack_details.rate.first()' 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/exchanges"]' 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: 'Number of messages delivered to clients and acknowledged' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.ack.first()' 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/exchanges"]' 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: 'Rate of messages confirmed per second' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.confirm_details.rate.first()' 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/exchanges"]' 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: 'Count of messages confirmed' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.confirm.first()' 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/exchanges"]' 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: 'Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.deliver_get_details.rate.first()' 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/exchanges"]' 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: 'Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.deliver_get.first()' 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/exchanges"]' 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: 'Rate of messages published per second' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.publish_details.rate.first()' 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/exchanges"]' 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: 'Count of messages published' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.publish.first()' 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/exchanges"]' 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: 'Rate of messages published from channels into this overview per sec' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.publish_in_details.rate.first()' 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/exchanges"]' 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: 'Count of messages published from channels into this overview' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.publish_in.first()' 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/exchanges"]' 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: 'Rate of messages published from this overview into queues per second,0,rabbitmq,total msgs pub out rate' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.publish_out_details.rate.first()' 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/exchanges"]' 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: 'Count of messages published from this overview into queues' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.publish_out.first()' 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/exchanges"]' 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: 'Rate of subset of messages in deliver_get which had the redelivered flag set per second' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.redeliver_details.rate.first()' 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/exchanges"]' 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: 'Count of subset of messages in deliver_get which had the redelivered flag set' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.redeliver.first()' 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/exchanges"]' 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: 'Rate of messages returned to publisher as unroutable per second' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.return_unroutable_details.rate.first()' 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/exchanges"]' 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: 'Count of messages returned to publisher as unroutable' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#EXCHANGE}" && @.vhost == "{#VHOST}" && @.type =="{#TYPE}")].message_stats.return_unroutable.first()' 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/exchanges"]' tags: - tag: component value: messages - tag: exchange value: '{#EXCHANGE}' - tag: type value: '{#TYPE}' - tag: vhost value: '{#VHOST}' 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: 'Version 3.8.10+ specific metrics' 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 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: 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: '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 RabbitMQ cluster API endpoint' - macro: '{$RABBITMQ.API.PASSWORD}' value: zabbix - macro: '{$RABBITMQ.API.PORT}' value: '15672' description: 'The port of RabbitMQ API endpoint' - macro: '{$RABBITMQ.API.SCHEME}' value: http description: 'Request scheme which may be http or https' - macro: '{$RABBITMQ.API.USER}' value: zbx_monitor - macro: '{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}' value: '.*' description: 'Filter of discoverable exchanges' - macro: '{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'Filter to exclude discovered exchanges' dashboards: - uuid: a886a871a00d47e28b8648cadae3bc99 name: 'RabbitMQ overview' pages: - widgets: - type: GRAPH_CLASSIC width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Messages' - type: GRAPH_CLASSIC x: '12' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Connections' - type: GRAPH_CLASSIC 'y': '5' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Messages status' - type: GRAPH_CLASSIC x: '12' 'y': '5' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ cluster by Zabbix agent' name: 'RabbitMQ: Queues' - type: GRAPH_CLASSIC 'y': '10' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - 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. Template tooling version used: 0.41 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 triggers: - 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}' 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: Process is not running' expression: 'last(/RabbitMQ node by Zabbix agent/proc.num["{$RABBITMQ.PROCESS_NAME}"])=0' - 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' tags: - tag: scope value: performance - 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 triggers: - uuid: af5cfb0004e04562a9720b9e1b41fd5b expression: 'last(/RabbitMQ node by Zabbix agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0' name: 'RabbitMQ: Service is down' priority: AVERAGE manual_close: 'YES' dependencies: - name: 'RabbitMQ: Process is not running' expression: 'last(/RabbitMQ node by Zabbix agent/proc.num["{$RABBITMQ.PROCESS_NAME}"])=0' tags: - tag: scope value: availability - uuid: 0b195bf594c44b1f869b4a7671f61453 name: 'RabbitMQ: CPU utilization' key: 'proc.cpu.util["{$RABBITMQ.PROCESS_NAME}"]' history: 7d value_type: FLOAT units: '%' description: 'Process CPU utilization percentage.' tags: - tag: component value: cpu - uuid: 6f13f672d8ce4c9592e0f3f5ec3b0ec4 name: 'RabbitMQ: Memory usage (rss)' key: 'proc.mem["{$RABBITMQ.PROCESS_NAME}",,,,rss]' history: 7d units: B description: 'Resident set size memory used by process in bytes.' tags: - tag: component value: system - uuid: 4faac75027d14304ab071602df8f2937 name: 'RabbitMQ: Memory usage (vsize)' key: 'proc.mem["{$RABBITMQ.PROCESS_NAME}",,,,vsize]' history: 7d units: B description: 'Virtual memory size used by process in bytes.' tags: - tag: component value: memory - uuid: 8f1c8d2449c44ab590842184d9deb3a6 name: 'RabbitMQ: Number of processes running' key: 'proc.num["{$RABBITMQ.PROCESS_NAME}"]' history: 7d tags: - tag: component value: system triggers: - uuid: 2979bc7d779b404696f7eac273e99ea7 expression: 'last(/RabbitMQ node by Zabbix agent/proc.num["{$RABBITMQ.PROCESS_NAME}"])=0' name: 'RabbitMQ: Process is not running' priority: HIGH tags: - tag: scope value: availability - uuid: 7dad79be93bd46bba7a2540b38080b06 name: 'RabbitMQ: Free disk space' type: DEPENDENT key: rabbitmq.node.disk_free delay: '0' history: 7d units: B description: '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: 'Does the node have disk alarm' 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: '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: 'Disk free space limit 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: 'Used file descriptors' 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: 'Does the host has memory alarm' 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: '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: 'Memory usage high watermark 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: 'Memory used 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: '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: 'Version of 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. Ack to close.' 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: 'Number of network partitions this node is seeing' 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: '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: 'Is the node 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 triggers: - uuid: 253acf98446e4790975b330d44dd6b96 expression: 'max(/RabbitMQ node by Zabbix agent/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: Process is not running' expression: 'last(/RabbitMQ node by Zabbix agent/proc.num["{$RABBITMQ.PROCESS_NAME}"])=0' - 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' tags: - tag: scope value: availability - uuid: 1ae6f429e99d4ddaa54aa6adab6b8100 name: 'RabbitMQ: Runtime run queue' type: DEPENDENT key: rabbitmq.node.run_queue delay: '0' history: 7d description: '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: '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: '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 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: has been restarted' event_name: 'RabbitMQ: 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 nodes metrics' preprocessing: - type: REGEX parameters: - '\n\s?\n(.*)' - \1 tags: - tag: component value: raw triggers: - 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' 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 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/proc.num["{$RABBITMQ.PROCESS_NAME}"])=0' - 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' tags: - tag: scope value: availability - 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 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 up to and including version 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: 'Runs basic healthchecks in the current node. Checks that the rabbit application is running, 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: '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: 'Version 3.8.10+ specific metrics' 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 authtype: BASIC username: '{$RABBITMQ.API.USER}' password: '{$RABBITMQ.API.PASSWORD}' description: 'Checks the expiration date on the certificates for every listener configured to use TLS. Responds a 200 OK if all certificates are valid (have not expired), 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 status_codes: '200,503,404' retrieve_mode: HEADERS 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: '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 authtype: BASIC username: '{$RABBITMQ.API.USER}' password: '{$RABBITMQ.API.PASSWORD}' description: 'Responds a 200 OK if there are no local alarms in effect on the target node, 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 status_codes: '200,503,404' retrieve_mode: HEADERS 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: '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 authtype: BASIC username: '{$RABBITMQ.API.USER}' password: '{$RABBITMQ.API.PASSWORD}' description: 'Checks if there are classic mirrored queues without synchronized mirrors online (queues that would potentially lose data if the target node is shut down). Responds a 200 OK if there are no such classic mirrored queues, 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 status_codes: '200,503,404' retrieve_mode: HEADERS 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: '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 authtype: BASIC username: '{$RABBITMQ.API.USER}' password: '{$RABBITMQ.API.PASSWORD}' description: '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). Responds a 200 OK if there are no such quorum queues, 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 status_codes: '200,503,404' retrieve_mode: HEADERS 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: '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 authtype: BASIC username: '{$RABBITMQ.API.USER}' password: '{$RABBITMQ.API.PASSWORD}' description: 'Responds a 200 OK if all virtual hosts and running on the target node, 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 status_codes: '200,503,404' retrieve_mode: HEADERS 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: '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: 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: 'Individual queue metrics' item_prototypes: - uuid: fcbee789f2864010b26ac69894659e77 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Consumers' type: DEPENDENT key: 'rabbitmq.queue.consumers["{#VHOST}/{#QUEUE}"]' delay: '0' history: 7d description: 'Number of consumers' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].consumers.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: 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: 'Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].memory.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: 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: 'Number per second of messages delivered to clients and acknowledged' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.ack_details.rate.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Number of messages delivered to clients and acknowledged' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.ack.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Count of messages delivered in acknowledgement mode to consumers' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.deliver_details.rate.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Count of messages delivered in acknowledgement mode to consumers' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.deliver.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.deliver_get_details.rate.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.deliver_get.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Rate per second of messages published' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.publish_details.rate.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Count of messages published' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.publish.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Count per second of the total messages in the queue' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].messages_details.rate.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: 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: 'Rate per second of subset of messages in deliver_get which had the redelivered flag set' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.redeliver_details.rate.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Count of subset of messages in deliver_get which had the redelivered flag set' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].message_stats.redeliver.first()' 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.HOST}:{$RABBITMQ.API.PORT}/api/queues"]' 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: 'Count of the total messages in the queue' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].messages.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: 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: 'Number per second of messages ready to be delivered to clients' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].messages_ready_details.rate.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: 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: 'Number of messages ready to be delivered to clients' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].messages_ready.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: 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: 'Number per second of messages delivered to clients but not yet acknowledged' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].messages_unacknowledged_details.rate.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: 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: 'Number of messages delivered to clients but not yet acknowledged' preprocessing: - type: JSONPATH parameters: - '$[?(@.name == "{#QUEUE}" && @.vhost == "{#VHOST}")].messages_unacknowledged.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: messages - tag: queue value: '{#QUEUE}' - tag: vhost value: '{#VHOST}' graph_prototypes: - uuid: a6223df79d334c29ada36ba20729b885 name: 'RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages per second' graph_items: - color: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '2' color: F63100 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '3' color: A54F10 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: AC8C14 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"]' - sortorder: '7' color: 611F27 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: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"]' - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"]' - sortorder: '2' color: F63100 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"]' - sortorder: '3' color: A54F10 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: AC8C14 item: host: 'RabbitMQ node by Zabbix agent' key: 'rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"]' - sortorder: '7' color: 611F27 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: '{#NODE}' path: $.node - lld_macro: '{#QUEUE}' path: $.name - lld_macro: '{#VHOST}' path: $.vhost 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 RabbitMQ API endpoint' - macro: '{$RABBITMQ.API.PASSWORD}' value: zabbix - macro: '{$RABBITMQ.API.PORT}' value: '15672' description: 'The port of RabbitMQ API endpoint' - macro: '{$RABBITMQ.API.SCHEME}' value: http description: '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 RabbitMQ cluster' - macro: '{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}' value: '.*' description: 'Filter of discoverable queues' - macro: '{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}' value: CHANGE_IF_NEEDED description: 'Filter to exclude discovered queues' - macro: '{$RABBITMQ.MESSAGES.MAX.WARN}' value: '1000' description: 'Maximum number of messages in the queue for trigger expression' - macro: '{$RABBITMQ.PROCESS_NAME}' value: beam.smp description: 'RabbitMQ server process name' - macro: '{$RABBITMQ.RESPONSE_TIME.MAX.WARN}' value: '10' description: 'Maximum RabbitMQ response time in seconds for trigger expression' dashboards: - uuid: ce0af043ed2c4e7c988674c9ecb787d6 name: 'RabbitMQ node status' pages: - widgets: - type: GRAPH_CLASSIC width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Node status' - type: GRAPH_CLASSIC x: '12' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Uptime' - type: GRAPH_CLASSIC 'y': '5' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Disk free' - type: GRAPH_CLASSIC x: '12' 'y': '5' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: Memory used' - type: GRAPH_CLASSIC 'y': '10' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - type: GRAPH name: graphid value: host: 'RabbitMQ node by Zabbix agent' name: 'RabbitMQ: File descriptors' - type: GRAPH_CLASSIC x: '12' 'y': '10' width: '12' height: '5' fields: - type: INTEGER name: source_type value: '0' - 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: 1A7C11 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.connections - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.channels - sortorder: '2' color: F63100 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: 1A7C11 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: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.fd_used - uuid: 180a5d36d48f44fbaf6f86c5cf9e10f9 name: 'RabbitMQ: Memory usage' graph_items: - color: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: 'proc.mem["{$RABBITMQ.PROCESS_NAME}",,,,vsize]' - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ node by Zabbix agent' key: 'proc.mem["{$RABBITMQ.PROCESS_NAME}",,,,rss]' - uuid: a5949ccf83434f1fb26cfe0a3671085e name: 'RabbitMQ: Memory used' graph_items: - drawtype: GRADIENT_LINE color: 1A7C11 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: 1A7C11 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.queue_totals.messages - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.queue_totals.messages.ready - sortorder: '2' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.queue_totals.messages.unacknowledged - uuid: ad303b1816a84248a347ef4773bf2c44 name: 'RabbitMQ: Messages per second' graph_items: - color: 1A7C11 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish.rate - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.ack.rate - sortorder: '2' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.confirm.rate - sortorder: '3' color: A54F10 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: AC8C14 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.redeliver.rate - sortorder: '7' color: 611F27 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.return_unroutable.rate - uuid: 94fa39136a0d42b2997dd3b9a7581621 name: 'RabbitMQ: Messages status' graph_items: - color: 1A7C11 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.publish - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.ack - sortorder: '2' color: F63100 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.confirm - sortorder: '3' color: A54F10 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: AC8C14 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.messages.redeliver - sortorder: '7' color: 611F27 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: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.running - uuid: 3205b991eb5443e680b571b23b4a1721 name: 'RabbitMQ: Queues' graph_items: - drawtype: GRADIENT_LINE color: 1A7C11 item: host: 'RabbitMQ cluster by Zabbix agent' key: rabbitmq.overview.object_totals.queues - uuid: 7e5fec850547465091a38f78268a207f name: 'RabbitMQ: Sockets' graph_items: - drawtype: GRADIENT_LINE color: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.sockets_used - sortorder: '1' color: 2774A4 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.sockets_total - uuid: bf2b0b66f4d94549aae9cbe04dfe9bd2 name: 'RabbitMQ: Uptime' graph_items: - color: 1A7C11 item: host: 'RabbitMQ node by Zabbix agent' key: rabbitmq.node.uptime