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