zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Templates/Databases
  host_groups:
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Databases
  templates:
    - uuid: bc056b1724e748bba50928f8cc605f8e
      template: 'YugabyteDB by HTTP'
      name: 'YugabyteDB by HTTP'
      description: |
        This template is designed for the deployment of YugabyteDB monitoring by Zabbix via HTTP and doesn't require any external scripts.
        
        To set up the template:
        
        1. Set your account ID as a value of the {$YUGABYTEDB.ACCOUNT.ID} macro. The account ID is the unique identifier for your customer account in YugabyteDB Managed. You can access the account ID from your profile in the YugabyteDB Managed user interface. To get your account ID, log in to YugabyteDB Managed and click the user profile icon. 
        See YugabyteDB documentation for instructions:
        https://yugabyte.stoplight.io/docs/managed-apis/tvsjh28t5ivmw-getting-started#account-id
        
        2. Set your project ID as a value of the {$YUGABYTEDB.PROJECT.ID} macro. The project ID is the unique identifier for a YugabyteDB Managed project. You can access the project ID from your profile in the YugabyteDB Managed user interface (along with the account ID). 
        See YugabyteDB documentation for instructions:
        https://yugabyte.stoplight.io/docs/managed-apis/tvsjh28t5ivmw-getting-started#project-id
        
        3. Generate the API access token and specify it as a value of the {$YUGABYTEDB.ACCESS.TOKEN} macro. 
        See YugabyteDB documentation for instructions:
        https://docs.yugabyte.com/preview/yugabyte-cloud/managed-automation/managed-apikeys/#create-an-api-key
        
        NOTE: If needed, you can specify a HTTP proxy for the template to use by changing the value of the {$YUGABYTEDB.PROXY} user macro.
        
        IMPORTANT! The value of the {$YUGABYTEDB.ACCESS.TOKEN} macro is stored as plain (not secret) text by default.  
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: Templates/Databases
      items:
        - uuid: 25196b29de6c45c18485f2aefe306818
          name: 'Get cluster'
          type: SCRIPT
          key: yugabytedb.clusters.get
          delay: 1h
          history: '0'
          value_type: TEXT
          params: |
            var YugabyteDB = {
            	params: {},
            	clusters: [],
            	error_msg: '',
            
            	setParams: function (params) {
            		['account_id', 'project_id', 'token'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
            				throw 'Required param is not set: ' + field + '.';
            			}
            		});
            
            		YugabyteDB.params = params;
            	},
            
            
            	request: function (url, data) {
            		if (typeof data === 'undefined' || data === null) {
            			data = '';
            		}
            
            		var response, request = new HttpRequest();
            		if (typeof YugabyteDB.params.proxy !== 'undefined' && YugabyteDB.params.proxy !== '') {
            			request.setProxy(YugabyteDB.params.proxy);
            		}
            		if (YugabyteDB.params.token) {
            			request.addHeader('Accept: application/json');
            			request.addHeader('Authorization: Bearer ' + YugabyteDB.params.token);
            		}
            
            		Zabbix.log(4, '[ YugabyteDB ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ YugabyteDB ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() !== 200 || response === null) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			return JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API:' + error;
            		}
            	}
            
            };
            
            try {
            	YugabyteDB.setParams(JSON.parse(value));
            
            	clusters = YugabyteDB.request(
            		'https://cloud.yugabyte.com/api/public/v1/accounts/' + YugabyteDB.params.account_id + '/projects/' + YugabyteDB.params.project_id + '/clusters'
            	)
            
            	YugabyteDB.clusters = clusters.data;
            }
            catch (error) {
            	Zabbix.log(3, '[ YugabyteDB ] ERROR: ' + error);
            	YugabyteDB.error_msg = 'Failed to get data from API:' + error;
            }
            
            return JSON.stringify({'clusters': YugabyteDB.clusters, 'error': YugabyteDB.error_msg});
          description: 'Get raw data about clusters.'
          timeout: 10s
          parameters:
            - name: account_id
              value: '{$YUGABYTEDB.ACCOUNT.ID}'
            - name: project_id
              value: '{$YUGABYTEDB.PROJECT.ID}'
            - name: proxy
              value: '{$YUGABYTEDB.PROXY}'
            - name: token
              value: '{$YUGABYTEDB.ACCESS.TOKEN}'
          tags:
            - tag: component
              value: raw
        - uuid: f5a43644d4d341658b8818077e24ccb3
          name: 'Get clusters item error'
          type: DEPENDENT
          key: yugabytedb.clusters.get.errors
          value_type: TEXT
          description: 'Item for gathering all the cluster item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.clusters.get
          tags:
            - tag: component
              value: error
          triggers:
            - uuid: add4067f699f401887d259ee35b4d654
              expression: 'length(last(/YugabyteDB by HTTP/yugabytedb.clusters.get.errors)) > 0'
              name: 'Failed to fetch data'
              priority: WARNING
              description: 'Failed to fetch data about cluster.'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: b882ad93a75046b09794c7f229482006
          name: 'Cluster discovery'
          type: DEPENDENT
          key: yugabytedb.cluster.discovery
          description: 'Discovery of the available clusters.'
          host_prototypes:
            - uuid: 1a7ec22ad5ad41e0bcb04c01c2c45e4e
              host: '{#CLUSTER.ID}'
              name: 'YugabyteDB Cluster [{#CLUSTER.NAME}]'
              group_links:
                - group:
                    name: Databases
              templates:
                - name: 'YugabyteDB Cluster by HTTP'
              macros:
                - macro: '{$YUGABYTEDB.CLUSTER.ID}'
                  value: '{#CLUSTER.ID}'
                  description: 'ID of cluster.'
                - macro: '{$YUGABYTEDB.CLUSTER.NAME}'
                  value: '{#CLUSTER.NAME}'
                  description: 'Name of cluster.'
              tags:
                - tag: cluster
                  value: '{#CLUSTER.NAME}'
          master_item:
            key: yugabytedb.clusters.get
          lld_macro_paths:
            - lld_macro: '{#CLUSTER.ID}'
              path: $.cluster_id
            - lld_macro: '{#CLUSTER.NAME}'
              path: $.cluster_name
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var result = [];
                  var clusters = JSON.parse(value);
                  
                  for (var cluster in clusters['clusters']) {
                  	result.push({
                  		"cluster_id": clusters['clusters'][cluster]['info']['id'],
                  		"cluster_name": clusters['clusters'][cluster]['spec']['name']
                  	});
                  };
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
      tags:
        - tag: class
          value: database
        - tag: target
          value: yugabytedb
      macros:
        - macro: '{$YUGABYTEDB.ACCESS.TOKEN}'
          value: '<Put your access token here>'
          description: 'Access token for the YugabyteDB API.'
        - macro: '{$YUGABYTEDB.ACCOUNT.ID}'
          value: '<Put your account ID here>'
          description: 'YugabyteDB account ID.'
        - macro: '{$YUGABYTEDB.PROJECT.ID}'
          value: '<Put your project ID here>'
          description: 'YugabyteDB project ID.'
        - macro: '{$YUGABYTEDB.PROXY}'
          description: 'Sets the HTTP proxy value. If this macro is empty, then no proxy is used.'
    - uuid: f5fff9a83f774f4688692ad58aa35d45
      template: 'YugabyteDB Cluster by HTTP'
      name: 'YugabyteDB Cluster by HTTP'
      description: |
        This template is designed for the deployment of YugabyteDB clusters monitoring by Zabbix via HTTP and doesn't require any external scripts. This template will be automatically connected to discovered entities with all required parameters pre-defined.
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: Templates/Databases
      items:
        - uuid: 4872cb50f8284ff6aa07c530156f324e
          name: 'YSQL connections average used'
          type: DEPENDENT
          key: yugabytedb.cluster.connection.count
          description: 'Cumulative number of connections to the YSQL backend for all nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.AVERAGE_YSQL_CONNECTION_COUNT
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: connection
        - uuid: 5bfd7adb38334116a5a54e2a0e2847f9
          name: 'YSQL connections limit'
          type: DEPENDENT
          key: yugabytedb.cluster.connection.limit
          description: 'The limit of the number of connections to the YSQL backend for all nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_CONNECTION_LIMIT
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: connection
        - uuid: 187e373dd49a4214b1862393538ff209
          name: 'YSQL connections maximum used'
          type: DEPENDENT
          key: yugabytedb.cluster.connection.max
          description: 'Maximum of used connections to the YSQL backend for all nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_MAX_CONNECTION_COUNT
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: connection
        - uuid: a7c388d2e66b48469e47a55cbb6ec614
          name: 'YSQL connections utilization'
          type: CALCULATED
          key: yugabytedb.cluster.connection.utilization
          value_type: FLOAT
          units: '%'
          params: '(last(//yugabytedb.cluster.connection.count)/last(//yugabytedb.cluster.connection.limit))*100'
          description: 'Cumulative number of connections to the YSQL backend for all nodes, expressed in percent.'
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: connection
          triggers:
            - uuid: 5caf42a5309a4f0f834b6058f4741a44
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.connection.utilization,5m) > {$YUGABYTEDB.CONNECTION.UTILIZATION.WARN}'
              name: 'Average utilization of connections is high'
              event_name: 'Average utilization of connections is high (over {$YUGABYTEDB.CONNECTION.UTILIZATION.WARN}% for 5m)'
              opdata: 'Current connections utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'YugabyteDB Cluster uses more than {$YUGABYTEDB.CONNECTION.UTILIZATION.WARN}% of the connection limit.'
              dependencies:
                - name: 'Average utilization of connections is too high'
                  expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.connection.utilization,5m) > {$YUGABYTEDB.CONNECTION.UTILIZATION.CRIT}'
              tags:
                - tag: scope
                  value: performance
            - uuid: 68d2710963394afe8218178c98e88c62
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.connection.utilization,5m) > {$YUGABYTEDB.CONNECTION.UTILIZATION.CRIT}'
              name: 'Average utilization of connections is too high'
              event_name: 'Average utilization of connections is too high (over {$YUGABYTEDB.CONNECTION.UTILIZATION.CRIT}% for 5m)'
              opdata: 'Current connections utilization: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'YugabyteDB Cluster uses more than {$YUGABYTEDB.CONNECTION.UTILIZATION.CRIT}% of the connection limit.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 8065a31bd61b494a9edf94692c4846ff
          name: 'CPU utilization'
          type: DEPENDENT
          key: yugabytedb.cluster.cpu.utilization
          value_type: FLOAT
          units: '%'
          description: 'The percentage of CPU use being consumed by the tablet or master server Yugabyte processes, as well as other processes, if any.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.CPU_USAGE
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: cpu
          triggers:
            - uuid: 22340ce9ea2e457fa4270498bfc53666
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.cpu.utilization,5m) > {$YUGABYTEDB.CPU.UTILIZATION.WARN}'
              name: 'CPU utilization is high'
              event_name: 'CPU utilization is high (over {$YUGABYTEDB.CPU.UTILIZATION.WARN}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'YugabyteDB Cluster CPU utilization is more than {$YUGABYTEDB.CPU.UTILIZATION.WARN}%. The system might be slow to respond.'
              dependencies:
                - name: 'CPU utilization is too high'
                  expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.cpu.utilization,5m) > {$YUGABYTEDB.CPU.UTILIZATION.CRIT}'
              tags:
                - tag: scope
                  value: performance
            - uuid: ed88478e0a784c8dbbe95c20b08c167e
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.cpu.utilization,5m) > {$YUGABYTEDB.CPU.UTILIZATION.CRIT}'
              name: 'CPU utilization is too high'
              event_name: 'CPU utilization is too high (over {$YUGABYTEDB.CPU.UTILIZATION.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'YugabyteDB Cluster CPU utilization is more than {$YUGABYTEDB.CPU.UTILIZATION.CRIT}%. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 03b2e6e400334c0eb6e6b2c7efe8ddcf
          name: 'Disk space provisioned'
          type: DEPENDENT
          key: yugabytedb.cluster.disk.provisioned
          value_type: FLOAT
          units: B
          description: 'Shows the amount of disk space provisioned for the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.PROVISIONED_DISK_SPACE_GB
            - type: MULTIPLIER
              parameters:
                - '1073741824'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: storage
        - uuid: 2e59d947823e4e6b8a3eb9cd28cb8602
          name: 'Disk read, Bps'
          type: DEPENDENT
          key: yugabytedb.cluster.disk.read.bps
          value_type: FLOAT
          units: Bps
          description: 'The number of bytes being read from disk per second, averaged over each node.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.DISK_BYTES_READ_MB_PER_SEC
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: storage
        - uuid: 7a7c47740d01462f82ccb8649de19a23
          name: 'Disk read OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.disk.read.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The number of read operations per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.READ_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: performance
        - uuid: 03cd79b37aa543d4ba3ce9fb154513f2
          name: 'Disk space usage'
          type: DEPENDENT
          key: yugabytedb.cluster.disk.usage
          value_type: FLOAT
          units: B
          description: 'Shows the amount of disk space used by the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.DISK_USAGE_GB
            - type: MULTIPLIER
              parameters:
                - '1073741824'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: storage
        - uuid: b2de999838914ca2bfc2c4fdfd22db74
          name: 'Disk space utilization'
          type: CALCULATED
          key: yugabytedb.cluster.disk.utilization
          value_type: FLOAT
          units: '%'
          params: '(last(//yugabytedb.cluster.disk.usage)/last(//yugabytedb.cluster.disk.provisioned))*100'
          description: 'Shows the percentage of disk space used by the cluster.'
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: storage
          triggers:
            - uuid: 3571704c29e040b198a6e72d7526c98a
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.disk.utilization,5m) > {$YUGABYTEDB.DISK.UTILIZATION.CRIT}'
              name: 'Storage space is critically low'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'YugabyteDB Cluster uses more than {$YUGABYTEDB.DISK.UTILIZATION.CRIT}% of disk space.'
              tags:
                - tag: scope
                  value: capacity
            - uuid: 21623809368a43b0bdfb127f2fdea22c
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.disk.utilization,5m) > {$YUGABYTEDB.DISK.UTILIZATION.WARN}'
              name: 'Storage space is low'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'YugabyteDB Cluster uses more than {$YUGABYTEDB.DISK.UTILIZATION.WARN}% of disk space.'
              dependencies:
                - name: 'Storage space is critically low'
                  expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.disk.utilization,5m) > {$YUGABYTEDB.DISK.UTILIZATION.CRIT}'
              tags:
                - tag: scope
                  value: capacity
        - uuid: c528c1692fe84e7c85ec99f5802dea15
          name: 'Disk write, Bps'
          type: DEPENDENT
          key: yugabytedb.cluster.disk.write.bps
          value_type: FLOAT
          units: Bps
          description: 'The number of bytes being written to disk per second, averaged over each node.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.DISK_BYTES_WRITTEN_MB_PER_SEC
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: storage
        - uuid: 0badafcd38d34e4faa70f95ba501658a
          name: 'Disk write OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.disk.write.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The number of write operations per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.WRITE_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: performance
        - uuid: d8f71197e0e147fea4de2a17d4b1ad81
          name: 'Get cluster'
          type: SCRIPT
          key: yugabytedb.cluster.get
          delay: 10m
          history: '0'
          value_type: TEXT
          params: |
            var YugabyteDB = {
            	params: {},
            	clusters: [],
            	error_msg: '',
            
            	setParams: function (params) {
            		['account_id', 'project_id', 'token', 'cluster_id'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
            				throw 'Required param is not set: ' + field + '.';
            			}
            		});
            
            		YugabyteDB.params = params;
            	},
            
            
            	request: function (url, data) {
            		if (typeof data === 'undefined' || data === null) {
            			data = '';
            		}
            
            		var response, request = new HttpRequest();
            		if (typeof YugabyteDB.params.proxy !== 'undefined' && YugabyteDB.params.proxy !== '') {
            			request.setProxy(YugabyteDB.params.proxy);
            		}
            		if (YugabyteDB.params.token) {
            			request.addHeader('Accept: application/json');
            			request.addHeader('Authorization: Bearer ' + YugabyteDB.params.token);
            		}
            
            		Zabbix.log(4, '[ YugabyteDB ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ YugabyteDB ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() !== 200 || response === null) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			return JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API:' + error;
            		}
            	}
            
            };
            
            try {
            	YugabyteDB.setParams(JSON.parse(value));
            
            	cluster = YugabyteDB.request(
            		'https://cloud.yugabyte.com/api/public/v1/accounts/' + YugabyteDB.params.account_id + '/projects/' + YugabyteDB.params.project_id + '/clusters/' + YugabyteDB.params.cluster_id
            	)
            
            	YugabyteDB.clusters = cluster.data;
            }
            catch (error) {
            	Zabbix.log(3, '[ YugabyteDB ] ERROR: ' + error);
            	YugabyteDB.error_msg = 'Failed to get data from API:' + error;
            }
            
            return JSON.stringify({'data': YugabyteDB.clusters, 'error': YugabyteDB.error_msg});
          description: 'Get raw data about clusters.'
          timeout: 10s
          parameters:
            - name: account_id
              value: '{$YUGABYTEDB.ACCOUNT.ID}'
            - name: cluster_id
              value: '{$YUGABYTEDB.CLUSTER.ID}'
            - name: project_id
              value: '{$YUGABYTEDB.PROJECT.ID}'
            - name: proxy
              value: '{$YUGABYTEDB.PROXY}'
            - name: token
              value: '{$YUGABYTEDB.ACCESS.TOKEN}'
          tags:
            - tag: component
              value: raw
        - uuid: fe9960991a4540e795a0a113cd251271
          name: 'Get cluster item error'
          type: DEPENDENT
          key: yugabytedb.cluster.get.errors
          value_type: TEXT
          description: 'Item for gathering all the cluster item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: error
        - uuid: e5415e8c03ac4a61aa10a6b35a18b084
          name: 'Health state'
          type: DEPENDENT
          key: yugabytedb.cluster.health.state
          description: |
            Current state regarding the health of the cluster:
             - HEALTHY
             - NEEDS_ATTENTION
             - UNHEALTHY
             - UNKNOWN
          valuemap:
            name: 'YugabyteDB Health state'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var cluster = JSON.parse(value);
                  
                  const idx = [
                  	'HEALTHY',
                  	'NEEDS_ATTENTION',
                  	'UNHEALTHY',
                  	'UNKNOWN',
                  ].indexOf(cluster.data.info.health_info.state);
                  return idx !== -1 ? idx : 3;
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: cluster
          triggers:
            - uuid: e111a563fb9947eda48a56ad5ef59891
              expression: 'last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.health.state,#1) <> 0'
              name: 'Cluster is not healthy'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: AVERAGE
              description: 'YugabyteDB Cluster is not healthy.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 955291127a4e483693c1db6690a1beab
          name: 'Memory total'
          type: DEPENDENT
          key: yugabytedb.cluster.memory.total
          value_type: FLOAT
          units: B
          description: 'Shows the amount of RAM provisioned to the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.MEMORY_TOTAL_GB
            - type: MULTIPLIER
              parameters:
                - '1073741824'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: memory
        - uuid: 682d46a939cf4ec186d4081e7a8eee42
          name: 'Memory usage'
          type: DEPENDENT
          key: yugabytedb.cluster.memory.usage
          value_type: FLOAT
          units: B
          description: 'Shows the amount of RAM used on the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.MEMORY_USAGE_GB
            - type: MULTIPLIER
              parameters:
                - '1073741824'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: memory
        - uuid: 18e6de024a7a4ae48901f455dbd0a373
          name: 'Memory utilization'
          type: CALCULATED
          key: yugabytedb.cluster.memory.utilization
          value_type: FLOAT
          units: '%'
          params: '(last(//yugabytedb.cluster.memory.usage)/last(//yugabytedb.cluster.memory.total))*100'
          description: 'Shows the amount of RAM used on the cluster, expressed in percent.'
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: memory
          triggers:
            - uuid: 5614204dbeca4b799989a13717824f07
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.memory.utilization,5m) > {$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.WARN}'
              name: 'Memory utilization is high'
              event_name: 'Memory utilization is high (>{$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.WARN} for 5m)'
              opdata: 'Current memory utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'YugabyteDB Cluster uses more than {$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.WARN}% of memory.'
              dependencies:
                - name: 'Memory utilization is too high'
                  expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.memory.utilization,5m) > {$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.CRIT}'
              tags:
                - tag: scope
                  value: performance
            - uuid: 27a8c6b07e474581be53f5d896387f45
              expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.memory.utilization,5m) > {$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.CRIT}'
              name: 'Memory utilization is too high'
              event_name: 'Memory utilization is too high (>{$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.CRIT} for 5m)'
              opdata: 'Current memory utilization: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'YugabyteDB Cluster uses more than {$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.CRIT}% of memory.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 9c51b3d15ac448388e23c74d4e5bba3a
          name: 'Get cluster metrics'
          type: SCRIPT
          key: yugabytedb.cluster.metric.get
          history: '0'
          value_type: TEXT
          params: |
            var YugabyteDB = {
            	params: {},
            	metrics: {},
            	error_msg: '',
            
            	setParams: function (params) {
            		['account_id', 'project_id', 'token', 'cluster_id'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
            				throw 'Required param is not set: ' + field + '.';
            			}
            		});
            
            		YugabyteDB.params = params;
            	},
            
            
            	request: function (url, data) {
            		if (typeof data === 'undefined' || data === null) {
            			data = '';
            		}
            
            		var response, request = new HttpRequest();
            		if (typeof YugabyteDB.params.proxy !== 'undefined' && YugabyteDB.params.proxy !== '') {
            			request.setProxy(YugabyteDB.params.proxy);
            		}
            		if (YugabyteDB.params.token) {
            			request.addHeader('Accept: application/json');
            			request.addHeader('Authorization: Bearer ' + YugabyteDB.params.token);
            		}
            
            		Zabbix.log(4, '[ YugabyteDB ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ YugabyteDB ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() !== 200 || response === null) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			return JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API:' + error;
            		}
            	},
            
            
            	get_last_values: function (values) {
            		var max_timestamp = 0;
            		var last_value = 0;
            		for (e in values) {
            			if (values[e][0] > max_timestamp) {
            				max_timestamp = values[e][0];
            				last_value = values[e][1];
            			};
            		};
            		return last_value;
            	},
            
            
            	get_start_time: function() {
            		return Math.floor(Date.now() / 1000 - 300);
            	}
            
            };
            
            metrics = [
            	"CPU_USAGE",
            	"DISK_USAGE_GB",
            	"PROVISIONED_DISK_SPACE_GB",
            	"READ_OPS_PER_SEC",
            	"WRITE_OPS_PER_SEC",
            	"AVERAGE_READ_LATENCY_MS",
            	"AVERAGE_WRITE_LATENCY_MS",
            	"YSQL_CONNECTION_LIMIT",
            	"AVERAGE_YSQL_CONNECTION_COUNT",
            	"NODE_CLOCK_SKEW",
            	"DISK_BYTES_READ_MB_PER_SEC",
            	"DISK_BYTES_WRITTEN_MB_PER_SEC",
            	"FOLLOWER_LAG_MS",
            	"MEMORY_TOTAL_GB",
            	"MEMORY_USAGE_GB",
            	"NETWORK_RECEIVE_BYTES_MB_PER_SEC",
            	"NETWORK_TRANSMIT_BYTES_MB_PER_SEC",
            	"NETWORK_RECEIVE_ERRORS_PER_SEC",
            	"NETWORK_TRANSMIT_ERRORS_PER_SEC",
            	"MASTER_UP_STATUS",
            	"TSERVER_UP_STATUS",
            	"YSQL_MAX_CONNECTION_COUNT"
            ]
            
            try {
            	YugabyteDB.setParams(JSON.parse(value));
            
            	var size = 6
            
            	for (var i = 0; i < Math.ceil(metrics.length/size); i++)  {
            		var values = YugabyteDB.request(
            			'https://cloud.yugabyte.com/api/public/v1/accounts/' + YugabyteDB.params.account_id + '/projects/' + YugabyteDB.params.project_id + '/clusters/' + YugabyteDB.params.cluster_id + '/metrics?metrics=' + metrics.slice((i * size), (i * size) + size).join('%2C') + '&start_time=' + YugabyteDB.get_start_time()
            		);
            
            		values.data.forEach(function (e) {
            			YugabyteDB.metrics[e.name] = YugabyteDB.get_last_values(e.values)
            		});
            	};
            }
            catch (error) {
            	Zabbix.log(3, '[ YugabyteDB ] ERROR: ' + error);
            	error_msg = 'Failed to get data from API:' + error;
            }
            
            return JSON.stringify({'metrics': YugabyteDB.metrics, 'error': YugabyteDB.error_msg});
          description: 'Getting metrics for the cluster.'
          timeout: 5s
          parameters:
            - name: account_id
              value: '{$YUGABYTEDB.ACCOUNT.ID}'
            - name: cluster_id
              value: '{$YUGABYTEDB.CLUSTER.ID}'
            - name: project_id
              value: '{$YUGABYTEDB.PROJECT.ID}'
            - name: proxy
              value: '{$YUGABYTEDB.PROXY}'
            - name: token
              value: '{$YUGABYTEDB.ACCESS.TOKEN}'
          tags:
            - tag: component
              value: raw
        - uuid: 58b766758f7644369d3a1d125e012c07
          name: 'Get cluster metrics item error'
          type: DEPENDENT
          key: yugabytedb.cluster.metric.get.errors
          value_type: TEXT
          description: 'Item for gathering all the cluster item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: error
        - uuid: 91ace5e3a9a3428eb209e539c25f43b4
          name: 'Network receive, Bps'
          type: DEPENDENT
          key: yugabytedb.cluster.network.receive.bps
          value_type: FLOAT
          units: Bps
          description: 'The size of network packets received per second, averaged over nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.NETWORK_RECEIVE_BYTES_MB_PER_SEC
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: network
        - uuid: 3503d33b5c35433093565aac0890c717
          name: 'Network receive error, rate'
          type: DEPENDENT
          key: yugabytedb.cluster.network.receive.error.rate
          value_type: FLOAT
          description: 'The number of errors related to network packets received per second, averaged over nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.NETWORK_RECEIVE_ERRORS_PER_SEC
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: network
        - uuid: 51e7acc58c824737af2b48475ede228d
          name: 'Network transmit, Bps'
          type: DEPENDENT
          key: yugabytedb.cluster.network.transmit.bps
          value_type: FLOAT
          units: Bps
          description: 'The size of network packets transmitted per second, averaged over nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.NETWORK_TRANSMIT_BYTES_MB_PER_SEC
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: network
        - uuid: 86c23bbe2d29444b85a6435508c53e28
          name: 'Network transmit error, rate'
          type: DEPENDENT
          key: yugabytedb.cluster.network.transmit.error.rate
          value_type: FLOAT
          description: 'The number of errors related to network packets transmitted per second, averaged over nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.NETWORK_TRANSMIT_ERRORS_PER_SEC
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: network
        - uuid: a64c4ba3b34045aba315dbb500aa86c4
          name: 'Number of nodes'
          type: DEPENDENT
          key: yugabytedb.cluster.node.number
          description: 'How many nodes are in the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.data.spec.cluster_info.num_nodes
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: cluster
        - uuid: c04d594c1a39437f8e5f47b42ccf9fba
          name: 'Clock skew'
          type: DEPENDENT
          key: yugabytedb.cluster.node.skew
          units: s
          description: 'The clock drift and skew across different nodes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.NODE_CLOCK_SKEW
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: DISCARD_VALUE
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: performance
        - uuid: 5497290f85d44d2c95ca0be3d2b030a3
          name: 'Get cluster query statistic'
          type: SCRIPT
          key: yugabytedb.cluster.query.statistic.get
          history: '0'
          value_type: TEXT
          params: |
            var YugabyteDB = {
            	params: {},
            	metrics: {},
            	error_msg: '',
            
            	setParams: function (params) {
            		['account_id', 'project_id', 'token', 'cluster_id'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
            				throw 'Required param is not set: ' + field + '.';
            			}
            		});
            
            		YugabyteDB.params = params;
            	},
            
            
            	request: function (url, data) {
            		if (typeof data === 'undefined' || data === null) {
            			data = '';
            		}
            
            		var response, request = new HttpRequest();
            		if (typeof YugabyteDB.params.proxy !== 'undefined' && YugabyteDB.params.proxy !== '') {
            			request.setProxy(YugabyteDB.params.proxy);
            		}
            		if (YugabyteDB.params.token) {
            			request.addHeader('Accept: application/json');
            			request.addHeader('Authorization: Bearer ' + YugabyteDB.params.token);
            		}
            
            		Zabbix.log(4, '[ YugabyteDB ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ YugabyteDB ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() !== 200 || response === null) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			return JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API:' + error;
            		}
            	},
            
            
            	get_last_values: function (values) {
            		var max_timestamp = 0;
            		var last_value = 0;
            		for (e in values) {
            			if (values[e][0] > max_timestamp) {
            				max_timestamp = values[e][0];
            				last_value = values[e][1];
            			};
            		};
            		return last_value;
            	},
            
            
            	get_start_time: function() {
            		return Math.floor(Date.now() / 1000 - 300);
            	}
            
            };
            
            metrics = [
            	"YSQL_SELECT_OPS_PER_SEC",
            	"YSQL_DELETE_OPS_PER_SEC",
            	"YSQL_INSERT_OPS_PER_SEC",
            	"YSQL_UPDATE_OPS_PER_SEC",
            	"YSQL_OTHER_OPS_PER_SEC",
            	"YSQL_TRANSACTION_OPS_PER_SEC",
            	"YSQL_SELECT_LATENCY_MS",
            	"YSQL_DELETE_LATENCY_MS",
            	"YSQL_INSERT_LATENCY_MS",
            	"YSQL_UPDATE_LATENCY_MS",
            	"YSQL_OTHER_LATENCY_MS",
            	"YSQL_TRANSACTION_LATENCY_MS",
            	"YCQL_SELECT_OPS_PER_SEC",
            	"YCQL_DELETE_OPS_PER_SEC",
            	"YCQL_INSERT_OPS_PER_SEC",
            	"YCQL_OTHER_OPS_PER_SEC",
            	"YCQL_UPDATE_OPS_PER_SEC",
            	"YCQL_TRANSACTION_OPS_PER_SEC",
            	"YCQL_SELECT_LATENCY_MS",
            	"YCQL_DELETE_LATENCY_MS",
            	"YCQL_INSERT_LATENCY_MS",
            	"YCQL_OTHER_LATENCY_MS",
            	"YCQL_UPDATE_LATENCY_MS",
            	"YCQL_TRANSACTION_LATENCY_MS"
            ]
            
            try {
            	YugabyteDB.setParams(JSON.parse(value));
            
            	var size = 6
            
            	for (var i = 0; i < Math.ceil(metrics.length/size); i++)  {
            		var values = YugabyteDB.request(
            			'https://cloud.yugabyte.com/api/public/v1/accounts/' + YugabyteDB.params.account_id + '/projects/' + YugabyteDB.params.project_id + '/clusters/' + YugabyteDB.params.cluster_id + '/metrics?metrics=' + metrics.slice((i * size), (i * size) + size).join('%2C') + '&start_time=' + YugabyteDB.get_start_time()
            		);
            
            		values.data.forEach(function (e) {
            			YugabyteDB.metrics[e.name] = YugabyteDB.get_last_values(e.values)
            		});
            	};
            }
            catch (error) {
            	Zabbix.log(3, '[ YugabyteDB ] ERROR: ' + error);
            	error_msg = 'Failed to get data from API:' + error;
            	return JSON.stringify({'error': error_msg});
            }
            
            return JSON.stringify({'metrics': YugabyteDB.metrics, 'error': YugabyteDB.error_msg});
          description: 'Getting SQL statistics for the cluster.'
          timeout: 5s
          parameters:
            - name: account_id
              value: '{$YUGABYTEDB.ACCOUNT.ID}'
            - name: cluster_id
              value: '{$YUGABYTEDB.CLUSTER.ID}'
            - name: project_id
              value: '{$YUGABYTEDB.PROJECT.ID}'
            - name: proxy
              value: '{$YUGABYTEDB.PROXY}'
            - name: token
              value: '{$YUGABYTEDB.ACCESS.TOKEN}'
          tags:
            - tag: component
              value: raw
        - uuid: 0d9d39db84de4879b6c0fac044537e55
          name: 'Get cluster query statistic item error'
          type: DEPENDENT
          key: yugabytedb.cluster.query.statistic.get.errors
          value_type: TEXT
          description: 'Item for gathering all the cluster query statistics item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: error
        - uuid: e116d1dfe5c94a64b47c66b0898e2c5a
          name: 'Average read latency'
          type: DEPENDENT
          key: yugabytedb.cluster.read.latency
          value_type: FLOAT
          units: s
          description: 'The average latency of read operations at the tablet level.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.AVERAGE_READ_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: performance
        - uuid: 4fd495d88f824bd2b18a3c885dc45d28
          name: 'Software version'
          type: DEPENDENT
          key: yugabytedb.cluster.software.version
          value_type: CHAR
          description: 'The current version of YugabyteDB installed on the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.data.info.software_version
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: cluster
          triggers:
            - uuid: 27fdbe72229343029ede51c7705c28c4
              expression: 'last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.software.version,#1) <> last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.software.version,#2) and length(last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.software.version)) > 0'
              name: 'Cluster software version has changed'
              event_name: 'Cluster software version has changed (new version: {ITEM.VALUE})'
              opdata: 'Current version: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'YugabyteDB Cluster software version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 70e1cee9adc149afb7f1765384b587e2
          name: State
          type: DEPENDENT
          key: yugabytedb.cluster.state
          description: |
            The current state of the cluster. One of the following:
            - INVALID
            - QUEUED
            - INIT
            - BOOTSTRAPPING
            - VPC_PEERING
            - NETWORK_CREATING
            - PROVISIONING
            - CONFIGURING
            - CREATING_LB
            - UPDATING_LB
            - ACTIVE
            - PAUSING
            - PAUSED
            - RESUMING
            - UPDATING
            - MAINTENANCE
            - RESTORE
            - FAILED
            - CREATE_FAILED
            - DELETING
            - STARTING_NODE
            - STOPPING_NODE
            - REBOOTING_NODE
            - CREATE_READ_REPLICA_FAILED
            - DELETE_READ_REPLICA_FAILED
            - DELETE_CLUSTER_FAILED
            - EDIT_CLUSTER_FAILED
            - EDIT_READ_REPLICA_FAILED
            - PAUSE_CLUSTER_FAILED
            - RESUME_CLUSTER_FAILED
            - RESTORE_BACKUP_FAILED
            - CERTIFICATE_ROTATION_FAILED
            - UPGRADE_CLUSTER_FAILED
            - UPGRADE_CLUSTER_GFLAGS_FAILED
            - UPGRADE_CLUSTER_OS_FAILED
            - UPGRADE_CLUSTER_SOFTWARE_FAILED
            - START_NODE_FAILED
            - STOP_NODE_FAILED
            - REBOOT_NODE_FAILED
            - CONFIGURE_CMK
            - ENABLING_CMK
            - DISABLING_CMK
            - UPDATING_CMK
            - ROTATING_CMK
            - STOPPING_METRICS_EXPORTER
            - STARTING_METRICS_EXPORTER
            - CONFIGURING_METRICS_EXPORTER
            - STOP_METRICS_EXPORTER_FAILED
            - START_METRICS_EXPORTER_FAILED
            - CONFIGURE_METRICS_EXPORTER_FAILED
            - REMOVING_METRICS_EXPORTER
            - REMOVE_METRICS_EXPORTER_FAILED
          valuemap:
            name: 'YugabyteDB Cluster state'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var cluster = JSON.parse(value);
                  
                  const idx = [
                  	'INVALID',
                  	'QUEUED',
                  	'INIT',
                  	'BOOTSTRAPPING',
                  	'VPC_PEERING',
                  	'NETWORK_CREATING',
                  	'PROVISIONING',
                  	'CONFIGURING',
                  	'CREATING_LB',
                  	'UPDATING_LB',
                  	'ACTIVE',
                  	'PAUSING',
                  	'PAUSED',
                  	'RESUMING',
                  	'UPDATING',
                  	'MAINTENANCE',
                  	'RESTORE',
                  	'FAILED',
                  	'CREATE_FAILED',
                  	'DELETING',
                  	'STARTING_NODE',
                  	'STOPPING_NODE',
                  	'REBOOTING_NODE',
                  	'CREATE_READ_REPLICA_FAILED',
                  	'DELETE_READ_REPLICA_FAILED',
                  	'DELETE_CLUSTER_FAILED',
                  	'EDIT_CLUSTER_FAILED',
                  	'EDIT_READ_REPLICA_FAILED',
                  	'PAUSE_CLUSTER_FAILED',
                  	'RESUME_CLUSTER_FAILED',
                  	'RESTORE_BACKUP_FAILED',
                  	'CERTIFICATE_ROTATION_FAILED',
                  	'UPGRADE_CLUSTER_FAILED',
                  	'UPGRADE_CLUSTER_GFLAGS_FAILED',
                  	'UPGRADE_CLUSTER_OS_FAILED',
                  	'UPGRADE_CLUSTER_SOFTWARE_FAILED',
                  	'START_NODE_FAILED',
                  	'STOP_NODE_FAILED',
                  	'REBOOT_NODE_FAILED',
                  	'CONFIGURE_CMK',
                  	'ENABLING_CMK',
                  	'DISABLING_CMK',
                  	'UPDATING_CMK',
                  	'ROTATING_CMK',
                  	'STOPPING_METRICS_EXPORTER',
                  	'STARTING_METRICS_EXPORTER',
                  	'CONFIGURING_METRICS_EXPORTER',
                  	'STOP_METRICS_EXPORTER_FAILED',
                  	'START_METRICS_EXPORTER_FAILED',
                  	'CONFIGURE_METRICS_EXPORTER_FAILED',
                  	'REMOVING_METRICS_EXPORTER',
                  	'REMOVE_METRICS_EXPORTER_FAILED'
                  ].indexOf(cluster.data.info.state);
                  return idx !== -1 ? idx : 60;
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: cluster
        - uuid: a9b902783af24e5f8d56139e803d85aa
          name: Type
          type: DEPENDENT
          key: yugabytedb.cluster.type
          description: 'The kind of cluster deployment: SYNCHRONOUS or GEO_PARTITIONED.'
          valuemap:
            name: 'YugabyteDB Cluster type'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.data.spec.cluster_info.cluster_type
            - type: STR_REPLACE
              parameters:
                - SYNCHRONOUS
                - '0'
            - type: STR_REPLACE
              parameters:
                - GEO_PARTITIONED
                - '1'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: cluster
        - uuid: fde822561b0c4a9196e52006c6ae459f
          name: 'Average write latency'
          type: DEPENDENT
          key: yugabytedb.cluster.write.latency
          value_type: FLOAT
          units: s
          description: 'The average latency of write operations at the tablet level.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.AVERAGE_WRITE_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.metric.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: performance
        - uuid: 6e303d8bbd3540dcba8e6336e395df01
          name: 'YB controller version'
          type: DEPENDENT
          key: yugabytedb.cluster.ybc.version
          value_type: CHAR
          description: 'The current version of the YB controller installed on the cluster.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.data.info.ybc_version
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.cluster.get
          tags:
            - tag: component
              value: cluster
          triggers:
            - uuid: d927b0d668fc413db697a2360ac806a6
              expression: 'last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.ybc.version,#1) <> last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.ybc.version,#2) and length(last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.ybc.version)) > 0'
              name: 'YB controller version has changed'
              event_name: 'YB controller version has changed (new version: {ITEM.VALUE})'
              opdata: 'Current version: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'YugabyteDB Cluster YB controller version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 9034de71bb9a4d5babb77f4433deb9a1
          name: 'YCQL DELETE average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.delete.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing DELETE statements through the YCQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_DELETE_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 31473b597b274acc894bde4415efc1df
          name: 'YCQL DELETE OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.delete.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of DELETE statements executed through the YCQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_DELETE_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 02b74ef8873a464786ff68b80fa2bc72
          name: 'YCQL INSERT average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.insert.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing INSERT statements through the YCQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_INSERT_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: bc9776051ac5494da1450837ce2541f0
          name: 'YCQL INSERT OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.insert.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of INSERT statements executed through the YCQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_INSERT_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 267399592fef42c58b5885d1fc4e821d
          name: 'YCQL OTHER average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.other.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing OTHER statements through the YCQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_OTHER_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 8e6f1197d23e4398a40c08232ecbaf88
          name: 'YCQL OTHER OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.other.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of OTHER statements executed through the YCQL API per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_OTHER_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 438badfcc37c437f94988a211fc1ca1d
          name: 'YCQL SELECT average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.select.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing SELECT statements through the YCQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_SELECT_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: e663d79a6b404c9fb369c213f51a2f62
          name: 'YCQL SELECT OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.select.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of SELECT statements executed through the YCQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_SELECT_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: e0a86eaf9be4426c9ae8948980cf9855
          name: 'YCQL transaction average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.transaction.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing transactions through the YCQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_TRANSACTION_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 4b81ff96ce054cd480073217281eedf7
          name: 'YCQL transaction OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.transaction.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of transactions executed through the YCQL API per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_TRANSACTION_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: c5af4d0a6cb44292882071bcfb39f689
          name: 'YCQL UPDATE average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.update.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing UPDATE statements through the YCQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_UPDATE_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 6120fea6606f4a98ac417559e80aad13
          name: 'YCQL UPDATE OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ycql.update.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of UPDATE statements executed through the YCQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YCQL_UPDATE_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 662f390c33154db199f13a065f68eebf
          name: 'YSQL DELETE average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.delete.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing DELETE statements through the YSQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_DELETE_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 3a6e9b4837c44babb020fe1e579db573
          name: 'YSQL DELETE OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.delete.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of DELETE statements executed through the YSQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_DELETE_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: e0dda63d599041a8b9781da7c4b52433
          name: 'YSQL INSERT average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.insert.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing INSERT statements through the YSQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_INSERT_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 8074080c8e7244eaaf4353a92a80a82a
          name: 'YSQL INSERT OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.insert.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of INSERT statements executed through the YSQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_INSERT_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: e007bb3d98fd4442ab84a2227be63e8b
          name: 'YSQL OTHER average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.other.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing OTHER statements through the YSQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_OTHER_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 502162acb66941d19b567a5172a56600
          name: 'YSQL OTHER OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.other.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of OTHER statements executed through the YSQL API per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_OTHER_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 9d6bea98b3a54bdbbe2b141417148927
          name: 'YSQL SELECT average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.select.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing SELECT statements through the YSQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_SELECT_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 03053740519b4756886897b45ed3f73c
          name: 'YSQL SELECT OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.select.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of SELECT statements executed through the YSQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_SELECT_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 57a5c002be714c8da7afc0d30d9a891d
          name: 'YSQL transaction average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.transaction.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing transactions through the YSQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_TRANSACTION_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: bd63dbe655734d66bbf9409500cc4a3f
          name: 'YSQL transaction OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.transaction.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of transactions executed through the YSQL API per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_TRANSACTION_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 02b4d8b704754dab83188bced7f5d98e
          name: 'YSQL UPDATE average latency'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.update.latency
          value_type: FLOAT
          units: s
          description: 'Average time of executing UPDATE statements through the YSQL API.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_UPDATE_LATENCY_MS
            - type: MULTIPLIER
              parameters:
                - '0.001'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 2557d7cf5f0d429886999d6eba2d9182
          name: 'YSQL UPDATE OPS'
          type: DEPENDENT
          key: yugabytedb.cluster.ysql.update.ops
          value_type: FLOAT
          units: '!OPS'
          description: 'The count of UPDATE statements executed through the YSQL API per second. This does not include index writes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.YSQL_UPDATE_OPS_PER_SEC
          master_item:
            key: yugabytedb.cluster.query.statistic.get
          tags:
            - tag: component
              value: cluster
            - tag: component
              value: statistic
        - uuid: 88c3b743cbe24ea9a0046dc0854a36be
          name: 'Get keyspace'
          type: SCRIPT
          key: yugabytedb.keyspace.get
          delay: 10m
          history: '0'
          value_type: TEXT
          params: |
            var YugabyteDB = {
            	params: {},
            	keyspaces: {},
            	error_msg: '',
            
            	setParams: function (params) {
            		['account_id', 'project_id', 'token'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
            				throw 'Required param is not set: ' + field + '.';
            			}
            		});
            
            		YugabyteDB.params = params;
            	},
            
            
            	request: function (url, data) {
            		if (typeof data === 'undefined' || data === null) {
            			data = '';
            		}
            
            		var response, request = new HttpRequest();
            		if (typeof YugabyteDB.params.proxy !== 'undefined' && YugabyteDB.params.proxy !== '') {
            			request.setProxy(YugabyteDB.params.proxy);
            		}
            		if (YugabyteDB.params.token) {
            			request.addHeader('Accept: application/json');
            			request.addHeader('Authorization: Bearer ' + YugabyteDB.params.token);
            		}
            
            		Zabbix.log(4, '[ YugabyteDB ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ YugabyteDB ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() !== 200 || response === null) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			return JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API:' + error;
            		}
            	},
            
            
            	get_keyspace: function (tables) {
            		var table_info = {};
            		var result = [];
            		for (var table in tables['data']) {
            			var table_name = tables['data'][table]['keyspace'];
            			if (typeof table_info[table_name] !== 'undefined') {
            				table_info[table_name]['size_bytes'] += tables['data'][table]['size_bytes']
            				table_info[table_name]['wal_size_bytes'] += tables['data'][table]['wal_size_bytes']
            			}
            			else {
            				table_info[table_name] = {
            					'keyspace_name': table_name,
            					'size_bytes': tables['data'][table]['size_bytes'],
            					'wal_size_bytes': tables['data'][table]['wal_size_bytes'],
            					'type': tables['data'][table]['type']}
            			}
            		}
            		for (keyspace in table_info) {
            			result.push(table_info[keyspace])
            		}
            		return result;
            	}
            
            };
            
            try {
            	YugabyteDB.setParams(JSON.parse(value));
            
            	var tables = YugabyteDB.request(
            		'https://cloud.yugabyte.com/api/public/v1/accounts/' + YugabyteDB.params.account_id + '/projects/' + YugabyteDB.params.project_id + '/clusters/' + YugabyteDB.params.cluster_id + '/tables'
            	)
            	
            	YugabyteDB.keyspaces = YugabyteDB.get_keyspace(tables);
            }
            catch (error) {
            	Zabbix.log(3, '[ YugabyteDB ] ERROR: ' + error);
            	error_msg = 'Failed to get data from API:' + error;
            }
            
            return JSON.stringify({'keyspaces': YugabyteDB.keyspaces, 'error': YugabyteDB.error_msg});
          description: 'Get raw data about keyspaces.'
          timeout: 10s
          parameters:
            - name: account_id
              value: '{$YUGABYTEDB.ACCOUNT.ID}'
            - name: cluster_id
              value: '{$YUGABYTEDB.CLUSTER.ID}'
            - name: project_id
              value: '{$YUGABYTEDB.PROJECT.ID}'
            - name: proxy
              value: '{$YUGABYTEDB.PROXY}'
            - name: token
              value: '{$YUGABYTEDB.ACCESS.TOKEN}'
          tags:
            - tag: component
              value: raw
        - uuid: 59f34be153c049ecac1c4e08487a18c0
          name: 'Get keyspace item error'
          type: DEPENDENT
          key: yugabytedb.keyspace.get.errors
          value_type: TEXT
          description: 'Item for gathering all the keyspace item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.keyspace.get
          tags:
            - tag: component
              value: error
        - uuid: 734486b27ba64138bae356c7b14c8dbc
          name: 'Get node'
          type: SCRIPT
          key: yugabytedb.node.get
          delay: 10m
          history: '0'
          value_type: TEXT
          params: |
            var YugabyteDB = {
            	params: {},
            	nodes: {},
            	error_msg: '',
            
            	setParams: function (params) {
            		['account_id', 'project_id', 'token'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
            				throw 'Required param is not set: ' + field + '.';
            			}
            		});
            
            		YugabyteDB.params = params;
            	},
            
            
            	request: function (url, data) {
            		if (typeof data === 'undefined' || data === null) {
            			data = '';
            		}
            
            		var response, request = new HttpRequest();
            		if (typeof YugabyteDB.params.proxy !== 'undefined' && YugabyteDB.params.proxy !== '') {
            			request.setProxy(YugabyteDB.params.proxy);
            		}
            		if (YugabyteDB.params.token) {
            			request.addHeader('Accept: application/json');
            			request.addHeader('Authorization: Bearer ' + YugabyteDB.params.token);
            		}
            
            		Zabbix.log(4, '[ YugabyteDB ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ YugabyteDB ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() !== 200 || response === null) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			return JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API:' + error;
            		}
            	}
            
            };
            
            try {
            	YugabyteDB.setParams(JSON.parse(value));
            
            	var node = YugabyteDB.request(
            		'https://cloud.yugabyte.com/api/public/v1/accounts/' + YugabyteDB.params.account_id + '/projects/' + YugabyteDB.params.project_id + '/clusters/' + YugabyteDB.params.cluster_id + '/nodes'
            	)
            	YugabyteDB.nodes = node.data;
            }
            catch (error) {
            	Zabbix.log(3, '[ YugabyteDB ] ERROR: ' + error);
            	error_msg = 'Failed to get data from API:' + error;
            }
            
            return JSON.stringify({'nodes': YugabyteDB.nodes, 'error': YugabyteDB.error_msg});
          description: 'Get raw data about nodes.'
          timeout: 10s
          parameters:
            - name: account_id
              value: '{$YUGABYTEDB.ACCOUNT.ID}'
            - name: cluster_id
              value: '{$YUGABYTEDB.CLUSTER.ID}'
            - name: project_id
              value: '{$YUGABYTEDB.PROJECT.ID}'
            - name: proxy
              value: '{$YUGABYTEDB.PROXY}'
            - name: token
              value: '{$YUGABYTEDB.ACCESS.TOKEN}'
          tags:
            - tag: component
              value: raw
        - uuid: 401d87f7dace497699df56f749bf821e
          name: 'Get node item error'
          type: DEPENDENT
          key: yugabytedb.node.get.errors
          value_type: TEXT
          description: 'Item for gathering all the node item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: yugabytedb.node.get
          tags:
            - tag: component
              value: error
      discovery_rules:
        - uuid: 71d2f03d4657413fa8eabe5d411bed25
          name: 'Keyspace discovery'
          type: DEPENDENT
          key: yugabytedb.keyspace.discovery
          description: 'Discovery of the available keyspaces.'
          item_prototypes:
            - uuid: c1e48062d9ee4bbebd170370216d477a
              name: 'YugabyteDB Keyspace [{#KEYSPACE.NAME}]: Get keyspace info'
              type: DEPENDENT
              key: 'yugabytedb.keyspace.get[{#KEYSPACE.NAME}]'
              history: '0'
              value_type: TEXT
              description: 'Get raw data about the keyspace [{#KEYSPACE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.keyspaces.[?(@.keyspace_name==''{#KEYSPACE.NAME}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: yugabytedb.keyspace.get
              tags:
                - tag: component
                  value: raw
                - tag: keyspace
                  value: '{#KEYSPACE.NAME}'
            - uuid: 18ca22e5976741c595854de8fbf12d1e
              name: 'YugabyteDB Keyspace [{#KEYSPACE.NAME}]: SST size'
              type: DEPENDENT
              key: 'yugabytedb.keyspace.sst.size[{#KEYSPACE.NAME}]'
              units: B
              description: 'The size of the table''s SST.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.size_bytes
              master_item:
                key: 'yugabytedb.keyspace.get[{#KEYSPACE.NAME}]'
              tags:
                - tag: component
                  value: keyspace
                - tag: keyspace
                  value: '{#KEYSPACE.NAME}'
            - uuid: 8dbbdc125336426d9c8fcb7909a7ab89
              name: 'YugabyteDB Keyspace [{#KEYSPACE.NAME}]: Type'
              type: DEPENDENT
              key: 'yugabytedb.keyspace.type[{#KEYSPACE.NAME}]'
              description: 'The type of keyspace: YSQL or YCQL.'
              valuemap:
                name: 'YugabyteDB Keyspace type'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.type
                - type: STR_REPLACE
                  parameters:
                    - YSQL
                    - '0'
                - type: STR_REPLACE
                  parameters:
                    - YCQL
                    - '1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'yugabytedb.keyspace.get[{#KEYSPACE.NAME}]'
              tags:
                - tag: component
                  value: keyspace
                - tag: keyspace
                  value: '{#KEYSPACE.NAME}'
            - uuid: 9c23b2c7fe4b4aad8ab32ead6af179e7
              name: 'YugabyteDB Keyspace [{#KEYSPACE.NAME}]: Wal size'
              type: DEPENDENT
              key: 'yugabytedb.keyspace.wal.size[{#KEYSPACE.NAME}]'
              units: B
              description: 'The size of the table''s WAL.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wal_size_bytes
              master_item:
                key: 'yugabytedb.keyspace.get[{#KEYSPACE.NAME}]'
              tags:
                - tag: component
                  value: keyspace
                - tag: keyspace
                  value: '{#KEYSPACE.NAME}'
          graph_prototypes:
            - uuid: 193792ab844947e88ca58c20292d6666
              name: 'YugabyteDB Keyspace [{#KEYSPACE.NAME}]: Keyspace size'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.keyspace.wal.size[{#KEYSPACE.NAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.keyspace.sst.size[{#KEYSPACE.NAME}]'
          master_item:
            key: yugabytedb.keyspace.get
          lld_macro_paths:
            - lld_macro: '{#KEYSPACE.NAME}'
              path: $.keyspace_name
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var result = [];
                  var keyspaces = JSON.parse(value);
                  
                  for (var keyspace in keyspaces.keyspaces) {
                  	result.push({
                  		"keyspace_name": keyspaces.keyspaces[keyspace]['keyspace_name']
                  	});
                  };
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
        - uuid: dc4c32c8868e4dd0b02c2fec843b5dac
          name: 'Node discovery'
          type: DEPENDENT
          key: yugabytedb.node.discovery
          description: 'Discovery of the nodes for all clusters.'
          item_prototypes:
            - uuid: a7b100dd55e6406cb481762f2fb7c421
              name: 'YugabyteDB Node [{#NODE.NAME}]: Total CPU cores'
              type: DEPENDENT
              key: 'yugabytedb.node.cpu.num.cores[{#NODE.NAME}]'
              units: Cores
              description: 'The number of cores for the node [{#NODE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.data.spec.cluster_info.node_info.num_cores
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 12h
              master_item:
                key: yugabytedb.cluster.get
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 0a540fa45f33410fb93fd750717ae431
              name: 'YugabyteDB Node [{#NODE.NAME}]: Total disk size'
              type: DEPENDENT
              key: 'yugabytedb.node.disk.size.total[{#NODE.NAME}]'
              units: '!GB'
              description: 'The disk size (GB) for the node [{#NODE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.data.spec.cluster_info.node_info.disk_size_gb
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 12h
              master_item:
                key: yugabytedb.cluster.get
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: f2c813fba0394826abcb35a50b773a41
              name: 'YugabyteDB Node [{#NODE.NAME}]: Get node info'
              type: DEPENDENT
              key: 'yugabytedb.node.get[{#NODE.NAME}]'
              history: '0'
              value_type: TEXT
              description: 'Get raw data about the node [{#NODE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.nodes.[?(@.name==''{#NODE.NAME}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: yugabytedb.node.get
              tags:
                - tag: component
                  value: raw
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 9fa8a6a8476e485c8eebeeaa5763c3c5
              name: 'YugabyteDB Node [{#NODE.NAME}]: Disk IOPS limit'
              type: DEPENDENT
              key: 'yugabytedb.node.iops.limit[{#NODE.NAME}]'
              units: '!IOPS'
              description: 'The IOPS to provision for the node [{#NODE.NAME}] for each disk.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.data.spec.cluster_info.node_info.disk_iops
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 12h
              master_item:
                key: yugabytedb.cluster.get
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 27e087e59b0f425584f57fda13398ea0
              name: 'YugabyteDB Node [{#NODE.NAME}]: Disk IOPS utilization'
              type: CALCULATED
              key: 'yugabytedb.node.iops.utilization[{#NODE.NAME}]'
              value_type: FLOAT
              units: '%'
              params: '((last(//yugabytedb.node.read.ops[{#NODE.NAME}]) + last(//yugabytedb.node.write.ops[{#NODE.NAME}]))/last(//yugabytedb.node.iops.limit[{#NODE.NAME}]))*100'
              description: 'Shows the utilization of provisioned IOPS.'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: c19790737c854c8e8848781b5ccf5b1f
                  expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.node.iops.utilization[{#NODE.NAME}],5m) > {$YUGABYTEDB.IOPS.UTILIZATION.WARN}'
                  name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS utilization is high'
                  event_name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS utilization is high (over {$YUGABYTEDB.IOPS.UTILIZATION.WARN} for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'IOPS utilization on the node [{#NODE.NAME}] is more than {$YUGABYTEDB.IOPS.UTILIZATION.WARN}% of the provisioned IOPS.'
                  dependencies:
                    - name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS utilization is too high'
                      expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.node.iops.utilization[{#NODE.NAME}],5m) > {$YUGABYTEDB.IOPS.UTILIZATION.CRIT}'
                  tags:
                    - tag: scope
                      value: performance
                - uuid: 27f43e701e4e47c4aad2fa6c9a118fb1
                  expression: 'min(/YugabyteDB Cluster by HTTP/yugabytedb.node.iops.utilization[{#NODE.NAME}],5m) > {$YUGABYTEDB.IOPS.UTILIZATION.CRIT}'
                  name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS utilization is too high'
                  event_name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS utilization is too high (over {$YUGABYTEDB.IOPS.UTILIZATION.CRIT} for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'IOPS utilization on the node [{#NODE.NAME}] is more than {$YUGABYTEDB.IOPS.UTILIZATION.CRIT}% of the provisioned IOPS.'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: cec0b919572a4dc8bec57f7da073b18f
              name: 'YugabyteDB Node [{#NODE.NAME}]: Node is master'
              type: DEPENDENT
              key: 'yugabytedb.node.master[{#NODE.NAME}]'
              description: |
                The current role of the node [{#NODE.NAME}]:
                0 = False
                1 = True
              valuemap:
                name: 'YugabyteDB Bool status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.is_master
                - type: STR_REPLACE
                  parameters:
                    - 'true'
                    - '1'
                - type: STR_REPLACE
                  parameters:
                    - 'false'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: a75c7247ac654dc6b62ea88c9f609804
              name: 'YugabyteDB Node [{#NODE.NAME}]: Total memory, bytes'
              type: DEPENDENT
              key: 'yugabytedb.node.memory.total[{#NODE.NAME}]'
              units: B
              description: 'The amount of RAM for the node [{#NODE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.data.spec.cluster_info.node_info.memory_mb
                - type: MULTIPLIER
                  parameters:
                    - '1048576'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 12h
              master_item:
                key: yugabytedb.cluster.get
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 03a684fb8e824ae2a21af206f03c06e3
              name: 'YugabyteDB Node [{#NODE.NAME}]: Read OPS'
              type: DEPENDENT
              key: 'yugabytedb.node.read.ops[{#NODE.NAME}]'
              value_type: FLOAT
              units: '!OPS'
              description: 'The amount of read operations per second for the node [{#NODE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.read_ops_per_sec
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: fc64e30fea8349b2b4d4de3c23ea8fd7
              name: 'YugabyteDB Node [{#NODE.NAME}]: Node is read replica'
              type: DEPENDENT
              key: 'yugabytedb.node.read.replica[{#NODE.NAME}]'
              description: |
                This item indicates if the node [{#NODE.NAME}] is a read replica:
                0 = False
                1 = True
              valuemap:
                name: 'YugabyteDB Bool status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.is_read_replica
                - type: STR_REPLACE
                  parameters:
                    - 'true'
                    - '1'
                - type: STR_REPLACE
                  parameters:
                    - 'false'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: d77f37a386514286ac3fd4a37ad0e21e
              name: 'YugabyteDB Node [{#NODE.NAME}]: Region'
              type: DEPENDENT
              key: 'yugabytedb.node.region[{#NODE.NAME}]'
              value_type: CHAR
              description: 'The cloud information for the node [{#NODE.NAME}] about the region.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.cloud_info.region
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 71b0a67ae775473eaaed77349b781ace
              name: 'YugabyteDB Node [{#NODE.NAME}]: Total SST file size'
              type: DEPENDENT
              key: 'yugabytedb.node.sst.file.size.total[{#NODE.NAME}]'
              units: B
              description: 'The size of all SST files.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.total_sst_file_size_bytes
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: ec3598775f434cc88c0880fd2f944a14
              name: 'YugabyteDB Node [{#NODE.NAME}]: Uncompressed SST file size'
              type: DEPENDENT
              key: 'yugabytedb.node.sst.file.size.uncompressed[{#NODE.NAME}]'
              units: B
              description: 'The size of uncompressed SST files.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.uncompressed_sst_file_size_bytes
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: bfc6070e65d041ca83ab1290aa0654aa
              name: 'YugabyteDB Node [{#NODE.NAME}]: Node status'
              type: DEPENDENT
              key: 'yugabytedb.node.status[{#NODE.NAME}]'
              description: |
                The current status of the node [{#NODE.NAME}]:
                0 = Down
                1 = Up
              valuemap:
                name: 'YugabyteDB Node status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.is_node_up
                - type: STR_REPLACE
                  parameters:
                    - 'true'
                    - '1'
                - type: STR_REPLACE
                  parameters:
                    - 'false'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: 3bdaff0934564a809dc565357c50486d
                  expression: 'max(/YugabyteDB Cluster by HTTP/yugabytedb.node.status[{#NODE.NAME}],3m) = 0'
                  name: 'YugabyteDB Node [{#NODE.NAME}]: Node is down'
                  priority: AVERAGE
                  description: 'The node [{#NODE.NAME}] is down.'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 488ef7da37704fc690109350dfb04f06
              name: 'YugabyteDB Node [{#NODE.NAME}]: Node is TServer'
              type: DEPENDENT
              key: 'yugabytedb.node.tserver[{#NODE.NAME}]'
              description: |
                This item indicates if the node [{#NODE.NAME}] is a TServer node:
                0 = False
                1 = True
              valuemap:
                name: 'YugabyteDB Bool status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.is_tserver
                - type: STR_REPLACE
                  parameters:
                    - 'true'
                    - '1'
                - type: STR_REPLACE
                  parameters:
                    - 'false'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: f11fcb4fd9184a74bfd1081c10124735
              name: 'YugabyteDB Node [{#NODE.NAME}]: Write OPS'
              type: DEPENDENT
              key: 'yugabytedb.node.write.ops[{#NODE.NAME}]'
              value_type: FLOAT
              units: '!OPS'
              description: 'The amount of write operations per second for the node [{#NODE.NAME}].'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.write_ops_per_sec
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 899786037cb24cd3a0378592e3096131
              name: 'YugabyteDB Node [{#NODE.NAME}]: Zone'
              type: DEPENDENT
              key: 'yugabytedb.node.zone[{#NODE.NAME}]'
              value_type: CHAR
              description: 'The cloud information for the node [{#NODE.NAME}] about the zone.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.cloud_info.zone
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'yugabytedb.node.get[{#NODE.NAME}]'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
          graph_prototypes:
            - uuid: d8c91639bca24d709bcdd8d788ba940c
              name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS number'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  yaxisside: RIGHT
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.node.iops.utilization[{#NODE.NAME}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.node.read.ops[{#NODE.NAME}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.node.write.ops[{#NODE.NAME}]'
            - uuid: e8020fae71e54c98bc3c5ed9b585fead
              name: 'YugabyteDB Node [{#NODE.NAME}]: SST size'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.node.sst.file.size.uncompressed[{#NODE.NAME}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'YugabyteDB Cluster by HTTP'
                    key: 'yugabytedb.node.sst.file.size.total[{#NODE.NAME}]'
          master_item:
            key: yugabytedb.node.get
          lld_macro_paths:
            - lld_macro: '{#NODE.NAME}'
              path: $.node_name
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var result = [];
                  var nodes = JSON.parse(value);
                  
                  for (var node in nodes.nodes) {
                  	result.push({
                  		"node_name": nodes.nodes[node]['name']
                  	});
                  };
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
      tags:
        - tag: class
          value: database
        - tag: target
          value: yugabytedb
      macros:
        - macro: '{$YUGABYTEDB.CLUSTER.ID}'
          value: '<Put your cluster ID here>'
          description: 'ID of cluster.'
        - macro: '{$YUGABYTEDB.CLUSTER.NAME}'
          value: '<Put your cluster name here>'
          description: 'Name of cluster.'
        - macro: '{$YUGABYTEDB.CONNECTION.UTILIZATION.CRIT}'
          value: '90'
          description: 'The percentage of connections in the cluster - for the High trigger expression.'
        - macro: '{$YUGABYTEDB.CONNECTION.UTILIZATION.WARN}'
          value: '75'
          description: 'The percentage of connections in the cluster - for the Warning trigger expression.'
        - macro: '{$YUGABYTEDB.CPU.UTILIZATION.CRIT}'
          value: '90'
          description: 'The threshold of CPU utilization for the High trigger expression, expressed in percent.'
        - macro: '{$YUGABYTEDB.CPU.UTILIZATION.WARN}'
          value: '75'
          description: 'The threshold of CPU utilization for the Warning trigger expression, expressed in percent.'
        - macro: '{$YUGABYTEDB.DISK.UTILIZATION.CRIT}'
          value: '90'
          description: 'The percentage of disk use in the cluster - for the High trigger expression.'
        - macro: '{$YUGABYTEDB.DISK.UTILIZATION.WARN}'
          value: '75'
          description: 'The percentage of disk use in the cluster - for the Warning trigger expression.'
        - macro: '{$YUGABYTEDB.IOPS.UTILIZATION.CRIT}'
          value: '90'
          description: 'The percentage of IOPS use on the node - for the High trigger expression.'
        - macro: '{$YUGABYTEDB.IOPS.UTILIZATION.WARN}'
          value: '75'
          description: 'The percentage of IOPS use on the node - for the Warning trigger expression.'
        - macro: '{$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.CRIT}'
          value: '90'
          description: 'The percentage of memory use on the cluster - for the High trigger expression.'
        - macro: '{$YUGABYTEDB.MEMORY.CLUSTER.UTILIZATION.WARN}'
          value: '70'
          description: 'The percentage of memory use on the cluster - for the Warning trigger expression.'
        - macro: '{$YUGABYTEDB.PROXY}'
          description: 'Sets the HTTP proxy value. If this macro is empty, then no proxy is used.'
      dashboards:
        - uuid: c1ea734dbfc245afa17afe478982c09d
          name: 'YugabyteDB Cluster: Overview'
          pages:
            - name: 'YugabyteDB Cluster: Overview'
              widgets:
                - type: gauge
                  width: '18'
                  height: '4'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'CPU utilization'
                    - type: INTEGER
                      name: desc_size
                      value: '10'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.cpu.utilization
                    - type: INTEGER
                      name: scale_size
                      value: '10'
                    - type: STRING
                      name: thresholds.0.color
                      value: 66BB6A
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: FFD54F
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '80'
                    - type: STRING
                      name: thresholds.2.color
                      value: FF0000
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '90'
                    - type: INTEGER
                      name: th_show_arc
                      value: '1'
                    - type: INTEGER
                      name: th_show_labels
                      value: '1'
                    - type: STRING
                      name: units
                      value: '%'
                - type: svggraph
                  name: 'YugabyteDB Cluster: Average latency'
                  'y': '4'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.read.latency
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.write.latency
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAD
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: gauge
                  x: '18'
                  width: '18'
                  height: '4'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'Memory utilization'
                    - type: INTEGER
                      name: desc_size
                      value: '10'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.memory.utilization
                    - type: INTEGER
                      name: scale_size
                      value: '10'
                    - type: STRING
                      name: thresholds.0.color
                      value: 66BB6A
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: FFD54F
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '70'
                    - type: STRING
                      name: thresholds.2.color
                      value: FF0000
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '90'
                    - type: INTEGER
                      name: th_show_arc
                      value: '1'
                    - type: INTEGER
                      name: th_show_labels
                      value: '1'
                    - type: STRING
                      name: units
                      value: '%'
                - type: gauge
                  x: '36'
                  width: '18'
                  height: '4'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'Disk space utilization'
                    - type: INTEGER
                      name: desc_size
                      value: '10'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.utilization
                    - type: INTEGER
                      name: scale_size
                      value: '10'
                    - type: STRING
                      name: thresholds.0.color
                      value: 66BB6A
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: FFD54F
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '70'
                    - type: STRING
                      name: thresholds.2.color
                      value: FF0000
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '90'
                    - type: INTEGER
                      name: th_show_arc
                      value: '1'
                    - type: INTEGER
                      name: th_show_labels
                      value: '1'
                    - type: STRING
                      name: units
                      value: '%'
                - type: item
                  x: '36'
                  'y': '4'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_places
                      value: '0'
                    - type: STRING
                      name: description
                      value: 'Number of nodes'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.node.number
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                - type: item
                  x: '36'
                  'y': '6'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '45'
                    - type: STRING
                      name: description
                      value: 'YSQL connection average used'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.connection.count
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                - type: item
                  x: '36'
                  'y': '8'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '45'
                    - type: STRING
                      name: description
                      value: 'YSQL transaction OPS'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.transaction.ops
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                    - type: STRING
                      name: units
                      value: OPS
                    - type: INTEGER
                      name: units_size
                      value: '20'
                - type: item
                  x: '54'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'Health state'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.health.state
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: STRING
                      name: thresholds.0.color
                      value: 81C784
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: FFF59D
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '1'
                    - type: STRING
                      name: thresholds.2.color
                      value: A5A5A5
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '3'
                    - type: STRING
                      name: thresholds.3.color
                      value: FF465C
                    - type: STRING
                      name: thresholds.3.threshold
                      value: '2'
                - type: item
                  x: '54'
                  'y': '2'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'Cluster state'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.state
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                - type: item
                  x: '54'
                  'y': '4'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'Software version'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.software.version
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                - type: item
                  x: '54'
                  'y': '6'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: STRING
                      name: description
                      value: 'YB controller version'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ybc.version
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                - type: item
                  x: '54'
                  'y': '8'
                  width: '18'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '45'
                    - type: STRING
                      name: description
                      value: 'YCQL transaction OPS'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.transaction.ops
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                    - type: STRING
                      name: units
                      value: OPS
                    - type: INTEGER
                      name: units_size
                      value: '20'
            - name: 'YugabyteDB Cluster: Cluster'
              widgets:
                - type: svggraph
                  name: 'YugabyteDB Cluster: Memory utilization'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.memory.utilization
                    - type: STRING
                      name: lefty_max
                      value: '100'
                    - type: STRING
                      name: lefty_min
                      value: '0'
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAE
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: item
                  'y': '6'
                  width: '36'
                  height: '3'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '45'
                    - type: STRING
                      name: description
                      value: 'Memory total'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.memory.total
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: STRING
                      name: units
                      value: B
                - type: svggraph
                  name: 'YugabyteDB Cluster: CPU utilization'
                  x: '36'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.cpu.utilization
                    - type: STRING
                      name: lefty_max
                      value: '100'
                    - type: STRING
                      name: lefty_min
                      value: '0'
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAF
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: item
                  x: '36'
                  'y': '6'
                  width: '36'
                  height: '3'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '45'
                    - type: STRING
                      name: description
                      value: 'Memory usage'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.memory.usage
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                    - type: STRING
                      name: units
                      value: B
            - name: 'YugabyteDB Cluster: Disk'
              widgets:
                - type: svggraph
                  name: 'YugabyteDB Cluster: Disk r\w usage, Bps'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.read.bps
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.write.bps
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAG
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: svggraph
                  name: 'YugabyteDB Cluster: Disk space usage, bytes'
                  'y': '5'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.usage
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAH
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: svggraph
                  name: 'YugabyteDB Cluster: Disk r\w OPS'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.read.ops
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.write.ops
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAI
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: item
                  name: 'Disk space utilization'
                  x: '36'
                  'y': '5'
                  width: '12'
                  height: '3'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '40'
                    - type: STRING
                      name: description
                      value: 'Disk space utilization'
                    - type: INTEGER
                      name: desc_size
                      value: '10'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.utilization
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                    - type: INTEGER
                      name: value_size
                      value: '40'
                - type: item
                  name: 'Disk space provisioned'
                  x: '36'
                  'y': '8'
                  width: '12'
                  height: '3'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_size
                      value: '40'
                    - type: STRING
                      name: description
                      value: 'Disk space provisioned'
                    - type: INTEGER
                      name: desc_size
                      value: '10'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.provisioned
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: STRING
                      name: units
                      value: B
                    - type: INTEGER
                      name: units_size
                      value: '25'
                    - type: INTEGER
                      name: value_size
                      value: '40'
                - type: piechart
                  name: 'YugabyteDB Cluster: Disk space'
                  x: '48'
                  'y': '5'
                  width: '24'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: 388E3C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.usage
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.disk.provisioned
                    - type: INTEGER
                      name: ds.0.type.0
                      value: '0'
                    - type: INTEGER
                      name: ds.0.type.1
                      value: '1'
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: space
                      value: '3'
            - name: 'YugabyteDB Cluster: Network'
              widgets:
                - type: svggraph
                  name: 'YugabyteDB Cluster: Received/Transmit, Bps'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.network.receive.bps
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.network.transmit.bps
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAK
                - type: svggraph
                  name: 'YugabyteDB Cluster: Connections utilization'
                  'y': '6'
                  width: '48'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.connection.utilization
                    - type: STRING
                      name: lefty_max
                      value: '100'
                    - type: STRING
                      name: lefty_min
                      value: '0'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAL
                    - type: INTEGER
                      name: simple_triggers
                      value: '1'
                - type: svggraph
                  name: 'YugabyteDB Cluster: Received/Transmit, error/sec'
                  x: '36'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.network.receive.error.rate
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.network.transmit.error.rate
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAM
                - type: item
                  x: '48'
                  'y': '6'
                  width: '24'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_places
                      value: '0'
                    - type: STRING
                      name: description
                      value: 'YSQL connection limit'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.connection.limit
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                - type: item
                  x: '48'
                  'y': '8'
                  width: '24'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_places
                      value: '0'
                    - type: STRING
                      name: description
                      value: 'YSQL connection maximum used'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.connection.max
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                - type: item
                  x: '48'
                  'y': '10'
                  width: '24'
                  hide_header: 'YES'
                  fields:
                    - type: INTEGER
                      name: decimal_places
                      value: '0'
                    - type: STRING
                      name: description
                      value: 'YSQL connection average used'
                    - type: INTEGER
                      name: desc_v_pos
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.connection.count
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '4'
            - name: 'YugabyteDB Cluster: Query statistic'
              widgets:
                - type: svggraph
                  name: 'YugabyteDB Cluster: YCQL OPS'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: STRING
                      name: ds.0.color.2
                      value: 0EC9AC
                    - type: STRING
                      name: ds.0.color.3
                      value: 524BBC
                    - type: STRING
                      name: ds.0.color.4
                      value: ED1248
                    - type: STRING
                      name: ds.0.color.5
                      value: D1E754
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.select.ops
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.update.ops
                    - type: ITEM
                      name: ds.0.itemids.2
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.delete.ops
                    - type: ITEM
                      name: ds.0.itemids.3
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.insert.ops
                    - type: ITEM
                      name: ds.0.itemids.4
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.other.ops
                    - type: ITEM
                      name: ds.0.itemids.5
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.transaction.ops
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '6'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAN
                - type: svggraph
                  name: 'YugabyteDB Cluster: YSQL OPS'
                  'y': '6'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: STRING
                      name: ds.0.color.2
                      value: 0EC9AC
                    - type: STRING
                      name: ds.0.color.3
                      value: 524BBC
                    - type: STRING
                      name: ds.0.color.4
                      value: ED1248
                    - type: STRING
                      name: ds.0.color.5
                      value: D1E754
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.select.ops
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.update.ops
                    - type: ITEM
                      name: ds.0.itemids.2
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.delete.ops
                    - type: ITEM
                      name: ds.0.itemids.3
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.insert.ops
                    - type: ITEM
                      name: ds.0.itemids.4
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.other.ops
                    - type: ITEM
                      name: ds.0.itemids.5
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.transaction.ops
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '6'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAO
                - type: svggraph
                  name: 'YugabyteDB Cluster: YCQL latency'
                  x: '36'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: STRING
                      name: ds.0.color.2
                      value: 0EC9AC
                    - type: STRING
                      name: ds.0.color.3
                      value: 524BBC
                    - type: STRING
                      name: ds.0.color.4
                      value: ED1248
                    - type: STRING
                      name: ds.0.color.5
                      value: D1E754
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.select.latency
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.update.latency
                    - type: ITEM
                      name: ds.0.itemids.2
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.delete.latency
                    - type: ITEM
                      name: ds.0.itemids.3
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.insert.latency
                    - type: ITEM
                      name: ds.0.itemids.4
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.other.latency
                    - type: ITEM
                      name: ds.0.itemids.5
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ycql.transaction.latency
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '6'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAP
                - type: svggraph
                  name: 'YugabyteDB Cluster: YSQL latency'
                  x: '36'
                  'y': '6'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: FF465C
                    - type: STRING
                      name: ds.0.color.1
                      value: B0AF07
                    - type: STRING
                      name: ds.0.color.2
                      value: 0EC9AC
                    - type: STRING
                      name: ds.0.color.3
                      value: 524BBC
                    - type: STRING
                      name: ds.0.color.4
                      value: ED1248
                    - type: STRING
                      name: ds.0.color.5
                      value: D1E754
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.select.latency
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.update.latency
                    - type: ITEM
                      name: ds.0.itemids.2
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.delete.latency
                    - type: ITEM
                      name: ds.0.itemids.3
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.insert.latency
                    - type: ITEM
                      name: ds.0.itemids.4
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.other.latency
                    - type: ITEM
                      name: ds.0.itemids.5
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        key: yugabytedb.cluster.ysql.transaction.latency
                    - type: INTEGER
                      name: legend_columns
                      value: '1'
                    - type: INTEGER
                      name: legend_lines
                      value: '6'
                    - type: INTEGER
                      name: legend_statistic
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AAAAQ
            - name: 'YugabyteDB Cluster: Node'
              widgets:
                - type: graphprototype
                  name: 'YugabyteDB Cluster: Node Disk IOPS'
                  width: '36'
                  height: '10'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        name: 'YugabyteDB Node [{#NODE.NAME}]: Node disk IOPS number'
                    - type: STRING
                      name: reference
                      value: AAAAR
                    - type: INTEGER
                      name: rows
                      value: '2'
                - type: graphprototype
                  name: 'YugabyteDB Cluster: Node SST size'
                  x: '36'
                  width: '36'
                  height: '10'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        name: 'YugabyteDB Node [{#NODE.NAME}]: SST size'
                    - type: STRING
                      name: reference
                      value: AAAAS
                    - type: INTEGER
                      name: rows
                      value: '2'
            - name: 'YugabyteDB Cluster: Keyspace'
              widgets:
                - type: graphprototype
                  name: 'YugabyteDB Cluster: Keyspace size'
                  width: '72'
                  height: '10'
                  fields:
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'YugabyteDB Cluster by HTTP'
                        name: 'YugabyteDB Keyspace [{#KEYSPACE.NAME}]: Keyspace size'
                    - type: STRING
                      name: reference
                      value: AAAAT
                    - type: INTEGER
                      name: rows
                      value: '2'
      valuemaps:
        - uuid: 8bac0bddc0f144aa901cd15d9cfd0825
          name: 'YugabyteDB Bool status'
          mappings:
            - value: '0'
              newvalue: 'False'
            - value: '1'
              newvalue: 'True'
        - uuid: 7d6fa95c4346489fae2cdefa436bc9b6
          name: 'YugabyteDB Cluster state'
          mappings:
            - value: '0'
              newvalue: INVALID
            - value: '1'
              newvalue: QUEUED
            - value: '2'
              newvalue: INIT
            - value: '3'
              newvalue: BOOTSTRAPPING
            - value: '4'
              newvalue: 'VPC PEERING'
            - value: '5'
              newvalue: 'NETWORK CREATING'
            - value: '6'
              newvalue: PROVISIONING
            - value: '7'
              newvalue: CONFIGURING
            - value: '8'
              newvalue: 'CREATING LB'
            - value: '9'
              newvalue: 'UPDATING LB'
            - value: '10'
              newvalue: ACTIVE
            - value: '11'
              newvalue: PAUSING
            - value: '12'
              newvalue: PAUSED
            - value: '13'
              newvalue: RESUMING
            - value: '14'
              newvalue: UPDATING
            - value: '15'
              newvalue: MAINTENANCE
            - value: '16'
              newvalue: RESTORE
            - value: '17'
              newvalue: FAILED
            - value: '18'
              newvalue: 'CREATE FAILED'
            - value: '19'
              newvalue: DELETING
            - value: '20'
              newvalue: 'STARTING NODE'
            - value: '21'
              newvalue: 'STOPPING NODE'
            - value: '22'
              newvalue: 'REBOOTING NODE'
            - value: '23'
              newvalue: 'CREATE READ REPLICA FAILED'
            - value: '24'
              newvalue: 'DELETE READ REPLICA FAILED'
            - value: '25'
              newvalue: 'DELETE CLUSTER FAILED'
            - value: '26'
              newvalue: 'EDIT CLUSTER FAILED'
            - value: '27'
              newvalue: 'EDIT READ REPLICA FAILED'
            - value: '28'
              newvalue: 'PAUSE CLUSTER FAILED'
            - value: '29'
              newvalue: 'RESUME CLUSTER FAILED'
            - value: '30'
              newvalue: 'RESTORE BACKUP FAILED'
            - value: '31'
              newvalue: 'CERTIFICATE ROTATION FAILED'
            - value: '32'
              newvalue: 'UPGRADE CLUSTER FAILED'
            - value: '33'
              newvalue: 'UPGRADE CLUSTER GFLAGS FAILED'
            - value: '34'
              newvalue: 'UPGRADE CLUSTER OS FAILED'
            - value: '35'
              newvalue: 'UPGRADE CLUSTER SOFTWARE FAILED'
            - value: '36'
              newvalue: 'START NODE FAILED'
            - value: '37'
              newvalue: 'STOP NODE FAILED'
            - value: '38'
              newvalue: 'REBOOT NODE FAILED'
            - value: '39'
              newvalue: 'CONFIGURE CMK'
            - value: '40'
              newvalue: 'ENABLING CMK'
            - value: '41'
              newvalue: 'DISABLING CMK'
            - value: '42'
              newvalue: 'UPDATING CMK'
            - value: '43'
              newvalue: 'ROTATING CMK'
            - value: '44'
              newvalue: 'STOPPING METRICS EXPORTER'
            - value: '45'
              newvalue: 'STARTING METRICS EXPORTER'
            - value: '46'
              newvalue: 'CONFIGURING METRICS EXPORTER'
            - value: '47'
              newvalue: 'STOP METRICS EXPORTER FAILED'
            - value: '48'
              newvalue: 'START METRICS EXPORTER FAILED'
            - value: '49'
              newvalue: 'CONFIGURE METRICS EXPORTER FAILED'
            - value: '50'
              newvalue: 'REMOVING METRICS EXPORTER'
            - value: '51'
              newvalue: 'REMOVE METRICS EXPORTER FAILED'
            - value: '60'
              newvalue: UNKNOWN
        - uuid: 10b748dae0334399a004e0e412682ccb
          name: 'YugabyteDB Cluster type'
          mappings:
            - value: '0'
              newvalue: SYNCHRONOUS
            - value: '1'
              newvalue: GEO_PARTITIONED
        - uuid: 73aa9e520a2d491c883f7e65b6187fd2
          name: 'YugabyteDB Health state'
          mappings:
            - value: '0'
              newvalue: HEALTHY
            - value: '1'
              newvalue: 'NEEDS ATTENTION'
            - value: '2'
              newvalue: UNHEALTHY
            - value: '3'
              newvalue: UNKNOWN
        - uuid: 8d5264a7981d4e39bab56d4241dda9f3
          name: 'YugabyteDB Keyspace type'
          mappings:
            - value: '0'
              newvalue: YSQL
            - value: '1'
              newvalue: YCQL
        - uuid: 63244be33897496d8f9599aca76e34e1
          name: 'YugabyteDB Node status'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
  triggers:
    - uuid: 12afa59565304d648e7a0165ea367a2a
      expression: 'length(last(/YugabyteDB Cluster by HTTP/yugabytedb.node.get.errors)) > 0 or length(last(/YugabyteDB Cluster by HTTP/yugabytedb.keyspace.get.errors)) > 0 or length(last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.get.errors)) > 0'
      name: 'Failed to fetch data'
      priority: WARNING
      description: 'Failed to fetch data from the YugabyteDB API.'
      tags:
        - tag: scope
          value: availability
    - uuid: 93ea4576b31f44ca8ceef6db0ff12e2d
      expression: 'length(last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.query.statistic.get.errors)) > 0 or length(last(/YugabyteDB Cluster by HTTP/yugabytedb.cluster.metric.get.errors)) > 0'
      name: 'Failed to fetch metric data'
      priority: WARNING
      description: 'Failed to fetch cluster metrics or cluster statistics.'
      tags:
        - tag: scope
          value: availability
  graphs:
    - uuid: 2b52c11e2a8e4281b76aed17facd5666
      name: 'YugabyteDB Cluster: Average latency'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.write.latency
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.read.latency
    - uuid: 719c31e55e1d41cfa7e3735ea6250593
      name: 'YugabyteDB Cluster: Connections'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.connection.count
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.connection.max
        - sortorder: '2'
          drawtype: BOLD_LINE
          color: 00611C
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.connection.limit
    - uuid: f7fb23fb03b149cd908bf040dda9ff6c
      name: 'YugabyteDB Cluster: Connections utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.connection.utilization
    - uuid: 67ada72929dd445c96687b1782ff773e
      name: 'YugabyteDB Cluster: CPU usage'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.cpu.utilization
    - uuid: effb3cb75dc14d62b9a704c7358bd1f3
      name: 'YugabyteDB Cluster: Disc space usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.provisioned
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.usage
    - uuid: 3c13b0a318dd4a609cc67a10124274dc
      name: 'YugabyteDB Cluster: Disc space utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.utilization
    - uuid: f0983e69bb504ff6afe07d09bf5cb5a2
      name: 'YugabyteDB Cluster: Disk operations number'
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.write.ops
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.read.ops
    - uuid: 2ed45b6d26874d30abc14ba798b73cb1
      name: 'YugabyteDB Cluster: Disk usage rate'
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.write.bps
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.disk.read.bps
    - uuid: fb9ea2cc4af642f19ce384764838fce7
      name: 'YugabyteDB Cluster: Memory usage'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.memory.usage
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.memory.total
    - uuid: 5fb91db735074557abd584a5cac434d3
      name: 'YugabyteDB Cluster: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.memory.utilization
    - uuid: c845efa993de438899899f722f02cb11
      name: 'YugabyteDB Cluster: Network error'
      graph_items:
        - color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.network.transmit.error.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.network.receive.error.rate
    - uuid: 50d707e6f8584688a52049df58ad39d4
      name: 'YugabyteDB Cluster: Network rate'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.network.transmit.bps
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.network.receive.bps
    - uuid: d69b497ed5204b07994128984c776102
      name: 'YugabyteDB Cluster: YCQL latency'
      graph_items:
        - color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.select.latency
        - sortorder: '1'
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.update.latency
        - sortorder: '2'
          color: 00611C
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.delete.latency
        - sortorder: '3'
          color: F7941D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.insert.latency
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.other.latency
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.transaction.latency
    - uuid: 2c8bdf3c24ec47d481fdcac99be6a450
      name: 'YugabyteDB Cluster: YCQL operations'
      graph_items:
        - color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.select.ops
        - sortorder: '1'
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.update.ops
        - sortorder: '2'
          color: 00611C
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.delete.ops
        - sortorder: '3'
          color: F7941D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.insert.ops
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.other.ops
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ycql.transaction.ops
    - uuid: 17ac5a90c1b14300898fd23429e3dd11
      name: 'YugabyteDB Cluster: YSQL latency'
      graph_items:
        - color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.select.latency
        - sortorder: '1'
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.update.latency
        - sortorder: '2'
          color: 00611C
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.delete.latency
        - sortorder: '3'
          color: F7941D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.insert.latency
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.other.latency
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.transaction.latency
    - uuid: aadd49cf14f84aacaf34b3d7963be2b3
      name: 'YugabyteDB Cluster: YSQL operations'
      graph_items:
        - color: 199C0D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.select.ops
        - sortorder: '1'
          color: F63100
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.update.ops
        - sortorder: '2'
          color: 00611C
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.delete.ops
        - sortorder: '3'
          color: F7941D
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.insert.ops
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.other.ops
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'YugabyteDB Cluster by HTTP'
            key: yugabytedb.cluster.ysql.transaction.ops
