zabbix_export:
  version: '8.0'
  template_groups:
    - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
      name: Templates/Applications
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Templates/Databases
    - uuid: 36bff6c29af64692839d077febfc7079
      name: 'Templates/Network devices'
    - uuid: e960332b3f6c46a1956486d4f3f99fce
      name: 'Templates/Server hardware'
  templates:
    - uuid: 1818cd052f174772a48bfc275d0016dd
      template: 'Cisco Secure Firewall Threat Defense by HTTP'
      name: 'Cisco Secure Firewall Threat Defense by HTTP'
      description: |
        This template is designed to monitor Cisco Secure Firewall Threat Defense devices using the REST API.
        It provides metrics such as CPU and memory usage, interface statistics, connection tracking, and more.
        The template includes items, triggers, and graphs to help you monitor the performance and health of your Cisco Secure Firewall Threat Defense devices.
        It is based on the Cisco Secure Firewall Threat Defense REST API and requires the API URL, username, and password to be set as macros.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This template provides monitoring capabilities for Cisco Secure Firewall Threat Defense devices using the REST API.
        It includes metrics for CPU and memory usage, interface statistics, connection tracking, and more.
        
        ## Setup
        
        Basic Auth is formed using the username and password of an administrator account that is used to log in to either FDM (Firepower Device Manager) or FMC (Firepower Management Center), depending on your deployment.
        
        Use the credentials in `API username` and `API password`.
        The `API URL` of the Cisco Secure Firewall Threat Defense REST API, e.g., `https://ftd.example.com/api/fdm/latest`.
      vendor:
        name: Zabbix
        version: 8.0-0
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: 72082a30d426460e8d30219584bc8479
          name: 'CPU utilization'
          type: DEPENDENT
          key: cisco.ftd.cpu.utilization
          value_type: FLOAT
          units: '%'
          description: 'Average CPU utilization.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.cpu.items..avgUsage.first()
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: e54b01b249ea43978267ca1b053732e7
              expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.cpu.utilization,15m)>{$CISCO.FTD.CPU.UTIL.WARN}'
              name: 'Cisco Secure FTD: High CPU utilization'
              event_name: 'Cisco Secure FTD: High CPU utilization (over {$CISCO.FTD.CPU.UTIL.WARN}% for 15m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'CPU utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 6c8d958d050b42c68519b763dbbd2b4b
          name: 'Get device metrics'
          type: DEPENDENT
          key: cisco.ftd.device.metrics.get
          history: '0'
          value_type: TEXT
          description: 'Collects device metrics from the Cisco Secure FTD API.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var Cisco = {
                  	api_url: '{$CISCO.FTD.API.URL}',
                  	http_proxy: '{$CISCO.FTD.HTTP_PROXY}',
                  
                  	getToken: function (params) {
                  		['access_token'].forEach(function (field) {
                  			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
                  				throw 'Unexpected session token value has been received: ' + field + '.';
                  			}
                  		});
                  		Cisco.params = params;
                  	},
                  
                  	request: function (url) {
                  
                  		var response,
                  			request = new HttpRequest();
                  
                  		if (typeof Cisco.http_proxy !== 'undefined' && Cisco.http_proxy !== '') {
                  			request.setProxy(Cisco.http_proxy);
                  		}
                  		if (!Cisco.params.access_token) {
                  			throw 'Request does not contain access token.';
                  		}
                  		request.addHeader('Accept: application/json');
                  		request.addHeader('Content-Type: application/json');
                  		request.addHeader('Authorization: Bearer ' + Cisco.params.access_token);
                  
                  		Zabbix.log(4, '[ Cisco ] request url: ' + url);
                  
                  		response = request.get(url);
                  
                  		if (request.getStatus() !== 200) {
                  			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
                  		}
                  
                  		try {
                  			return JSON.parse(response);
                  		}
                  		catch (error) {
                  			throw 'Failed to parse response received from API.';
                  		}
                  	},
                  
                  	getMetricsData: function () {
                  		var data = {};
                  
                  		endpoints = {
                  			'cpu': 'monitor/trendingreports/cpu?time_duration=60',
                  			'memory': 'monitor/trendingreports/memory?time_duration=60',
                  			'eps': 'monitor/trendingreports/eps?time_duration=60',
                  			'throughput': 'monitor/trendingreports/throughput?time_duration=60',
                  			'disk': 'operational/diskusage/default',
                  			'systeminfo': 'operational/systeminfo/default'
                  		};
                  
                  		if (typeof Cisco.api_url === 'string' && !Cisco.api_url.endsWith('/')) {
                  			Cisco.api_url += '/';
                  		}
                  
                  		Object.keys(endpoints).forEach(function (key) {
                  			data[key] = Cisco.request(Cisco.api_url + endpoints[key]);
                  		});
                  
                  		return data;
                  	}
                  };
                  
                  try {
                  	Cisco.getToken(JSON.parse(value));
                  
                  	return JSON.stringify(Cisco.getMetricsData());
                  }
                  catch (error) {
                  	error += (String(error).endsWith('.')) ? '' : '.';
                  	Zabbix.log(3, '[ Cisco ] ERROR: ' + error);
                  
                  	return JSON.stringify({ 'error': error });
                  }
          master_item:
            key: cisco.ftd.token.get
          tags:
            - tag: component
              value: raw
        - uuid: 201207d071834816bfc41f08c2cadff2
          name: 'Device metric item errors'
          type: DEPENDENT
          key: cisco.ftd.device.metrics.get.errors
          history: 1h
          value_type: TEXT
          description: 'Collects errors from device metrics.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: CUSTOM_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: error
          triggers:
            - uuid: 64081e3e64264352a1075dcdc16d8b7a
              expression: 'length(last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.device.metrics.get.errors))>0'
              name: 'Cisco Secure FTD: There are errors in the ''Get device metrics'' metric'
              priority: WARNING
              description: 'An error occurred when trying to get device metrics from the Cisco Secure FTD API.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 431375cc8501476d8fde2f5ad2e66b2f
          name: 'Disc space: Total'
          type: DEPENDENT
          key: cisco.ftd.disk.total.size
          units: B
          description: 'Total disk size in bytes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.name == "disk_stats.total.size")].value.first()'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.operational.metrics.get
          tags:
            - tag: component
              value: disk
        - uuid: d5072e8701674e23a38c3feb4a66c844
          name: 'Disc space: Used'
          type: DEPENDENT
          key: cisco.ftd.disk.total.used
          units: B
          description: 'Total used disk space in bytes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.name == "disk_stats.total.used")].value.first()'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.operational.metrics.get
          tags:
            - tag: component
              value: disk
        - uuid: cde9728d17f34719ba7751826c7cc93f
          name: 'Disc space: Utilization'
          type: DEPENDENT
          key: cisco.ftd.disk.total.utilization
          units: '%'
          description: 'Total disk space utilization percentage.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.name == "disk_stats.total.used_percentage")].value.first()'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.operational.metrics.get
          tags:
            - tag: component
              value: disk
        - uuid: ce9ae0fb00f94233950d400af207ceff
          name: 'Events per second'
          type: DEPENDENT
          key: cisco.ftd.events.rate
          value_type: FLOAT
          units: '!events'
          description: 'Average events per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.eps.items..avgEps.first()
            - type: CHANGE_PER_SECOND
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: system
        - uuid: a5e0330248284d24a8754e6c04539517
          name: 'Memory utilization'
          type: DEPENDENT
          key: cisco.ftd.memory.utilization
          value_type: FLOAT
          units: '%'
          description: 'Memory utilization percentage.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.memory.items..avgUsage.first()
              error_handler: DISCARD_VALUE
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 3d5da93aed4343dc8b7e20628a37d20a
              expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.memory.utilization,15m) >= {$CISCO.FTD.MEMORY.UTIL.WARN}'
              name: 'Cisco Secure FTD: High memory utilization'
              event_name: 'Cisco Secure FTD: High memory utilization (over {$CISCO.FTD.MEMORY.UTIL.WARN}% for 15m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: AVERAGE
              description: 'RAM utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: ecc462ed67024602af0a8b026583a64d
          name: 'Platform model'
          type: DEPENDENT
          key: cisco.ftd.model
          value_type: CHAR
          description: 'Platform model of the Cisco Secure FTD.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.systeminfo.platformModel
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: system
        - uuid: 5eae7fb2030e44bb8afa8b65c53c5d39
          name: 'Get operational metrics'
          type: DEPENDENT
          key: cisco.ftd.operational.metrics.get
          history: '0'
          value_type: TEXT
          description: 'Collects device metrics from the Cisco Secure FTD API.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var Cisco = {
                  	api_url: '{$CISCO.FTD.API.URL}',
                  	http_proxy: '{$CISCO.FTD.HTTP_PROXY}',
                  
                  	getToken: function (params) {
                  		['access_token'].forEach(function (field) {
                  			if (typeof params !== 'object' || typeof params[field] === 'undefined' || params[field] === '') {
                  				throw 'Unexpected session token value has been received: ' + field + '.';
                  			}
                  		});
                  		Cisco.params = params;
                  	},
                  
                  	getField: function (data, path, default_value) {
                  		var steps = path.split('.');
                  		var step = steps.shift();
                  
                  		while (typeof step !== 'undefined') {
                  			if (typeof data === undefined || typeof data[step] === 'undefined') {
                  				return default_value;
                  			}
                  
                  			data = data[step];
                  			step = steps.shift();
                  		}
                  		return data;
                  	},
                  
                  	request: function (url) {
                  
                  		var response,
                  			request = new HttpRequest();
                  
                  		if (typeof Cisco.http_proxy !== 'undefined' && Cisco.http_proxy !== '') {
                  			request.setProxy(Cisco.http_proxy);
                  		}
                  		if (!Cisco.params.access_token) {
                  			throw 'Request does not contain access token.';
                  		}
                  		request.addHeader('Accept: application/json');
                  		request.addHeader('Content-Type: application/json');
                  		request.addHeader('Authorization: Bearer ' + Cisco.params.access_token);
                  
                  		Zabbix.log(4, '[ Cisco ] request url: ' + url);
                  
                  		response = request.get(url);
                  
                  		if (request.getStatus() !== 200) {
                  			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
                  		}
                  
                  		try {
                  			return JSON.parse(response);
                  		}
                  		catch (error) {
                  			throw 'Failed to parse response received from API.';
                  		}
                  	},
                  
                  	getMetricsData: function () {
                  		if (typeof Cisco.api_url === 'string' && !Cisco.api_url.endsWith('/')) {
                  			Cisco.api_url += '/';
                  		}
                  
                  		metrics = Cisco.getField(Cisco.request(Cisco.api_url + 'devices/default/operational/metrics'), 'items');
                  
                  		return metrics.map(function (data) {
                  			const idField = Cisco.getField(data, 'id', '');
                  			const parts = idField.split('.');
                  
                  			const type = parts[0];
                  			const id = parts[1] || type;
                  			const metric = parts.length >= 3 ? parts.slice(2).join('.') : parts.slice(1).join('.');
                  
                  			return {
                  				type,
                  				id,
                  				metric,
                  				name: Cisco.getField(data, 'name', ''),
                  				value: Cisco.getField(data, 'metric.value', null),
                  				status: Cisco.getField(data, 'metric.status'),
                  				mounted_on: Cisco.getField(data, 'mountedOn'),
                  				unit: Cisco.getField(data, 'metric.unit', '')
                  			};
                  		});
                  
                  	}
                  };
                  
                  try {
                  	Cisco.getToken(JSON.parse(value));
                  
                  	return JSON.stringify(Cisco.getMetricsData());
                  }
                  catch (error) {
                  	error += (String(error).endsWith('.')) ? '' : '.';
                  	Zabbix.log(3, '[ Cisco ] ERROR: ' + error);
                  
                  	return JSON.stringify({ 'error': error });
                  }
          master_item:
            key: cisco.ftd.token.get
          tags:
            - tag: component
              value: raw
        - uuid: b2b4d9d4afad426483283cc9c23dcbc7
          name: 'Operational metric item errors'
          type: DEPENDENT
          key: cisco.ftd.operational.metrics.get.errors
          history: 1h
          value_type: TEXT
          description: 'Collects errors from operational metrics.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: CUSTOM_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.operational.metrics.get
          tags:
            - tag: component
              value: error
          triggers:
            - uuid: d955d3cd1f5f4263ac37a004e047e5d5
              expression: 'length(last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.operational.metrics.get.errors))>0'
              name: 'Cisco Secure FTD: There are errors in the ''Get operational metrics'' metric'
              priority: WARNING
              description: 'An error occurred when trying to get operational metrics from the Cisco Secure FTD API.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 0668f90812a94797a0b5194ffb2870d2
          name: 'Serial number'
          type: DEPENDENT
          key: cisco.ftd.serialnumber
          value_type: CHAR
          description: 'Serial number of the Cisco Secure FTD.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.systeminfo.serialNumber
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 24h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: c8c683ef77a94e37a407b4879be29245
              expression: 'last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.serialnumber,#1)<>last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.serialnumber,#2) and length(last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.serialnumber))>0'
              name: 'Cisco Secure FTD: Device has been replaced'
              event_name: 'Cisco Secure FTD: Device has been replaced (new serial number received)'
              priority: INFO
              description: 'The device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 11da0a11baff42e19cdb00e6f1ec46be
          name: 'Software version'
          type: DEPENDENT
          key: cisco.ftd.software.version
          value_type: CHAR
          description: 'Software version of the Cisco Secure FTD.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.systeminfo.softwareVersion
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: system
        - uuid: 826ab729ee124cd8afcd0608803ee26e
          name: 'Storage: Free'
          type: DEPENDENT
          key: cisco.ftd.storage.free
          units: B
          description: 'Amount of free storage.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.disk.free
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1073741824'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: storage
        - uuid: 51e1c93ed8084054b0a1c79666772329
          name: 'Storage: Total'
          type: DEPENDENT
          key: cisco.ftd.storage.total
          units: B
          description: 'Amount of total storage.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.disk.total
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1073741824'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: storage
        - uuid: a3c13fa819db4776bbfc49e97331a128
          name: 'Storage: Used'
          type: DEPENDENT
          key: cisco.ftd.storage.usage
          units: B
          description: 'Amount of storage used.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.disk.used
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1073741824'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: storage
        - uuid: fe265c79580b4da99b9a83f23739fae5
          name: 'Get token'
          type: HTTP_AGENT
          key: cisco.ftd.token.get
          history: '0'
          value_type: TEXT
          description: 'Requests an access token using the `password` grant type (username and password).'
          timeout: '{$CISCO.FTD.DATA.TIMEOUT}'
          url: '{$CISCO.FTD.API.URL}/fdm/token'
          posts: '{ "grant_type": "password", "username": "{$CISCO.FTD.API.USERNAME}", "password": "{$CISCO.FTD.API.PASSWORD}" }'
          http_proxy: '{$CISCO.FTD.HTTP_PROXY}'
          headers:
            - name: Content-Type
              value: application/json
            - name: Accept
              value: application/json
          request_method: POST
          tags:
            - tag: component
              value: raw
        - uuid: d03f7e217c704bbc934a6045cbbec48d
          name: 'System uptime'
          type: DEPENDENT
          key: cisco.ftd.uptime
          units: uptime
          description: 'The system uptime.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.systeminfo.systemUptime
            - type: JAVASCRIPT
              parameters:
                - 'return (Math.floor(Date.now()/1000)-Math.floor(Number(value)/1000));'
          master_item:
            key: cisco.ftd.device.metrics.get
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 887632676fba481db8dd93a977a8d256
              expression: 'last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.uptime)<10m'
              name: 'Cisco Secure FTD: Device has been restarted'
              event_name: 'Cisco Secure FTD: {HOST.NAME} has been restarted (uptime < 10m)'
              priority: INFO
              description: 'The host uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
      discovery_rules:
        - uuid: fd567f947ede4429a3006ef43e01ff40
          name: 'ASP drop discovery'
          type: DEPENDENT
          key: cisco.ftd.asp_drops.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.ASP.STATS.NAME.MATCHES}'
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.ASP.STATS.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of the Accelerated Security Path drops or connections from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 6aef1770da014d549373c0f045b9304f
              name: 'ASP [{#METRIC}]'
              type: DEPENDENT
              key: 'cisco.ftd.asp_drops["{#ID}"]'
              value_type: FLOAT
              description: 'Number of Accelerated Security Path (ASP) drops per second for `{#METRIC}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.id == "{#NAME}" && @.metric == "{#METRIC}")].value.first()'
                - type: CHANGE_PER_SECOND
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: asp
                  value: '{#ID}'
                - tag: component
                  value: asp
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	asp_drops = [];
                  
                  data.forEach(function (item) {
                  	if (item.type === 'asp_drops') {
                  		asp_drops.push({
                  			'{#ID}': item.metric.split(' ').join('_'),
                  			'{#NAME}': item.id,
                  			'{#METRIC}': item.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify(asp_drops);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 81b052482ea1408180540a96f9fea8b6
          name: 'Connection discovery'
          type: DEPENDENT
          key: cisco.ftd.conn_stats.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.CONN.STATS.NAME.MATCHES}'
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.CONN.STATS.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of connection statistics from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: e9c51430c12e40e9926d6ff2059ea295
              name: 'Statistic [{#NAME}][{#METRIC}]'
              type: DEPENDENT
              key: 'cisco.ftd.conn_stats["{#NAME}","{#METRIC}"]'
              value_type: FLOAT
              description: 'Connection statistic for `{#NAME}` and metric `{#METRIC}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.id == "{#NAME}" && @.metric == "{#METRIC}")].value.first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: connection
                - tag: connection
                  value: '{#NAME}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	connections = [];
                  
                  data.forEach(function (connection) {
                  	if (connection.type === 'conn_stats') {
                  		connections.push({
                  			'{#NAME}': connection.id,
                  			'{#METRIC}': connection.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify(connections);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 0e73d72250294e959a6f0557631e64ba
          name: 'CPU discovery'
          type: DEPENDENT
          key: cisco.ftd.cpu.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#METRIC}'
                value: '{$CISCO.FTD.LLD.FILTER.CPU.NAME.MATCHES}'
              - macro: '{#METRIC}'
                value: '{$CISCO.FTD.LLD.FILTER.CPU.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of CPU monitoring entries from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 4a09b3b0c19148b99dd5fc3da975aa0e
              name: 'CPU [{#METRIC}] utilization'
              type: DEPENDENT
              key: 'cisco.ftd.cpu.util["{#NAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Discovery of CPU `{#METRIC}` utilization (in percent).'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.name == "{#NAME}")].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: cpu
                - tag: cpu
                  value: '{#METRIC}'
              trigger_prototypes:
                - uuid: 1c5f0b2d3e4f4a6b8c9d0e1f2a3b4c5d
                  expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.cpu.util["{#NAME}"],15m)>{$CISCO.FTD.CPU.UTIL.WARN:"{#NAME}"}'
                  name: 'Cisco Secure FTD: High CPU [{#METRIC}] utilization'
                  event_name: 'Cisco Secure FTD: High CPU utilization (over {$CISCO.FTD.CPU.UTIL.WARN:"{#NAME}"}% for 15m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	cpu = [];
                  
                  data.forEach(function (item) {
                  	if (item.type === 'cpu') {
                  		cpu.push({
                  			'{#NAME}': item.name,
                  			'{#METRIC}': item.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify(cpu);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 0b48d721f9b44f1b836cc889d53dacaf
          name: 'Critical process discovery'
          type: DEPENDENT
          key: cisco.ftd.critical_process.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ID}'
                value: '{$CISCO.FTD.LLD.FILTER.PROCESS.NAME.MATCHES}'
              - macro: '{#ID}'
                value: '{$CISCO.FTD.LLD.FILTER.PROCESS.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of critical process statistics from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 9c36af7e5458489ea318e22bc58d1965
              name: 'Process [{#ID}]: Restart count'
              type: DEPENDENT
              key: 'cisco.ftd.critical_process.restart_count["{#ID}"]'
              description: 'Restart count of process `{#ID}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.id == "{#ID}" && @.metric == "restart_count")].value.first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: process
                - tag: process
                  value: '{#ID}'
            - uuid: fc6e03e292b947fc9ec05de27c2a4d7f
              name: 'Process [{#ID}]: Status'
              type: DEPENDENT
              key: 'cisco.ftd.critical_process.status["{#ID}"]'
              description: 'Status of process `{#ID}`.'
              valuemap:
                name: 'Cisco FTD process status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.id == "{#ID}" && @.metric == "status")].status.first()'
                  error_handler: DISCARD_VALUE
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = {
                      	'STOPPED': 1,
                      	'RUNNING': 2,
                      	'FAILED': 3,
                      	'UNKNOWN': 4,
                      	'RESTARTING': 5
                      };
                      
                      return typeof idx[value] === 'undefined' ? 0 : idx[value];
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: process
                - tag: process
                  value: '{#ID}'
              trigger_prototypes:
                - uuid: 9ef40026c8fe4dd389b43fa2e012ce0e
                  expression: 'last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.critical_process.status["{#ID}"])=3'
                  name: 'Cisco Secure FTD: Process [{#ID}]: Status failed'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Process `{#ID}` is the `failed` status.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 7737377bce104953b8e80c2700492c5d
                  expression: 'last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.critical_process.status["{#ID}"])=1'
                  name: 'Cisco Secure FTD: Process [{#ID}]: Status stopped'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Process `{#ID}` is the `stopped` status.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 4ae16d0410804ec48e5d1866db307a15
              name: 'Process [{#ID}]: Uptime'
              type: DEPENDENT
              key: 'cisco.ftd.critical_process.uptime["{#ID}"]'
              value_type: FLOAT
              units: uptime
              description: 'Uptime of process `{#ID}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.id == "{#ID}" && @.metric == "uptime")].value.first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: process
                - tag: process
                  value: '{#ID}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	critical_process = [],
                  	unique = {};
                  
                  data.forEach(function (process) {
                  	var key = process.id;
                  	if (!unique[key] && process.type == 'critical_process') {
                  		unique[key] = true;
                  		critical_process.push({
                  			'{#ID}': process.id
                  		});
                  	}
                  });
                  
                  return JSON.stringify(critical_process);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: c49cb0da46624ed1b56063d8c2589e55
          name: 'FAN discovery'
          type: DEPENDENT
          key: cisco.ftd.fan.discovery
          description: 'Discovery of FAN sensors.'
          item_prototypes:
            - uuid: d05588f39d2d401595f27e6e8b293296
              name: 'Fan speed [{#NAME}]'
              type: DEPENDENT
              key: 'cisco.ftd.sensor.fan.rpm[{#SENSOR}]'
              value_type: FLOAT
              units: '!rpm'
              description: 'FAN `{#SENSOR}` speed in RPM.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == ''{#SENSOR}'')].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: fan
                - tag: fan
                  value: '{#NAME}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	fan = [];
                  
                  data.forEach(function (item) {
                  
                  	if (item.type === 'chassis_stats' && item.metric.match(/_fan/)) {
                  		fan.push({
                  			'{#SENSOR}': item.metric,
                  			'{#NAME}': item.metric.replace(/_rpm|_spd/g, '')
                  		});
                  	}
                  });
                  
                  return JSON.stringify(fan);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 38b66206cb044ef0bf4806b6155baf26
          name: 'Interface discovery'
          type: DEPENDENT
          key: cisco.ftd.interface.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DESCR}'
                value: '{$CISCO.FTD.LLD.FILTER.IF.DESCR.MATCHES}'
              - macro: '{#DESCR}'
                value: '{$CISCO.FTD.LLD.FILTER.IF.DESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.IF.NAME.MATCHES}'
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.IF.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of interfaces from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: c23c19d990ca4813abd843d03a63bf14
              name: 'Interface [{#NAME}][{#DESCR}]: Dropped packets'
              type: DEPENDENT
              key: 'cisco.ftd.interface.drop.packets["{#NAME}"]'
              value_type: FLOAT
              description: 'Number of dropped packets per second `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "drop_packets")].value.first()'
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
            - uuid: c89465c8fdc049cfa3358eaf3fc4542b
              name: 'Interface [{#NAME}][{#DESCR}]: Get metric data'
              type: DEPENDENT
              key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              history: '0'
              value_type: TEXT
              description: 'Gets data from the interface `{#NAME}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.id == "{#NAME}")]'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: network
                - tag: component
                  value: raw
                - tag: interface
                  value: '{#NAME}'
            - uuid: e22680cc81e248008c0cc22ee7dc79ba
              name: 'Interface [{#NAME}][{#DESCR}]: Input errors'
              type: DEPENDENT
              key: 'cisco.ftd.interface.input.errors["{#NAME}"]'
              value_type: FLOAT
              description: 'Input errors `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "input_errors")].value.first()'
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 7493917bc86741a9b9e5407d91a3c41b
                  expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.input.errors["{#NAME}"],5m)>{$CISCO.FTD.IF.ERRORS.WARN:"{#IFNAME}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.input.errors["{#NAME}"],5m)<{$CISCO.FTD.IF.ERRORS.WARN:"{#NAME}"}*0.8'
                  name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: High input error rate'
                  event_name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: High input error rate ( > {$CISCO.FTD.IF.ERRORS.WARN:"{#NAME}"} for 5m)'
                  opdata: 'Errors in: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Recovers when below 80% of the `{$CISCO.FTD.IF.ERRORS.WARN:"{#NAME}"}` threshold.'
                  dependencies:
                    - name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: Link down'
                      expression: '{$CISCO.FTD.IF.CONTROL:"{#IFNAME}"}=1 and (last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.status["{#NAME}"])=0)'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 8d153f59b49e4f17acce290543edb0c9
              name: 'Interface [{#NAME}][{#DESCR}]: Input packets'
              type: DEPENDENT
              key: 'cisco.ftd.interface.input.packets["{#NAME}"]'
              value_type: FLOAT
              description: 'Input packets `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "input_packets")].value.first()'
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
            - uuid: e13c67805d8f49b8a2f884dfee2065ce
              name: 'Interface [{#NAME}][{#DESCR}]: Outgoing traffic'
              type: DEPENDENT
              key: 'cisco.ftd.interface.out.traffic["{#NAME}"]'
              units: bps
              description: 'Outgoing traffic `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "output_bytes")].value.first()'
                  error_handler: DISCARD_VALUE
                - type: MULTIPLIER
                  parameters:
                    - '8'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
            - uuid: 17687d65543e45dc92f058eed2ea5b33
              name: 'Interface [{#NAME}][{#DESCR}]: Output errors'
              type: DEPENDENT
              key: 'cisco.ftd.interface.output.errors["{#NAME}"]'
              value_type: FLOAT
              description: 'Output errors `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "output_errors")].value.first()'
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 58570e2bed7f47448e1c2d43e448cc78
                  expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.output.errors["{#NAME}"],5m)>{$CISCO.FTD.IF.ERRORS.WARN:"{#IFNAME}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.output.errors["{#NAME}"],5m)<{$CISCO.FTD.IF.ERRORS.WARN:"{#NAME}"}*0.8'
                  name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: High output error rate'
                  event_name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: High output error rate ( > {$CISCO.FTD.IF.ERRORS.WARN:"{#NAME}"} for 5m)'
                  opdata: 'Errors in: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Recovers when below 80% of the `{$CISCO.FTD.IF.ERRORS.WARN:"{#NAME}"}` threshold.'
                  dependencies:
                    - name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: Link down'
                      expression: '{$CISCO.FTD.IF.CONTROL:"{#IFNAME}"}=1 and (last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.status["{#NAME}"])=0)'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 2feeaafb8a9844b7b99c45cb5d8a0d6a
              name: 'Interface [{#NAME}][{#DESCR}]: Output packets'
              type: DEPENDENT
              key: 'cisco.ftd.interface.output.packets["{#NAME}"]'
              value_type: FLOAT
              description: 'Output packets `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "output_packets")].value.first()'
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
            - uuid: 4c1364b2ee22411a93e4c093842ac953
              name: 'Interface [{#NAME}][{#DESCR}]: Status'
              type: DEPENDENT
              key: 'cisco.ftd.interface.status["{#NAME}"]'
              value_type: FLOAT
              description: 'Status `{#NAME}` interface.'
              valuemap:
                name: 'Cisco FTD interface status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "status")].value.first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: a7b1dd7b06654adaa9781efb2e5b5d42
                  expression: '{$CISCO.FTD.IF.CONTROL:"{#IFNAME}"}=1 and (last(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.interface.status["{#NAME}"])=0)'
                  name: 'Cisco Secure FTD: Interface [{#NAME}][{#DESCR}]: Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is `down`.
                    2. `{$CISCO.FTD.IF.CONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to`0`, marking this interface as not important. No new trigger will be fired if this interface is down.
                  tags:
                    - tag: scope
                      value: availability
            - uuid: c1f73a16a8614122ae7e255ece2d7017
              name: 'Interface [{#NAME}][{#DESCR}]: Incoming traffic'
              type: DEPENDENT
              key: 'cisco.ftd.net.if.in.traffic["{#NAME}"]'
              units: bps
              description: 'Input traffic `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "input_bytes")].value.first()'
                - type: MULTIPLIER
                  parameters:
                    - '8'
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'cisco.ftd.interface.get["{#NAME}","{#DESCR}"]'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	interfaces = [],
                  	unique = {};
                  
                  	data.forEach(function (interface) {
                  		var key = interface.id;
                  		if (!unique[key] && interface.type == 'interface' ) {
                  			unique[key] = true;
                  			interfaces.push({
                  				'{#DESCR}': interface.name,
                  				'{#NAME}': interface.id
                  			});
                  		}
                  	});
                  
                  return JSON.stringify(interfaces);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 704ddca94289435cae1a3acc06703656
          name: 'Memory discovery'
          type: DEPENDENT
          key: cisco.ftd.memory.discovery
          description: 'Discovery of memory monitoring entries from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 7b6551dc19e94fafb0688d17d1dc74c2
              name: 'Memory [{#METRIC}]'
              type: DEPENDENT
              key: 'cisco.ftd.memory["{#NAME}"]'
              value_type: FLOAT
              units: B
              description: 'Amount of memory in bytes for `{#METRIC}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.name == "{#NAME}")].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: memory
                - tag: component
                  value: raw
                - tag: memory
                  value: '{#METRIC}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	mem_bytes = [],
                  	mem_percentage = [];
                  
                  data.forEach(function (item) {
                  	if (item.type === 'mem' && item.metric.match(/used_percentage/)) {
                  		mem_percentage.push({
                  			'{#NAME}': item.name,
                  			'{#METRIC}': item.metric.replace('used_percentage_', '')
                  		});
                  	}
                  	else if (item.type === 'mem' && !item.metric.match(/remaining_blocks/)) {
                  		mem_bytes.push({
                  			'{#NAME}': item.name,
                  			'{#METRIC}': item.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify({ mem_percentage, mem_bytes });
            - type: JSONPATH
              parameters:
                - $.mem_bytes
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 934c5e47cfca45c2a4b8584311fdf314
          name: 'Memory utilization discovery'
          type: DEPENDENT
          key: cisco.ftd.memory.util.discovery
          description: 'Discovery of utilization memory monitoring entries from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 2844d89f2c2a47f3b5506526cd3a0a17
              name: 'Memory [{#METRIC}] utilization'
              type: DEPENDENT
              key: 'cisco.ftd.memory.util["{#NAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Discovery of memory `{#METRIC}` utilization (in percent).'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.name == "{#NAME}")].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: memory
                - tag: component
                  value: raw
                - tag: memory
                  value: '{#METRIC}'
              trigger_prototypes:
                - uuid: 4891c9022137417996978480d3b8b58d
                  expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.memory.util["{#NAME}"],15m)>{$CISCO.FTD.MEMORY.UTIL.WARN:"{#NAME}"}'
                  name: 'Cisco Secure FTD: High memory utilization'
                  event_name: 'Cisco Secure FTD: High memory utilization (over {$CISCO.FTD.MEMORY.UTIL.WARN:"{#NAME}"}% for 15m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Memory utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	mem_bytes = [],
                  	mem_percentage = [];
                  
                  data.forEach(function (item) {
                  	if (item.type === 'mem' && item.metric.match(/used_percentage/)) {
                  		mem_percentage.push({
                  			'{#NAME}': item.name,
                  			'{#METRIC}': item.metric.replace('used_percentage_', '')
                  		});
                  	}
                  	else if (item.type === 'mem' && !item.metric.match(/remaining_blocks/)) {
                  		mem_bytes.push({
                  			'{#NAME}': item.name,
                  			'{#METRIC}': item.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify({ mem_percentage, mem_bytes });
            - type: JSONPATH
              parameters:
                - $.mem_percentage
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 57ac09be2b3d46b7a06a2899365c4010
          name: 'PSU discovery'
          type: DEPENDENT
          key: cisco.ftd.psu.discovery
          description: 'Discovery of PSU sensors.'
          item_prototypes:
            - uuid: 8947273145fb4f40ae76f6c04841150f
              name: 'Power supply [{#SENSOR}]'
              type: DEPENDENT
              key: 'cisco.ftd.sensor.psu.pwr[{#SENSOR}]'
              value_type: FLOAT
              units: '!W'
              description: 'Power supply unit `{#SENSOR}` power consumption in watts.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == ''{#SENSOR}'')].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: power
                - tag: psu
                  value: '{#SENSOR}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	pwr = [];
                  
                  data.forEach(function (item) {
                  
                  	if (item.type === 'chassis_stats' && item.metric.match(/_pwr/)) {
                  		pwr.push({
                  			'{#SENSOR}': item.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify(pwr);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: e49aabe5e2ad41fbaeeee607e604f0af
          name: 'Snort discovery'
          type: DEPENDENT
          key: cisco.ftd.snort.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.SNORT.ID.MATCHES}'
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.SNORT.ID.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of Snort and IDS/IPS statistics from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 402bb608adbd44aea706eaba9c849db5
              name: 'Statistic [{#NAME}][{#METRIC}]'
              type: DEPENDENT
              key: 'cisco.ftd.snort["{#ID}"]'
              value_type: FLOAT
              description: 'Discovery of Snort `{#NAME}` statistics of `{#METRIC}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.name == "{#ID}")].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: snort
                - tag: snort
                  value: '{#NAME}'
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	snort = [],
                  	unique = {};
                  
                  data.forEach(function (item) {
                  	var key = item.name;
                  	if (!unique[key] && item.type == 'snort') {
                  		unique[key] = true;
                  		snort.push({
                  			'{#METRIC}': item.metric,
                  			'{#NAME}': item.id,
                  			'{#ID}': item.name
                  
                  		});
                  	}
                  });
                  
                  return JSON.stringify(snort);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 0d88d0b278b34015ad7de49a3344309d
          name: 'Temperature sensor discovery'
          type: DEPENDENT
          key: cisco.ftd.temp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SENSOR}'
                value: '{$CISCO.FTD.LLD.FILTER.SENSOR.NAME.MATCHES}'
              - macro: '{#SENSOR}'
                value: '{$CISCO.FTD.LLD.FILTER.SENSOR.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of temperature sensors from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 3eb667ad9bf64ecc8b919017c158a1cd
              name: 'Temperature [{#SENSOR}]'
              type: DEPENDENT
              key: 'cisco.ftd.sensor.temp.value["{#SENSOR}"]'
              value_type: FLOAT
              units: °C
              description: 'Temperature of sensor `{#SENSOR}`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.metric == "{#SENSOR}")].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: temperature
                - tag: sensor
                  value: '{#SENSOR}'
              trigger_prototypes:
                - uuid: bc9906f695ca493ea09cdf6b3934384e
                  expression: 'avg(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.sensor.temp.value["{#SENSOR}"],5m)>{$CISCO.FTD.TEMP.CRIT:"{#SENSOR}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.sensor.temp.value["{#SENSOR}"],5m)<{$CISCO.FTD.TEMP.CRIT:"{#SENSOR}"}-3'
                  name: 'Cisco Secure FTD: Temperature is above critical threshold'
                  event_name: 'Cisco Secure FTD: Temperature is above critical threshold: >{$CISCO.FTD.TEMP.CRIT:"{#SENSOR}"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as the temperature sensor status, if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 1505adc302134e21bb6d2ebf881e27c4
                  expression: 'avg(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.sensor.temp.value["{#SENSOR}"],5m)>{$CISCO.FTD.TEMP.WARN:"{#SENSOR}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.sensor.temp.value["{#SENSOR}"],5m)<{$CISCO.FTD.TEMP.WARN:"{#SENSOR}"}-3'
                  name: 'Cisco Secure FTD: Temperature is above warning threshold'
                  event_name: 'Cisco Secure FTD: Temperature is above warning threshold: >{$CISCO.FTD.TEMP.WARN:"{#SENSOR}"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as the temperature sensor status, if available.'
                  dependencies:
                    - name: 'Cisco Secure FTD: Temperature is above critical threshold'
                      expression: 'avg(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.sensor.temp.value["{#SENSOR}"],5m)>{$CISCO.FTD.TEMP.CRIT:"{#SENSOR}"}'
                      recovery_expression: 'max(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.sensor.temp.value["{#SENSOR}"],5m)<{$CISCO.FTD.TEMP.CRIT:"{#SENSOR}"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	temp = [];
                  
                  data.forEach(function (item) {
                  
                  	if (item.type === 'chassis_stats' && item.metric.match(/_temp/)) {
                  		temp.push({
                  			'{#SENSOR}': item.metric
                  		});
                  	}
                  });
                  
                  return JSON.stringify(temp);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: c431c01781854d67996b70eaf85ff00a
          name: 'Throughput discovery'
          type: DEPENDENT
          key: cisco.ftd.throughput.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.THROUGHPUT.INTERFACE.NAME.MATCHES}'
              - macro: '{#NAME}'
                value: '{$CISCO.FTD.LLD.FILTER.THROUGHPUT.INTERFACE.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of throughput interfaces from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: a3ff16bc8dd74055bfcd75144a8f97cd
              name: 'Interface [{#NAME}]: Throughput'
              type: DEPENDENT
              key: 'cisco.ftd.interface.throughput["{#NAME}"]'
              value_type: FLOAT
              units: Bps
              description: 'Throughput of the `{#NAME}` interface.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.throughput.items[?(@.interfaceName == "{#NAME}")].interfaceThroughput.first()'
                  error_handler: DISCARD_VALUE
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: cisco.ftd.device.metrics.get
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#NAME}'
          master_item:
            key: cisco.ftd.device.metrics.get
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.throughput.items
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	throughput = [],
                  	unique = {};
                  
                  data.forEach(function (item) {
                  	var key = item.interfaceName;
                  	if (!unique[key]) {
                  		unique[key] = true;
                  		throughput.push({
                  			'{#NAME}': item.interfaceName,
                  		});
                  	}
                  });
                  
                  return JSON.stringify(throughput);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
        - uuid: 31d08ae044b3473e860911142ba048ac
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: cisco.ftd.vfs.fs.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSMOUNT}'
                value: '{$CISCO.FTD.LLD.FILTER.FSMOUNT.MATCHES}'
              - macro: '{#FSMOUNT}'
                value: '{$CISCO.FTD.LLD.FILTER.FSMOUNT.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSNAME}'
                value: '{$CISCO.FTD.LLD.FILTER.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$CISCO.FTD.LLD.FILTER.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of mounted filesystems from the Cisco Secure FTD API.'
          item_prototypes:
            - uuid: 89ccc9c43d084d5d84cac0118a0e205b
              name: 'FS [{#FSNAME}][{#FSMOUNT}]: Space utilization'
              type: DEPENDENT
              key: 'cisco.ftd.fs.pused["{#FSNAME}","{#FSMOUNT}"]'
              value_type: FLOAT
              units: '%'
              description: 'Calculated as the percentage of the currently used space compared to the maximum available space.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.name == "{#NAME}" && @.mounted_on == "{#FSMOUNT}")].value.first()'
              master_item:
                key: cisco.ftd.operational.metrics.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
              trigger_prototypes:
                - uuid: 687ebffa0c14403398cde19620cc6627
                  expression: 'min(/Cisco Secure Firewall Threat Defense by HTTP/cisco.ftd.fs.pused["{#FSNAME}","{#FSMOUNT}"],15m)>{$CISCO.FTD.FS.PUSED.WARN:"{#FSNAME}"}'
                  name: 'Cisco Secure FTD: FS [{#FSNAME}][{#FSMOUNT}]: Space is low'
                  event_name: 'Cisco Secure FTD: FS [{#FSNAME}][{#FSMOUNT}]: Space is low (utilization is over {$CISCO.FTD.FS.PUSED.WARN:"{#FSNAME}"}% for 15m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'The trigger expression is based on the current used and maximum available space. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
          master_item:
            key: cisco.ftd.operational.metrics.get
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value),
                  	disk_percentage = [];
                  
                  data.forEach(function (item) {
                  
                  	if (item.type === 'disk_stats' && item.metric.match(/used_percentage/) && item.mounted_on !== undefined) {
                  		disk_percentage.push({
                  			'{#NAME}': item.name,
                  			'{#FSNAME}': item.id.replace('_', ''),
                  			'{#FSMOUNT}': item.mounted_on,
                  		});
                  	}
                  });
                  
                  return JSON.stringify(disk_percentage);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
      tags:
        - tag: class
          value: network
        - tag: subclass
          value: security
        - tag: target
          value: cisco
        - tag: target
          value: cisco-ftd
      macros:
        - macro: '{$CISCO.FTD.API.PASSWORD}'
          type: SECRET_TEXT
          description: 'Cisco Secure Firewall Threat Defense REST API password.'
          config:
            type: TEXT
            priority: '4'
            label: 'API password'
            description: 'Password for the Cisco Secure Firewall Threat Defense REST API.'
            required: 'YES'
        - macro: '{$CISCO.FTD.API.URL}'
          description: 'Cisco Secure Firewall Threat Defense REST API URL. Format example: `https://ftd.example.com/api/fdm/latest`'
          config:
            type: TEXT
            priority: '2'
            label: 'API URL'
            description: 'Cisco Secure Firewall Threat Defense REST API URL. Format example: `https://ftd.example.com/api/fdm/latest`'
            required: 'YES'
        - macro: '{$CISCO.FTD.API.USERNAME}'
          description: 'Cisco Secure Firewall Threat Defense REST API username.'
          config:
            type: TEXT
            priority: '3'
            label: 'API username'
            description: 'Cisco Secure Firewall Threat Defense REST API username.'
            required: 'YES'
        - macro: '{$CISCO.FTD.CPU.UTIL.WARN}'
          value: '80'
          description: 'Warning threshold for FTD CPU utilization, expressed as a percentage.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'CPU utilization warning threshold'
            description: 'Warning threshold for CPU utilization (%).'
        - macro: '{$CISCO.FTD.DATA.INTERVAL}'
          value: 1m
          description: 'Update interval for the HTTP item that retrieves data from the API. Can be used with context if needed (check the context values in relevant items).'
          config:
            type: TEXT
            priority: '6'
            label: 'API interval'
            description: 'Update interval for HTTP item (e.g., 1m).'
        - macro: '{$CISCO.FTD.DATA.TIMEOUT}'
          value: 15s
          description: 'Response timeout for the Cisco Secure Firewall Threat Defense REST API.'
          config:
            type: TEXT
            priority: '5'
            label: 'API timeout'
            description: 'Response timeout for the API (e.g., 15s).'
        - macro: '{$CISCO.FTD.FS.PUSED.WARN}'
          value: '80'
          description: 'Threshold for the filesystem utilization trigger. Can be used with the filesystem name as context.'
          config:
            type: TEXT
            priority: '33'
            section_name: Thresholds
            label: 'Filesystem utilization warning threshold'
            description: 'Warning threshold for filesystem utilization (%).'
        - macro: '{$CISCO.FTD.HTTP_PROXY}'
          description: 'Sets HTTP proxy value. If this macro is empty then no proxy is used.'
          config:
            type: TEXT
            priority: '1'
            label: 'HTTP proxy'
            description: 'HTTP proxy to use for requests.'
        - macro: '{$CISCO.FTD.IF.CONTROL}'
          value: '1'
          description: 'Macro for the operational state of the interface for the "link down" trigger. Can be used with the interface name as context.'
          config:
            type: TEXT
            priority: '35'
            section_name: Thresholds
            label: 'Interface control macro'
            description: 'Macro for interface operational state (1=important, 0=not important).'
        - macro: '{$CISCO.FTD.IF.ERRORS.WARN}'
          value: '2'
          description: 'Threshold for the error packet rate warning trigger. Can be used with the interface name as context.'
          config:
            type: TEXT
            priority: '34'
            section_name: Thresholds
            label: 'Interface error warning threshold'
            description: 'Warning threshold for interface error rate.'
        - macro: '{$CISCO.FTD.LLD.FILTER.ASP.STATS.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable Accelerated Security Path dropped packets or connections by name.'
          config:
            type: TEXT
            priority: '17'
            section_name: 'Discovery filters'
            label: 'ASP stats name matches'
            description: 'Regex to match ASP stats.'
        - macro: '{$CISCO.FTD.LLD.FILTER.ASP.STATS.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered Accelerated Security Path dropped packets or connections by name.'
          config:
            type: TEXT
            priority: '18'
            section_name: 'Discovery filters'
            label: 'ASP stats name not matches'
            description: 'Regex to exclude ASP stats.'
        - macro: '{$CISCO.FTD.LLD.FILTER.CONN.STATS.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable connections by name.'
          config:
            type: TEXT
            priority: '15'
            section_name: 'Discovery filters'
            label: 'Connection stats name matches'
            description: 'Regex to match discoverable connections.'
        - macro: '{$CISCO.FTD.LLD.FILTER.CONN.STATS.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered connections by name.'
          config:
            type: TEXT
            priority: '16'
            section_name: 'Discovery filters'
            label: 'Connection stats name not matches'
            description: 'Regex to exclude connections.'
        - macro: '{$CISCO.FTD.LLD.FILTER.CPU.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable CPUs by name.'
          config:
            type: TEXT
            priority: '21'
            section_name: 'Discovery filters'
            label: 'CPU name matches'
            description: 'Regex to match CPU names.'
        - macro: '{$CISCO.FTD.LLD.FILTER.CPU.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered CPUs by name.'
          config:
            type: TEXT
            priority: '22'
            section_name: 'Discovery filters'
            label: 'CPU name not matches'
            description: 'Regex to exclude CPU names.'
        - macro: '{$CISCO.FTD.LLD.FILTER.FSMOUNT.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable filesystems by mount point.'
          config:
            type: TEXT
            priority: '29'
            section_name: 'Discovery filters'
            label: 'Filesystem mount matches'
            description: 'Regex to match filesystem mount points.'
        - macro: '{$CISCO.FTD.LLD.FILTER.FSMOUNT.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered filesystems by mount point.'
          config:
            type: TEXT
            priority: '30'
            section_name: 'Discovery filters'
            label: 'Filesystem mount not matches'
            description: 'Regex to exclude filesystem mount points.'
        - macro: '{$CISCO.FTD.LLD.FILTER.FSNAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable filesystems by name.'
          config:
            type: TEXT
            priority: '27'
            section_name: 'Discovery filters'
            label: 'Filesystem name matches'
            description: 'Regex to match filesystems.'
        - macro: '{$CISCO.FTD.LLD.FILTER.FSNAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered filesystems by name.'
          config:
            type: TEXT
            priority: '28'
            section_name: 'Discovery filters'
            label: 'Filesystem name not matches'
            description: 'Regex to exclude filesystems.'
        - macro: '{$CISCO.FTD.LLD.FILTER.IF.DESCR.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable interface descriptions.'
          config:
            type: TEXT
            priority: '13'
            section_name: 'Discovery filters'
            label: 'Interface description matches'
            description: 'Regex to match interface descriptions.'
        - macro: '{$CISCO.FTD.LLD.FILTER.IF.DESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered interfaces by description.'
          config:
            type: TEXT
            priority: '14'
            section_name: 'Discovery filters'
            label: 'Interface description not matches'
            description: 'Regex to exclude interface descriptions.'
        - macro: '{$CISCO.FTD.LLD.FILTER.IF.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable interface names.'
          config:
            type: TEXT
            priority: '11'
            section_name: 'Discovery filters'
            label: 'Interface name matches'
            description: 'Regex to match discoverable interfaces.'
        - macro: '{$CISCO.FTD.LLD.FILTER.IF.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered interfaces by name.'
          config:
            type: TEXT
            priority: '12'
            section_name: 'Discovery filters'
            label: 'Interface name not matches'
            description: 'Regex to exclude interfaces.'
        - macro: '{$CISCO.FTD.LLD.FILTER.PROCESS.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable processes by name.'
          config:
            type: TEXT
            priority: '23'
            section_name: 'Discovery filters'
            label: 'Process name matches'
            description: 'Regex to match process names.'
        - macro: '{$CISCO.FTD.LLD.FILTER.PROCESS.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered processes by name.'
          config:
            type: TEXT
            priority: '24'
            section_name: 'Discovery filters'
            label: 'Process name not matches'
            description: 'Regex to exclude process names.'
        - macro: '{$CISCO.FTD.LLD.FILTER.SENSOR.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable temperature sensors by name.'
          config:
            type: TEXT
            priority: '25'
            section_name: 'Discovery filters'
            label: 'Sensor name matches'
            description: 'Regex to match temperature sensors.'
        - macro: '{$CISCO.FTD.LLD.FILTER.SENSOR.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered temperature sensors by name.'
          config:
            type: TEXT
            priority: '26'
            section_name: 'Discovery filters'
            label: 'Sensor name not matches'
            description: 'Regex to exclude temperature sensors.'
        - macro: '{$CISCO.FTD.LLD.FILTER.SNORT.ID.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable Snort and IDS/IPS statistics by name.'
          config:
            type: TEXT
            priority: '19'
            section_name: 'Discovery filters'
            label: 'Snort ID matches'
            description: 'Regex to match Snort/IDS/IPS stats.'
        - macro: '{$CISCO.FTD.LLD.FILTER.SNORT.ID.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered Snort and IDS/IPS statistics by name.'
          config:
            type: TEXT
            priority: '20'
            section_name: 'Discovery filters'
            label: 'Snort ID not matches'
            description: 'Regex to exclude Snort/IDS/IPS stats.'
        - macro: '{$CISCO.FTD.LLD.FILTER.THROUGHPUT.INTERFACE.NAME.MATCHES}'
          value: '.*'
          description: 'Filter for discoverable throughput interfaces by name.'
          config:
            type: TEXT
            priority: '9'
            section_name: 'Discovery filters'
            label: 'Throughput interface name matches'
            description: 'Regex to match discoverable throughput interfaces.'
        - macro: '{$CISCO.FTD.LLD.FILTER.THROUGHPUT.INTERFACE.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discoverable throughput interfaces by name.'
          config:
            type: TEXT
            priority: '10'
            section_name: 'Discovery filters'
            label: 'Throughput interface name not matches'
            description: 'Regex to exclude throughput interfaces.'
        - macro: '{$CISCO.FTD.MEMORY.UTIL.WARN}'
          value: '80'
          description: 'Warning threshold for FTD memory utilization, expressed as a percentage.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Memory utilization warning threshold'
            description: 'Warning threshold for memory utilization (%).'
        - macro: '{$CISCO.FTD.TEMP.CRIT}'
          value: '60'
          description: 'Critical threshold for the temperature sensor trigger. Can be used with the interface name as context.'
          config:
            type: TEXT
            priority: '31'
            section_name: Thresholds
            label: 'Temperature critical threshold'
            description: 'Critical threshold for temperature sensors.'
        - macro: '{$CISCO.FTD.TEMP.WARN}'
          value: '50'
          description: 'Warning threshold for the temperature sensor trigger. Can be used with the interface name as context.'
          config:
            type: TEXT
            priority: '32'
            section_name: Thresholds
            label: 'Temperature warning threshold'
            description: 'Warning threshold for temperature sensors.'
      dashboards:
        - uuid: 2433c7593dee4824b3f5ce1209bc5311
          name: 'Cisco Secure FTD: General'
          pages:
            - name: Overview
              widgets:
                - type: item
                  width: '24'
                  height: '3'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.model
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: INTEGER
                      name: value_size
                      value: '20'
                - type: svggraph
                  name: Throughput
                  'y': '3'
                  width: '72'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 1565C0
                    - type: STRING
                      name: ds.0.items.0
                      value: '*Throughput'
                    - type: STRING
                      name: reference
                      value: RNVBR
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: Events
                  'y': '8'
                  width: '18'
                  height: '6'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: 1565C0
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.events.rate
                    - type: INTEGER
                      name: lefty
                      value: '0'
                    - type: STRING
                      name: reference
                      value: IMFOK
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: gauge
                  name: 'CPU usage'
                  x: '18'
                  'y': '8'
                  width: '19'
                  height: '6'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.cpu.utilization
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: INTEGER
                      name: show.1
                      value: '4'
                    - type: INTEGER
                      name: show.2
                      value: '5'
                    - type: STRING
                      name: thresholds.0.color
                      value: 2196F3
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: FF8000
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '60'
                    - type: STRING
                      name: thresholds.2.color
                      value: FF465C
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '80'
                    - type: INTEGER
                      name: th_arc_size
                      value: '20'
                    - type: INTEGER
                      name: th_show_arc
                      value: '1'
                    - type: INTEGER
                      name: units_bold
                      value: '1'
                    - type: INTEGER
                      name: units_size
                      value: '20'
                    - type: INTEGER
                      name: value_bold
                      value: '1'
                    - type: INTEGER
                      name: value_size
                      value: '20'
                - type: item
                  x: '24'
                  width: '24'
                  height: '3'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.software.version
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: INTEGER
                      name: value_size
                      value: '20'
                - type: gauge
                  name: 'Memory usage'
                  x: '37'
                  'y': '8'
                  width: '18'
                  height: '6'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.memory.utilization
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: INTEGER
                      name: show.1
                      value: '4'
                    - type: INTEGER
                      name: show.2
                      value: '5'
                    - type: STRING
                      name: thresholds.0.color
                      value: 9CCC65
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: FF8000
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '60'
                    - type: STRING
                      name: thresholds.2.color
                      value: FF465C
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '80'
                    - type: INTEGER
                      name: th_arc_size
                      value: '20'
                    - type: INTEGER
                      name: th_show_arc
                      value: '1'
                    - type: INTEGER
                      name: units_bold
                      value: '1'
                    - type: INTEGER
                      name: units_size
                      value: '20'
                    - type: INTEGER
                      name: value_bold
                      value: '1'
                    - type: INTEGER
                      name: value_size
                      value: '20'
                - type: item
                  x: '48'
                  width: '24'
                  height: '3'
                  fields:
                    - type: INTEGER
                      name: decimal_places
                      value: '0'
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.uptime
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: INTEGER
                      name: value_size
                      value: '20'
                - type: piechart
                  name: 'Disk Usage'
                  x: '55'
                  'y': '8'
                  width: '17'
                  height: '6'
                  fields:
                    - type: INTEGER
                      name: decimal_places
                      value: '0'
                    - type: INTEGER
                      name: draw_type
                      value: '1'
                    - type: STRING
                      name: ds.0.color.0
                      value: 7CB342
                    - type: STRING
                      name: ds.0.color.1
                      value: 1E88E5
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: STRING
                      name: ds.0.data_set_label
                      value: Total
                    - type: ITEM
                      name: ds.0.itemids.0
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.storage.free
                    - type: ITEM
                      name: ds.0.itemids.1
                      value:
                        host: 'Cisco Secure Firewall Threat Defense by HTTP'
                        key: cisco.ftd.storage.usage
                    - type: INTEGER
                      name: ds.0.type.0
                      value: '0'
                    - type: INTEGER
                      name: ds.0.type.1
                      value: '0'
                    - type: INTEGER
                      name: legend_lines
                      value: '2'
                    - type: INTEGER
                      name: legend_lines_mode
                      value: '1'
                    - type: INTEGER
                      name: legend_value
                      value: '1'
                    - type: INTEGER
                      name: space
                      value: '2'
                    - type: INTEGER
                      name: stroke
                      value: '1'
                    - type: INTEGER
                      name: total_show
                      value: '1'
                    - type: STRING
                      name: units
                      value: B
                    - type: INTEGER
                      name: units_show
                      value: '1'
                    - type: STRING
                      name: value_color
                      value: 607D8B
            - name: 'System Performance'
              widgets:
                - type: svggraph
                  name: 'CPU utilization per core'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 5E35B1
                    - type: STRING
                      name: ds.0.items.0
                      value: 'CPU [cpu*] utilization'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: INTEGER
                      name: legend_lines
                      value: '4'
                    - type: STRING
                      name: reference
                      value: IKAPW
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'CPU utilization Lina'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: '795548'
                    - type: STRING
                      name: ds.0.items.0
                      value: 'CPU [lina*] utilization'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: STRING
                      name: reference
                      value: PRPGG
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'CPU utilization Snort'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 78909C
                    - type: STRING
                      name: ds.0.items.0
                      value: 'CPU [snort*] utilization'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: STRING
                      name: reference
                      value: NDYCL
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Space usage, in %'
                  'y': '15'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 455A64
                    - type: STRING
                      name: ds.0.items.0
                      value: 'FS [dev*][*]: Space used, in %'
                    - type: STRING
                      name: reference
                      value: WZKDT
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Memory utilization'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 689F38
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Memory [system] utilization'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: STRING
                      name: ds.1.color
                      value: 0D47A1
                    - type: STRING
                      name: ds.1.items.0
                      value: 'Memory [swap] utilization'
                    - type: INTEGER
                      name: legend_lines
                      value: '4'
                    - type: STRING
                      name: reference
                      value: MUDCJ
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Memory utilization Lina'
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: AC3C00
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Memory [lina] utilization'
                    - type: STRING
                      name: reference
                      value: FHFQK
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Memory utilization Snort'
                  x: '36'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 9575CD
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Memory [snort] utilization'
                    - type: STRING
                      name: reference
                      value: HFJKY
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Space utilization chart'
                  x: '36'
                  'y': '15'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 43A047
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Disc space: Total'
                    - type: STRING
                      name: ds.1.color
                      value: 6D4C41
                    - type: STRING
                      name: ds.1.items.0
                      value: 'Disc space: Used'
                    - type: STRING
                      name: reference
                      value: XKVPS
                    - type: INTEGER
                      name: righty
                      value: '0'
            - name: Interfaces
              widgets:
                - type: svggraph
                  name: 'Output packets'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 5E35B1
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Interface *: Output packets'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: INTEGER
                      name: legend_lines
                      value: '4'
                    - type: STRING
                      name: reference
                      value: FFCAF
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Output errors'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: '795548'
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Interface *: Output errors'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: STRING
                      name: reference
                      value: FCDDA
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Incoming traffic'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 78909C
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Interface *: Incoming traffic'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: STRING
                      name: reference
                      value: FEECA
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Input packets'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 0D47A1
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Interface *: Input packets'
                    - type: INTEGER
                      name: legend_lines
                      value: '4'
                    - type: STRING
                      name: reference
                      value: AEBCF
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Input errors'
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: AC3C00
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Interface *: Input errors'
                    - type: STRING
                      name: reference
                      value: ACDAE
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Outgoing traffic'
                  x: '36'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 9575CD
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Interface *: Outgoing traffic'
                    - type: STRING
                      name: reference
                      value: AEBFA
                    - type: INTEGER
                      name: righty
                      value: '0'
            - name: 'Connections & NAT'
              widgets:
                - type: svggraph
                  name: 'Active Connections'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 43A047
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Statistic [connection][in_use]'
                    - type: INTEGER
                      name: ds.0.width
                      value: '2'
                    - type: STRING
                      name: ds.1.color
                      value: 1565C0
                    - type: STRING
                      name: ds.1.items.0
                      value: 'Statistic [connection][most_used]'
                    - type: STRING
                      name: reference
                      value: TLDCU
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Connections Per Second'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 0D47A1
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Statistic [cps][all]'
                    - type: STRING
                      name: ds.1.color
                      value: 00897B
                    - type: STRING
                      name: ds.1.items.0
                      value: 'Statistic [cps][tcp]'
                    - type: STRING
                      name: ds.2.color
                      value: F9A825
                    - type: STRING
                      name: ds.2.items.0
                      value: 'Statistic [cps][udp]'
                    - type: STRING
                      name: reference
                      value: GNLNM
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'NAT Translations'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 546E7A
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Statistic [xlate][in_use]'
                    - type: STRING
                      name: ds.1.color
                      value: 5E35B1
                    - type: STRING
                      name: ds.1.items.0
                      value: 'Statistic [xlate][most_used]'
                    - type: STRING
                      name: reference
                      value: BDOAF
                    - type: INTEGER
                      name: righty
                      value: '0'
                - type: svggraph
                  name: 'Preserve Connection'
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: ds.0.color
                      value: 0D47A1
                    - type: STRING
                      name: ds.0.items.0
                      value: 'Statistic [preserve_connection][enabled]'
                    - type: STRING
                      name: ds.1.color
                      value: 00897B
                    - type: STRING
                      name: ds.1.items.0
                      value: 'Statistic [preserve_connection][in_effect]'
                    - type: STRING
                      name: ds.2.color
                      value: F9A825
                    - type: STRING
                      name: ds.2.items.0
                      value: 'Statistic [preserve_connection][most_enabled]'
                    - type: STRING
                      name: ds.3.color
                      value: 8E24AA
                    - type: STRING
                      name: ds.3.items.0
                      value: 'Statistic [preserve_connection][most_in_effect]'
                    - type: STRING
                      name: reference
                      value: MMTRY
                    - type: INTEGER
                      name: righty
                      value: '0'
            - name: 'ASP Drop Reasons'
              widgets:
                - type: itemnavigator
                  width: '26'
                  height: '8'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'ASP [*]'
                    - type: STRING
                      name: reference
                      value: HPCOY
                - type: svggraph
                  x: '26'
                  width: '45'
                  height: '8'
                  fields:
                    - type: STRING
                      name: ds.0.color.0
                      value: 43A047
                    - type: INTEGER
                      name: ds.0.dataset_type
                      value: '0'
                    - type: STRING
                      name: ds.0.itemids.0._reference
                      value: HPCOY._itemid
                    - type: STRING
                      name: reference
                      value: OEAQY
                    - type: INTEGER
                      name: righty
                      value: '0'
            - name: 'Status Processes'
              widgets:
                - type: honeycomb
                  name: Status
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'Process [*]: Status'
                    - type: STRING
                      name: primary_label
                      value: '{ITEM.NAME}'
                    - type: STRING
                      name: reference
                      value: YWRAS
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                    - type: STRING
                      name: thresholds.0.color
                      value: FF465C
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: 0EC9AC
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '1'
                    - type: STRING
                      name: thresholds.2.color
                      value: FFD54F
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '3'
                - type: honeycomb
                  name: Uptime
                  'y': '6'
                  width: '72'
                  height: '6'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'Process [*]: Uptime'
                    - type: STRING
                      name: primary_label
                      value: '{ITEM.NAME}'
                    - type: INTEGER
                      name: primary_label_bold
                      value: '1'
                    - type: STRING
                      name: reference
                      value: AGOOH
                - type: honeycomb
                  name: 'Restart count'
                  x: '36'
                  width: '36'
                  height: '6'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'Process [*]: Restart count'
                    - type: STRING
                      name: primary_label
                      value: '{ITEM.NAME}'
                    - type: STRING
                      name: reference
                      value: XGHBR
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
            - name: Sensors
              widgets:
                - type: itemnavigator
                  name: Temperature
                  width: '10'
                  height: '5'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'Temperature [*]'
                    - type: STRING
                      name: reference
                      value: PSLAX
                - type: gauge
                  x: '10'
                  width: '14'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: angle
                      value: '270'
                    - type: STRING
                      name: description
                      value: '{ITEM.VALUE}'
                    - type: STRING
                      name: itemid._reference
                      value: PSLAX._itemid
                    - type: INTEGER
                      name: scale_size
                      value: '10'
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '3'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                    - type: INTEGER
                      name: show.3
                      value: '5'
                    - type: STRING
                      name: thresholds.0.color
                      value: CFD8DC
                    - type: STRING
                      name: thresholds.0.threshold
                      value: '0'
                    - type: STRING
                      name: thresholds.1.color
                      value: 42A5F5
                    - type: STRING
                      name: thresholds.1.threshold
                      value: '10'
                    - type: STRING
                      name: thresholds.2.color
                      value: 4CAF50
                    - type: STRING
                      name: thresholds.2.threshold
                      value: '20'
                    - type: STRING
                      name: thresholds.3.color
                      value: FDD835
                    - type: STRING
                      name: thresholds.3.threshold
                      value: '40'
                    - type: STRING
                      name: thresholds.4.color
                      value: EF6C00
                    - type: STRING
                      name: thresholds.4.threshold
                      value: '60'
                    - type: STRING
                      name: thresholds.5.color
                      value: F44336
                    - type: STRING
                      name: thresholds.5.threshold
                      value: '80'
                    - type: INTEGER
                      name: th_arc_size
                      value: '10'
                    - type: INTEGER
                      name: th_show_arc
                      value: '1'
                    - type: INTEGER
                      name: th_show_labels
                      value: '1'
                    - type: INTEGER
                      name: value_arc_size
                      value: '10'
                - type: itemnavigator
                  name: 'Power supply'
                  x: '24'
                  width: '10'
                  height: '5'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'Power supply [*]'
                    - type: STRING
                      name: reference
                      value: ZSYHY
                - type: gauge
                  x: '34'
                  width: '14'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: angle
                      value: '270'
                    - type: STRING
                      name: description
                      value: '{ITEM.VALUE}'
                    - type: STRING
                      name: itemid._reference
                      value: ZSYHY._itemid
                    - type: STRING
                      name: max
                      value: '400'
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '4'
                    - type: INTEGER
                      name: show.2
                      value: '5'
                    - type: STRING
                      name: value_arc_color
                      value: 00796B
                    - type: INTEGER
                      name: value_arc_size
                      value: '30'
                - type: itemnavigator
                  name: Fan
                  x: '48'
                  width: '11'
                  height: '5'
                  fields:
                    - type: STRING
                      name: items.0
                      value: 'Fan speed [*]'
                    - type: STRING
                      name: reference
                      value: YMRVB
                - type: gauge
                  x: '59'
                  width: '13'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: angle
                      value: '270'
                    - type: STRING
                      name: description
                      value: '{ITEM.VALUE}'
                    - type: STRING
                      name: itemid._reference
                      value: YMRVB._itemid
                    - type: STRING
                      name: max
                      value: '22000'
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '3'
                    - type: INTEGER
                      name: show.2
                      value: '4'
                    - type: INTEGER
                      name: show.3
                      value: '5'
                    - type: STRING
                      name: value_arc_color
                      value: 1E88E5
                    - type: INTEGER
                      name: value_arc_size
                      value: '30'
      valuemaps:
        - uuid: b141de8aea904aef8eeb955fe7d09bd6
          name: 'Cisco FTD interface status'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 2a34dceeb32d44e39be2037a85b9dcb7
          name: 'Cisco FTD process status'
          mappings:
            - value: '1'
              newvalue: STOPPED
            - value: '2'
              newvalue: RUNNING
            - value: '3'
              newvalue: FAILED
            - value: '4'
              newvalue: UNKNOWN
            - value: '5'
              newvalue: RESTARTING
    - uuid: d50f6dcfc3e44244a0fc9fd933607024
      template: 'HPE iLO by HTTP'
      name: 'HPE iLO by HTTP'
      description: |
        This template is designed for the effortless deployment of HPE iLO monitoring by Zabbix via iLO RESTful API and doesn't require any external scripts.
        
        Setup:
        
        1. Create the iLO user for monitoring (for example, `zbx_monitor`). The user will only need to have the `Login` privilege, which can be assigned manually or by assigning the `ReadOnly` role to the user.
        2. Set the iLO API endpoint URL in the `{$ILO.URL}` macro in the format `<scheme>://<host>[:port]/` (port is optional).
        3. Set the name of the user that you created in step 1 in the `{$ILO.USER}` macro.
        4. Set the password of the user that you created in step 1 in the `{$ILO.PASSWORD}` macro.
        
        For more details about HPE Redfish services, refer to the official documentation:
        https://servermanagementportal.ext.hpe.com/docs/redfishservices/
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This template is designed for the effortless deployment of HPE iLO monitoring by Zabbix via iLO RESTful API and doesn't require any external scripts.
        
        For more details about HPE Redfish services, refer to the [`official documentation`](https://servermanagementportal.ext.hpe.com/docs/redfishservices/).
        
        ## Setup
        
        1. Create the iLO user for monitoring (for example, `zbx_monitor`). The user will only need to have the `Login` privilege, which can be assigned manually or by assigning the `ReadOnly` role to the user.
        2. Set the iLO API endpoint URL in the `Address` host wizard configuration field in the format `<scheme>://<host>[:port]/` (port is optional).
        3. Set the name of the user that you created in step 1 in the `Username` host wizard configuration field.
        4. Set the password of the user that you created in step 1 in the `Password` host wizard configuration field.
      vendor:
        name: Zabbix
        version: 8.0-1
      groups:
        - name: 'Templates/Server hardware'
      items:
        - uuid: 3c2d368291294faa98c01a27f36ad805
          name: 'Get data'
          type: SCRIPT
          key: hpe.ilo.get_data
          delay: '{$ILO.INTERVAL}'
          history: '0'
          value_type: TEXT
          params: |
            var ilo = {
            	params: {},
            	session_token: "",
            	session_url: "",
            
            	setParams: function (params) {
            		['ilo_url', 'user', 'password'].forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined'
            				|| params[field] === '') {
            				throw 'Required parameter is not set: "' + field + '".';
            			}
            		});
            
            		ilo.params = params;
            
            		if (typeof ilo.params.ilo_url === 'string' && !ilo.params.ilo_url.endsWith('/')) {
            			ilo.params.ilo_url += '/';
            		}
            	},
            
            	apiAuth: function () {
            		var request = new HttpRequest(),
            			response,
            			headers,
            			url = encodeURI(ilo.params.ilo_url + 'redfish/v1/SessionService/Sessions/'),
            			auth_data = {
            				UserName: ilo.params.user,
            				Password: ilo.params.password
            			};
            
            		request.addHeader('Content-Type: application/json');
            		request.addHeader('Authorization: Basic ' + btoa(ilo.params.user + ':' + ilo.params.password));
            
            		if (typeof ilo.params.http_proxy !== 'undefined' && ilo.params.http_proxy !== '') {
            			request.setProxy(ilo.params.http_proxy);
            			Zabbix.log(4, '[ HPE iLO ] Using HTTP proxy: ' + ilo.params.http_proxy);
            		}
            
            		Zabbix.log(4, '[ HPE iLO ] Sending request: ' + url);
            
            		response = request.post(url, JSON.stringify(auth_data));
            
            		Zabbix.log(4, '[ HPE iLO ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() != 201) {
            			throw 'Authentication failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			response = JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse auth response received from API. Check debug log for more information.';
            		}
            
            		try {
            			headers = request.getHeaders();
            		}
            		catch (error) {
            			throw 'Failed to parse auth headers received from API. Check debug log for more information.';
            		}
            
            		try {
            			ilo.session_token = headers['X-Auth-Token'];
            			ilo.session_url = headers['Location'];
            		}
            		catch (error) {
            			throw 'Failed to retrieve auth token or session URL from API. Check debug log for more information.';
            		}
            
            		delete request;
            	},
            
            	apiLogout: function () {
            		var request = new HttpRequest(),
            			response,
            			url = encodeURI(ilo.session_url);
            
            		request.addHeader('X-Auth-Token: ' + ilo.session_token);
            
            		if (typeof ilo.params.http_proxy !== 'undefined' && ilo.params.http_proxy !== '') {
            			request.setProxy(ilo.params.http_proxy);
            			Zabbix.log(4, '[ HPE iLO ] Using HTTP proxy: ' + ilo.params.http_proxy);
            		}
            
            		Zabbix.log(4, '[ HPE iLO ] Sending request: ' + url);
            
            		response = request.delete(url);
            
            		Zabbix.log(4, '[ HPE iLO ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() != 200) {
            			throw 'Deleting of session failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		delete request;
            	},
            
            	apiRequest: function (query) {
            		var request = new HttpRequest(),
            			response,
            			url = encodeURI(ilo.params.ilo_url + query);
            
            		if (typeof ilo.params.http_proxy !== 'undefined' && ilo.params.http_proxy !== '') {
            			request.setProxy(ilo.params.http_proxy);
            			Zabbix.log(4, '[ HPE iLO ] Using HTTP proxy: ' + ilo.params.http_proxy);
            		}
            
            		request.addHeader('X-Auth-Token: ' + ilo.session_token);
            
            		Zabbix.log(4, '[ HPE iLO ] Sending request: ' + url);
            
            		response = request.get(url);
            
            		Zabbix.log(4, '[ HPE iLO ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            		if (request.getStatus() < 200 || request.getStatus() >= 300) {
            			throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            		}
            
            		try {
            			response = JSON.parse(response);
            		}
            		catch (error) {
            			throw 'Failed to parse response received from API. Check debug log for more information.';
            		}
            
            		delete request;
            
            		return response;
            	},
            
            	checkArray: function (array) {
            		return typeof array !== 'undefined' && Array.isArray(array) && array.length > 0 ? true : false;
            	}
            };
            
            try {
            	ilo.setParams(JSON.parse(value));
            	ilo.apiAuth();
            	var systems = [],
            		storages = [],
            		controllers = [],
            		drives = [],
            		volumes = [],
            		chassis = [],
            		fans = [],
            		sensors = [],
            		psu = [],
            		managers = [];
            
            	var get_systems = ilo.apiRequest('redfish/v1/Systems?$expand=.');
            
            	if (ilo.checkArray(get_systems.Members)) {
            		for (i in get_systems.Members) {
            			if ('Id' in get_systems.Members[i]) {
            				if (get_systems.Members[i].HostName === null) {
            					get_systems.Members[i].HostName = get_systems.Members[i].Id;
            				}
            
            				systems.push(get_systems.Members[i]);
            
            				var system_storages = ilo.apiRequest('redfish/v1/Systems/' + get_systems.Members[i].Id + '/Storage?$expand=.');
            
            				if (ilo.checkArray(system_storages.Members)) {
            					for (j in system_storages.Members) {
            						system_storages.Members[j].systemHostname = get_systems.Members[i].HostName;
            						system_storages.Members[j].systemType = get_systems.Members[i].SystemType;
            						system_storages.Members[j].systemId = get_systems.Members[i].Id;
            
            						storages.push(system_storages.Members[j]);
            
            						if ('Id' in system_storages.Members[j]) {
            							var storage_controllers = ilo.apiRequest('redfish/v1/Systems/' + get_systems.Members[i].Id + '/Storage/' + system_storages.Members[j].Id + '/Controllers?$expand=.');
            
            							if (ilo.checkArray(storage_controllers.Members)) {
            								for (k in storage_controllers.Members) {
            									storage_controllers.Members[k].systemHostname = get_systems.Members[i].HostName;
            									storage_controllers.Members[k].systemType = get_systems.Members[i].SystemType;
            									storage_controllers.Members[k].systemId = get_systems.Members[i].Id;
            									storage_controllers.Members[k].storageId = system_storages.Members[j].Id;
            
            									controllers.push(storage_controllers.Members[k]);
            								}
            							}
            
            							var storage_drives = ilo.apiRequest('redfish/v1/Systems/' + get_systems.Members[i].Id + '/Storage/' + system_storages.Members[j].Id + '?$expand=.');
            
            							if (ilo.checkArray(storage_drives.Drives)) {
            								for (k in storage_drives.Drives) {
            									storage_drives.Drives[k].systemHostname = get_systems.Members[i].HostName;
            									storage_drives.Drives[k].systemType = get_systems.Members[i].SystemType;
            									storage_drives.Drives[k].systemId = get_systems.Members[i].Id;
            									storage_drives.Drives[k].storageId = system_storages.Members[j].Id;
            
            									drives.push(storage_drives.Drives[k]);
            								}
            							}
            
            							if ('Volumes' in system_storages.Members[j]) {
            								var storage_volumes = ilo.apiRequest('redfish/v1/Systems/' + get_systems.Members[i].Id + '/Storage/' + system_storages.Members[j].Id + '/Volumes?$expand=.');
            
            								if (ilo.checkArray(storage_volumes.Members)) {
            									for (k in storage_volumes.Members) {
            										storage_volumes.Members[k].systemHostname = get_systems.Members[i].HostName;
            										storage_volumes.Members[k].systemType = get_systems.Members[i].SystemType;
            										storage_volumes.Members[k].systemId = get_systems.Members[i].Id;
            										storage_volumes.Members[k].storageId = system_storages.Members[j].Id;
            
            										volumes.push(storage_volumes.Members[k]);
            									}
            								}
            							}
            						}
            					}
            				}
            			}
            		}
            	}
            
            	var get_chassis = ilo.apiRequest('redfish/v1/Chassis?$expand=.');
            
            	if (ilo.checkArray(get_chassis.Members)) {
            		for (i in get_chassis.Members) {
            			if ('Id' in get_chassis.Members[i]) {
            				chassis.push(get_chassis.Members[i]);
            
            				chassis_thermal = ilo.apiRequest('redfish/v1/Chassis/' + get_chassis.Members[i].Id + '/Thermal/');
            
            				if (ilo.checkArray(chassis_thermal.Fans)) {
            					for (j in chassis_thermal.Fans) {
            						chassis_thermal.Fans[j].chassisId = get_chassis.Members[i].Id;
            
            						fans.push(chassis_thermal.Fans[j]);
            					}
            				}
            
            				if (ilo.checkArray(chassis_thermal.Temperatures)) {
            					for (j in chassis_thermal.Temperatures) {
            						chassis_thermal.Temperatures[j].chassisId = get_chassis.Members[i].Id;
            
            						sensors.push(chassis_thermal.Temperatures[j]);
            					}
            				}
            
            				chassis_power = ilo.apiRequest('redfish/v1/Chassis/' + get_chassis.Members[i].Id + '/Power/');
            
            				if (ilo.checkArray(chassis_power.PowerSupplies)) {
            					for (j in chassis_power.PowerSupplies) {
            						chassis_power.PowerSupplies[j].chassisId = get_chassis.Members[i].Id;
            
            						psu.push(chassis_power.PowerSupplies[j]);
            					}
            				}
            			}
            		}
            	}
            
            	var get_managers = ilo.apiRequest('redfish/v1/Managers?$expand=.');
            
            	if (ilo.checkArray(get_managers.Members)) {
            		for (i in get_managers.Members) {
            			if ('Id' in get_managers.Members[i]) {
            				managers.push(get_managers.Members[i]);
            			}
            		}
            	}
            
            	ilo.apiLogout();
            
            	return JSON.stringify({
            		'systems': systems,
            		'storages': storages,
            		'controllers': controllers,
            		'drives': drives,
            		'volumes': volumes,
            		'chassis': chassis,
            		'fans': fans,
            		'sensors': sensors,
            		'psu': psu,
            		'managers': managers
            	});
            }
            catch (error) {
            	error += (String(error).endsWith('.')) ? '' : '.';
            	Zabbix.log(3, '[ HPE iLO ] ERROR: ' + error);
            	return JSON.stringify({ error: error });
            }
          description: 'The JSON with the result of API requests.'
          timeout: '{$ILO.TIMEOUT}'
          parameters:
            - name: http_proxy
              value: '{$ILO.HTTP_PROXY}'
            - name: ilo_url
              value: '{$ILO.URL}'
            - name: password
              value: '{$ILO.PASSWORD}'
            - name: user
              value: '{$ILO.USER}'
          tags:
            - tag: component
              value: raw
        - uuid: 7378f10ce1314462ba2f9d80562f5430
          name: 'Get data check'
          type: DEPENDENT
          key: hpe.ilo.get_data.check
          value_type: CHAR
          description: 'The data collection check.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: CUSTOM_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
          master_item:
            key: hpe.ilo.get_data
          tags:
            - tag: component
              value: status
          triggers:
            - uuid: b3327a76234b4ac6b049dec49bdd6a78
              expression: 'length(last(/HPE iLO by HTTP/hpe.ilo.get_data.check))>0'
              name: 'HPE iLO: Failed to get data from API'
              priority: HIGH
              description: 'Failed to get data from API. Check the debug log for more information.'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: cffc30494f1140eb88e67c38cca64243
          name: 'HPE iLO: Computer systems discovery'
          type: DEPENDENT
          key: hpe.ilo.computer_systems.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.MATCHES:"System"}'
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.NOT_MATCHES:"System"}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.MATCHES:"System"}'
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.NOT_MATCHES:"System"}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovers computer systems.'
          item_prototypes:
            - uuid: 2815e03a856e4c0389ee2fb545d6c97f
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: BIOS current version'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.bios.current_version[{#SYSTEM_ID}]'
              value_type: CHAR
              description: 'The current BIOS version of the computer system.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Oem.Hpe.Bios.Current.VersionString
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: inventory
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
              trigger_prototypes:
                - uuid: 2f207309d0724a2e8e93c13967fc8eed
                  expression: 'change(/HPE iLO by HTTP/hpe.ilo.computer_system.bios.current_version[{#SYSTEM_ID}])=1 and length(last(/HPE iLO by HTTP/hpe.ilo.computer_system.bios.current_version[{#SYSTEM_ID}]))>0'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: BIOS version has changed'
                  event_name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: BIOS version has changed (new version: {ITEM.VALUE})'
                  priority: INFO
                  description: 'The current version of BIOS has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 4c05d540ca87440bbf251bdf61d31a5d
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the computer system.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.systems[?(@.Id == ''{#SYSTEM_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: raw
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
            - uuid: cd7fc29d4de64b0f8fb754451d5764e3
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Model'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.model[{#SYSTEM_ID}]'
              value_type: CHAR
              description: 'The model name of the computer system.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Model
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: inventory
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
            - uuid: 74a4746fec48417bb5e1ce6f341936f4
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Serial number'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.serial_number[{#SYSTEM_ID}]'
              value_type: CHAR
              description: 'The serial number of the computer system.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.SerialNumber
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: inventory
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
              trigger_prototypes:
                - uuid: 060a4bcb1cdd463884fd95272464530d
                  expression: 'change(/HPE iLO by HTTP/hpe.ilo.computer_system.serial_number[{#SYSTEM_ID}])=1 and length(last(/HPE iLO by HTTP/hpe.ilo.computer_system.serial_number[{#SYSTEM_ID}]))>0'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Computer system has been replaced'
                  priority: INFO
                  description: 'The computer system serial number has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 30a1ab95416a42779abe242ac264d813
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.status[{#SYSTEM_ID}]'
              description: |
                The overall health state from the view of this computer system. Possible values:
                
                0 - "OK", the computer system is in normal condition;
                1 - "Warning", the computer system is in condition that requires attention;
                2 - "Critical", the computer system is in critical condition that requires immediate attention;
                10 - "Unknown", the computer system is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.HealthRollup
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: health
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
              trigger_prototypes:
                - uuid: 438fdce5e1374b5a94b0206cdd4a2728
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.computer_system.status[{#SYSTEM_ID}])=2'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Computer system is in critical state'
                  priority: HIGH
                  description: 'The computer system is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 704b86207b3a443a8359b3d75c92d0b4
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.computer_system.status[{#SYSTEM_ID}])=1'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Computer system is in warning state'
                  priority: WARNING
                  description: 'The computer system is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Computer system is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.computer_system.status[{#SYSTEM_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 09d4a47c8ba94c4c83e47bbd58ec6cc7
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: System type'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.type[{#SYSTEM_ID}]'
              description: |
                The type of the computer system. Possible values:
                
                0 - "Physical", a computer system;
                1 - "Virtual", a virtual machine instance running on this system;
                2 - "OS", an operating system instance;
                3 - "PhysicallyPartitioned", a hardware-based partition of a computer system;
                4 - "VirtuallyPartitioned", a virtual or software-based partition of a computer system;
                5 - "DPU", a virtual or software-based partition of a computer system;
                10 - "Unknown", the computer system type is unknown.
              valuemap:
                name: 'Computer system type'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.SystemType
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'Physical',
                      	'Virtual',
                      	'OS',
                      	'PhysicallyPartitioned',
                      	'VirtuallyPartitioned',
                      	'DPU'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: inventory
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
            - uuid: 19cb6014269c4e548daa07526c0eac95
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: CPU utilization, in %'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.usage.cpu_util[{#SYSTEM_ID}]'
              units: '%'
              description: 'Current CPU utilization of the computer system in percentage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Oem.Hpe.SystemUsage.CPUUtil
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: cpu
                - tag: component
                  value: performance
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
            - uuid: 7c71b7e1963c499d8a4151aba47da539
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: I/O bus utilization, in %'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.usage.io_bus_util[{#SYSTEM_ID}]'
              units: '%'
              description: 'Current I/O bus utilization of the computer system in percentage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Oem.Hpe.SystemUsage.IOBusUtil
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: performance
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
            - uuid: 13b463539dbb4692a4635bdef2a76367
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Memory bus utilization, in %'
              type: DEPENDENT
              key: 'hpe.ilo.computer_system.usage.memory_bus_util[{#SYSTEM_ID}]'
              units: '%'
              description: 'Current memory bus utilization of the computer system in percentage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Oem.Hpe.SystemUsage.MemoryBusUtil
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'hpe.ilo.computer_system.get_data[{#SYSTEM_ID}]'
              tags:
                - tag: component
                  value: computer-system
                - tag: component
                  value: memory
                - tag: component
                  value: performance
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
          graph_prototypes:
            - uuid: 04f4386139054afea962586af56afd46
              name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Resources usage'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - color: 199C0D
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.computer_system.usage.cpu_util[{#SYSTEM_ID}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.computer_system.usage.io_bus_util[{#SYSTEM_ID}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.computer_system.usage.memory_bus_util[{#SYSTEM_ID}]'
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#SYSTEM_HOSTNAME}'
              path: $.hostname
            - lld_macro: '{#SYSTEM_ID}'
              path: $.system_id
            - lld_macro: '{#SYSTEM_TYPE}'
              path: $.system_type
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var systems = JSON.parse(value).systems;
                  
                  result = systems.map(function (system) {
                  	return {
                  		'hostname': system.HostName,
                  		'system_type': system.SystemType,
                  		'system_id': system.Id
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: bcb9da9c36e94c6f9fe7fbc4ddd96a9e
          name: 'HPE iLO: Controllers discovery'
          type: DEPENDENT
          key: hpe.ilo.controllers.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.MATCHES:"Controller"}'
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.NOT_MATCHES:"Controller"}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.MATCHES:"Controller"}'
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.NOT_MATCHES:"Controller"}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovers storage controllers.'
          item_prototypes:
            - uuid: aa246b9ca7454479b9396851f4be67aa
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.controller.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the controller.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.controllers[?(@.systemId == ''{#SYSTEM_ID}'' && @.storageId == ''{#STORAGE_ID}'' && @.Id == ''{#CONTROLLER_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: component
                  value: controller
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: controller
                  value: '{#CONTROLLER_ID}'
                - tag: location
                  value: '{#CONTROLLER_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: 5aeac2d722a14086b64980e0cd4a985a
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Model'
              type: DEPENDENT
              key: 'hpe.ilo.controller.model[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              value_type: CHAR
              description: 'The model name of the controller.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Model
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.controller.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              tags:
                - tag: component
                  value: controller
                - tag: component
                  value: inventory
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: controller
                  value: '{#CONTROLLER_ID}'
                - tag: location
                  value: '{#CONTROLLER_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: 5a8101bfc94b48d2b67fd6670949ab96
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Serial number'
              type: DEPENDENT
              key: 'hpe.ilo.controller.serial_number[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              value_type: CHAR
              description: 'The serial number of the controller.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.SerialNumber
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.controller.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              tags:
                - tag: component
                  value: controller
                - tag: component
                  value: inventory
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: controller
                  value: '{#CONTROLLER_ID}'
                - tag: location
                  value: '{#CONTROLLER_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
              trigger_prototypes:
                - uuid: 66694866af4e49d7becb699c29b73b3e
                  expression: 'change(/HPE iLO by HTTP/hpe.ilo.controller.serial_number[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}])=1 and length(last(/HPE iLO by HTTP/hpe.ilo.controller.serial_number[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]))>0'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Controller has been replaced'
                  priority: INFO
                  description: 'The controller serial number has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 6c0527d5f10b4be0a9384de104128a9b
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.controller.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              description: |
                The health state of the controller. Possible values:
                
                0 - "OK", the controller is in normal condition;
                1 - "Warning", the controller is in condition that requires attention;
                2 - "Critical", the controller is in critical condition that requires immediate attention;
                10 - "Unknown", the controller is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.Health
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.controller.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}]'
              tags:
                - tag: component
                  value: controller
                - tag: component
                  value: health
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: controller
                  value: '{#CONTROLLER_ID}'
                - tag: storage
                  value: '{#STORAGE_ID}'
              trigger_prototypes:
                - uuid: c50abeed60fe4b5a95dd788606fbddda
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.controller.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}])=2'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Controller is in critical state'
                  priority: HIGH
                  description: 'The controller is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: b4fff1c834a04b66843937b1a56fe7d1
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.controller.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}])=1'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Controller is in warning state'
                  priority: WARNING
                  description: 'The controller is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Controller [{#CONTROLLER_ID}]: Controller is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.controller.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#CONTROLLER_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#CONTROLLER_ID}'
              path: $.id
            - lld_macro: '{#CONTROLLER_LOCATION}'
              path: $.location
            - lld_macro: '{#STORAGE_ID}'
              path: $.storage_id
            - lld_macro: '{#SYSTEM_HOSTNAME}'
              path: $.system_hostname
            - lld_macro: '{#SYSTEM_ID}'
              path: $.system_id
            - lld_macro: '{#SYSTEM_TYPE}'
              path: $.system_type
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var controllers = JSON.parse(value).controllers;
                  
                  result = controllers.map(function (controller) {
                  	return {
                  		'id': controller.Id,
                  		'location': controller.Location.PartLocation.ServiceLabel,
                  		'system_id': controller.systemId,
                  		'system_hostname': controller.systemHostname,
                  		'system_type': controller.systemType,
                  		'storage_id': controller.storageId
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: c750bdc5aa05415d9556a0182f2b5c65
          name: 'HPE iLO: Drives discovery'
          type: DEPENDENT
          key: hpe.ilo.drives.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.MATCHES:"Drive"}'
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.NOT_MATCHES:"Drive"}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.MATCHES:"Drive"}'
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.NOT_MATCHES:"Drive"}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovers storage drives.'
          item_prototypes:
            - uuid: c3935598d1b14f8a9ceaadd315ffd64e
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Capacity'
              type: DEPENDENT
              key: 'hpe.ilo.drive.capacity[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              units: B
              description: 'The capacity of the drive.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.CapacityBytes
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: 408d4190763c476599dbb8793ee09a65
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the drive.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.drives[?(@.systemId == ''{#SYSTEM_ID}'' && @.storageId == ''{#STORAGE_ID}'' && @.Id == ''{#DRIVE_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: 368329ea2b4b45b2ac5edfb103002915
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Media type'
              type: DEPENDENT
              key: 'hpe.ilo.drive.media_type[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              description: 'The media type of the drive.'
              valuemap:
                name: 'Media type'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.MediaType
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'HDD',
                      	'SSD'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: 9800f0f0171542de87508f062c1397e7
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Model'
              type: DEPENDENT
              key: 'hpe.ilo.drive.model[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              value_type: CHAR
              description: 'The model name of the drive.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Model
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: inventory
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: a8cf9573ca704edab0fd130a0a3bda76
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Predicted media life left, in %'
              type: DEPENDENT
              key: 'hpe.ilo.drive.predicted_life_left[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              discover: NO_DISCOVER
              units: '%'
              description: 'The percentage of reads and writes that are predicted to still be available for the drive.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.PredictedMediaLifeLeftPercent
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: 3122f6ef74f84974b8094022f86f68bb
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Serial number'
              type: DEPENDENT
              key: 'hpe.ilo.drive.serial_number[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              value_type: CHAR
              description: 'The serial number of the drive.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.SerialNumber
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: inventory
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
              trigger_prototypes:
                - uuid: 723b48e56ef447ab940c0e6bb6ecddd6
                  expression: 'change(/HPE iLO by HTTP/hpe.ilo.drive.serial_number[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}])=1 and length(last(/HPE iLO by HTTP/hpe.ilo.drive.serial_number[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]))>0'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Drive has been replaced'
                  priority: INFO
                  description: 'The drive serial number has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: a2218789f4734f72921665308dc3eb5d
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Status indicator'
              type: DEPENDENT
              key: 'hpe.ilo.drive.status_indicator[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              description: |
                Status of drive. Possible values:
                
                0 - "OK", the drive is ok;
                1 - "Fail", the drive has failed;
                2 - "Rebuild", the drive is being rebuilt;
                3 - "PredictiveFailureAnalysis", the drive is still working but predicted to fail soon;
                4 - "Hotspare", the drive is marked to be automatically rebuilt and used as a replacement for a failed drive;
                5 - "InACriticalArray", the array that this drive is a part of is degraded;
                6 - "InAFailedArray	", the array that this drive is a part of is failed;
                10 - "Unknown", the drive status is unknown.
              valuemap:
                name: 'Drive status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.StatusIndicator
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Fail',
                      	'Rebuild',
                      	'PredictiveFailureAnalysis',
                      	'Hotspare',
                      	'InACriticalArray',
                      	'InAFailedArray'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.drive.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}]'
              tags:
                - tag: component
                  value: drive
                - tag: component
                  value: health
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: drive
                  value: '{#DRIVE_ID}'
                - tag: location
                  value: '{#DRIVE_LOCATION}'
                - tag: storage
                  value: '{#STORAGE_ID}'
              trigger_prototypes:
                - uuid: e58f3af90e124520bf0c138979480913
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.drive.status_indicator[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}])=1'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Drive has failed'
                  priority: HIGH
                  description: 'The drive has failed.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: d78d4771170d4668bc6c2ca941bf85f1
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.drive.status_indicator[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}])=3'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Drive is predicted to fail soon'
                  priority: HIGH
                  description: 'The drive is still working but predicted to fail soon.'
                  dependencies:
                    - name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Drive [{#DRIVE_ID}]: Drive has failed'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.drive.status_indicator[{#SYSTEM_ID}, {#STORAGE_ID}, {#DRIVE_ID}])=1'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#DRIVE_ID}'
              path: $.id
            - lld_macro: '{#DRIVE_LOCATION}'
              path: $.location
            - lld_macro: '{#DRIVE_TYPE}'
              path: $.media_type
            - lld_macro: '{#STORAGE_ID}'
              path: $.storage_id
            - lld_macro: '{#SYSTEM_HOSTNAME}'
              path: $.system_hostname
            - lld_macro: '{#SYSTEM_ID}'
              path: $.system_id
            - lld_macro: '{#SYSTEM_TYPE}'
              path: $.system_type
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var drives = JSON.parse(value).drives;
                  
                  result = drives.map(function (drive) {
                  	return {
                  		'id': drive.Id,
                  		'location': drive.PhysicalLocation.PartLocation.ServiceLabel,
                  		'media_type': drive.MediaType,
                  		'system_id': drive.systemId,
                  		'system_hostname': drive.systemHostname,
                  		'system_type': drive.systemType,
                  		'storage_id': drive.storageId
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          overrides:
            - name: 'Predicted media life left'
              step: '1'
              filter:
                conditions:
                  - macro: '{#DRIVE_TYPE}'
                    value: SSD
              operations:
                - operator: REGEXP
                  value: 'Predicted media life left'
                  discover: DISCOVER
        - uuid: 98061dca5146498ea5f663b229cb7ba9
          name: 'HPE iLO: Fans discovery'
          type: DEPENDENT
          key: hpe.ilo.fans.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FAN_STATE}'
                value: Absent
                operator: NOT_MATCHES_REGEX
          description: 'Discovers chassis fans.'
          item_prototypes:
            - uuid: bd8bceea000a4677b982b56a119ece7e
              name: 'Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.fan.get_data[{#CHASSIS_ID}, {#FAN_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the fan.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.fans[?(@.chassisId == ''{#CHASSIS_ID}'' && @.MemberId == ''{#FAN_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: environment
                - tag: component
                  value: fan
                - tag: component
                  value: raw
                - tag: fan
                  value: '{#FAN_ID}'
            - uuid: d30cdb96ceb9470dbba0b30112c3a05b
              name: 'Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Speed, in %'
              type: DEPENDENT
              key: 'hpe.ilo.fan.speed[{#CHASSIS_ID}, {#FAN_ID}]'
              units: '%'
              description: 'The current speed of the fan.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Reading
              master_item:
                key: 'hpe.ilo.fan.get_data[{#CHASSIS_ID}, {#FAN_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: environment
                - tag: component
                  value: fan
                - tag: component
                  value: performance
                - tag: fan
                  value: '{#FAN_ID}'
            - uuid: 4006994b11a54c5fa3eda5516b8ca94e
              name: 'Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.fan.status[{#CHASSIS_ID}, {#FAN_ID}]'
              description: |
                The health state of the fan. Possible values:
                
                0 - "OK", the fan is in normal condition;
                1 - "Warning", the fan is in condition that requires attention;
                2 - "Critical", the fan is in critical condition that requires immediate attention;
                10 - "Unknown", the fan is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.Health
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.fan.get_data[{#CHASSIS_ID}, {#FAN_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: environment
                - tag: component
                  value: fan
                - tag: component
                  value: health
                - tag: fan
                  value: '{#FAN_ID}'
              trigger_prototypes:
                - uuid: c46cf15eae394d3a812ff660382a498c
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.fan.status[{#CHASSIS_ID}, {#FAN_ID}])=2'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Fan is in critical state'
                  priority: HIGH
                  description: 'The fan is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: de0dd5f0180c433d8fcf77411c4af0d1
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.fan.status[{#CHASSIS_ID}, {#FAN_ID}])=1'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Fan is in warning state'
                  priority: WARNING
                  description: 'The fan is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Fan is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.fan.status[{#CHASSIS_ID}, {#FAN_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: f38e4d46dbe647c0a1cafb4f034d6fa2
              name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Speed, in %'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - color: 199C0D
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.fan.speed[{#CHASSIS_ID}, {#FAN_ID}]'
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#CHASSIS_ID}'
              path: $.chassis_id
            - lld_macro: '{#FAN_ID}'
              path: $.id
            - lld_macro: '{#FAN_NAME}'
              path: $.name
            - lld_macro: '{#FAN_STATE}'
              path: $.state
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var fans = JSON.parse(value).fans;
                  
                  result = fans.map(function (fan) {
                  	return {
                  		'id': fan.MemberId,
                  		'name': fan.Name,
                  		'chassis_id': fan.chassisId,
                  		'state': fan.Status.State
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: da0b4a3eea8f45e384e565e40f017abc
          name: 'HPE iLO: Managers discovery'
          type: DEPENDENT
          key: hpe.ilo.managers.discovery
          description: 'Discovers managers.'
          item_prototypes:
            - uuid: 822317e3e16741c88cc749d5f5b7e67c
              name: 'Manager [{#MANAGER_ID}]: Current firmware version'
              type: DEPENDENT
              key: 'hpe.ilo.manager.firmware.current_version[{#MANAGER_ID}]'
              value_type: CHAR
              description: 'The current firmware version of the manager.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.FirmwareVersion
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.manager.get_data[{#MANAGER_ID}]'
              tags:
                - tag: component
                  value: inventory
                - tag: component
                  value: manager
                - tag: manager
                  value: '{#MANAGER_ID}'
              trigger_prototypes:
                - uuid: d15f89292b3b4b309bee523a0d46217b
                  expression: 'change(/HPE iLO by HTTP/hpe.ilo.manager.firmware.current_version[{#MANAGER_ID}])=1 and length(last(/HPE iLO by HTTP/hpe.ilo.manager.firmware.current_version[{#MANAGER_ID}]))>0'
                  name: 'HPE iLO: Manager [{#MANAGER_ID}]: Firmware version has changed'
                  event_name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Firmware version has changed (new version: {ITEM.VALUE})'
                  priority: INFO
                  description: 'The current firmware version of the manager has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 1ae004d3b9804fbe9d62325999e9cabd
              name: 'Manager [{#MANAGER_ID}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.manager.get_data[{#MANAGER_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the manager.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.managers[?(@.Id == ''{#MANAGER_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: component
                  value: manager
                - tag: component
                  value: raw
                - tag: manager
                  value: '{#MANAGER_ID}'
            - uuid: 20008a9fb19841edb7901dc8304bfdf8
              name: 'Manager [{#MANAGER_ID}]: Model'
              type: DEPENDENT
              key: 'hpe.ilo.manager.model[{#MANAGER_ID}]'
              value_type: CHAR
              description: 'The model name of the manager.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Model
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.manager.get_data[{#MANAGER_ID}]'
              tags:
                - tag: component
                  value: inventory
                - tag: component
                  value: manager
                - tag: manager
                  value: '{#MANAGER_ID}'
            - uuid: f178ab2358d842e98d137fcf62ba5dba
              name: 'Manager [{#MANAGER_ID}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.manager.status[{#MANAGER_ID}]'
              description: |
                The health state of the manager. Possible values:
                
                0 - "OK", the manager is in normal condition;
                1 - "Warning", the manager is in condition that requires attention;
                2 - "Critical", the manager is in critical condition that requires immediate attention;
                10 - "Unknown", the manager is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.Health
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.manager.get_data[{#MANAGER_ID}]'
              tags:
                - tag: component
                  value: health
                - tag: component
                  value: manager
                - tag: manager
                  value: '{#MANAGER_ID}'
              trigger_prototypes:
                - uuid: faa446c01db44748bf68b08f5d3491cd
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.manager.status[{#MANAGER_ID}])=2'
                  name: 'HPE iLO: Manager [{#MANAGER_ID}]: Manager is in critical state'
                  priority: HIGH
                  description: 'The manager is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 1835e489df4942d3bb6ffba0e68d838e
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.manager.status[{#MANAGER_ID}])=1'
                  name: 'HPE iLO: Manager [{#MANAGER_ID}]: Manager is in warning state'
                  priority: WARNING
                  description: 'The manager is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Manager [{#MANAGER_ID}]: Manager is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.manager.status[{#MANAGER_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: fab6652c9346461eb232342fa8b88b95
              name: 'Manager [{#MANAGER_ID}]: Manager type'
              type: DEPENDENT
              key: 'hpe.ilo.manager.type[{#MANAGER_ID}]'
              description: |
                The manager type. Possible values:
                
                0 - "ManagementController", a controller used primarily to monitor or manage the operation of a device or system;
                1 - "EnclosureManager", a controller which provides management functions for a chassis or group of devices or systems;
                2 - "BMC", a controller which provides management functions for a single computer system;
                10 - "Unknown", the manager type is unknown.
              valuemap:
                name: 'Manager type'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ManagerType
                  error_handler: DISCARD_VALUE
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'ManagementController',
                      	'EnclosureManager',
                      	'BMC'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.manager.get_data[{#MANAGER_ID}]'
              tags:
                - tag: component
                  value: manager
                - tag: manager
                  value: '{#MANAGER_ID}'
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#MANAGER_ID}'
              path: $.manager_id
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var managers = JSON.parse(value).managers;
                  
                  result = managers.map(function (manager) {
                  	return {
                  		'manager_id': manager.Id
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: 853ddc0701b545fd807c7a688cd16f18
          name: 'HPE iLO: PSU discovery'
          type: DEPENDENT
          key: hpe.ilo.psu.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#PSU_STATE}'
                value: Absent
                operator: NOT_MATCHES_REGEX
          description: 'Discovers chassis power supply units (PSU).'
          item_prototypes:
            - uuid: adb24bee15a341ffbe51047c0798a906
              name: 'Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.psu.get_data[{#CHASSIS_ID}, {#PSU_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the PSU.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.psu[?(@.chassisId == ''{#CHASSIS_ID}'' && @.MemberId == ''{#PSU_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: power
                - tag: component
                  value: raw
                - tag: psu
                  value: '{#PSU_ID}'
            - uuid: c51caa30b1ab4399a1132e4c3ea50c9f
              name: 'Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Last power output'
              type: DEPENDENT
              key: 'hpe.ilo.psu.last_power_output[{#CHASSIS_ID}, {#PSU_ID}]'
              units: W
              description: 'The average power output of the PSU.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.LastPowerOutputWatts
              master_item:
                key: 'hpe.ilo.psu.get_data[{#CHASSIS_ID}, {#PSU_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: performance
                - tag: component
                  value: power
                - tag: psu
                  value: '{#PSU_ID}'
            - uuid: d3edb80dc18f4a92ac06a0025b7e1a76
              name: 'Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Line input voltage'
              type: DEPENDENT
              key: 'hpe.ilo.psu.line_input_voltage[{#CHASSIS_ID}, {#PSU_ID}]'
              units: V
              description: 'The line input voltage at which the PSU is operating.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.LineInputVoltage
              master_item:
                key: 'hpe.ilo.psu.get_data[{#CHASSIS_ID}, {#PSU_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: performance
                - tag: component
                  value: power
                - tag: psu
                  value: '{#PSU_ID}'
            - uuid: f7594bdb44d1464c8cf1476ceb473215
              name: 'Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Model'
              type: DEPENDENT
              key: 'hpe.ilo.psu.model[{#CHASSIS_ID}, {#PSU_ID}]'
              value_type: CHAR
              description: 'The model name of the PSU.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Model
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.psu.get_data[{#CHASSIS_ID}, {#PSU_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: inventory
                - tag: component
                  value: power
                - tag: psu
                  value: '{#PSU_ID}'
            - uuid: 96a3b57288e94c71b4f8ac15bc7a8a14
              name: 'Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Serial number'
              type: DEPENDENT
              key: 'hpe.ilo.psu.serial_number[{#CHASSIS_ID}, {#PSU_ID}]'
              value_type: CHAR
              description: 'The serial number of the PSU.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.SerialNumber
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.psu.get_data[{#CHASSIS_ID}, {#PSU_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: inventory
                - tag: component
                  value: power
                - tag: psu
                  value: '{#PSU_ID}'
              trigger_prototypes:
                - uuid: 4a20457b63f14f9dba0e57a4a1be9336
                  expression: 'change(/HPE iLO by HTTP/hpe.ilo.psu.serial_number[{#CHASSIS_ID}, {#PSU_ID}])=1 and length(last(/HPE iLO by HTTP/hpe.ilo.psu.serial_number[{#CHASSIS_ID}, {#PSU_ID}]))>0'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: PSU has been replaced'
                  priority: INFO
                  description: 'The PSU serial number has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 5194da566bce4f7ca1073ab56201d32b
              name: 'Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.psu.status[{#CHASSIS_ID}, {#PSU_ID}]'
              description: |
                The health state of the PSU. Possible values:
                
                0 - "OK", the PSU is in normal condition;
                1 - "Warning", the PSU is in condition that requires attention;
                2 - "Critical", the PSU is in critical condition that requires immediate attention;
                10 - "Unknown", the PSU is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.Health
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.psu.get_data[{#CHASSIS_ID}, {#PSU_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: health
                - tag: component
                  value: power
                - tag: psu
                  value: '{#PSU_ID}'
              trigger_prototypes:
                - uuid: 5e35becc5b6f4a0b8aee83bd85053dfa
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.psu.status[{#CHASSIS_ID}, {#PSU_ID}])=2'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: PSU is in critical state'
                  priority: HIGH
                  description: 'The PSU is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 6a905448f75c47c09392668b9b636117
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.psu.status[{#CHASSIS_ID}, {#PSU_ID}])=1'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: PSU is in warning state'
                  priority: WARNING
                  description: 'The PSU is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: PSU is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.psu.status[{#CHASSIS_ID}, {#PSU_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 34dea1e5a61b48fd9fe98af7752bf8b4
              name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Last power output'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.psu.last_power_output[{#CHASSIS_ID}, {#PSU_ID}]'
            - uuid: 4325a96130604ad3a03165f7573f2980
              name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Line input voltage'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.psu.line_input_voltage[{#CHASSIS_ID}, {#PSU_ID}]'
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#CHASSIS_ID}'
              path: $.chassis_id
            - lld_macro: '{#PSU_ID}'
              path: $.id
            - lld_macro: '{#PSU_STATE}'
              path: $.state
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var power_supplies = JSON.parse(value).psu;
                  
                  result = power_supplies.map(function (psu) {
                  	return {
                  		'id': psu.MemberId,
                  		'chassis_id': psu.chassisId,
                  		'state': psu.Status.State
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: c984c9668b7b46b19240f7593acf1088
          name: 'HPE iLO: Temperature sensors discovery'
          type: DEPENDENT
          key: hpe.ilo.sensors.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SENSOR_CONTEXT}'
                value: '{$ILO.SENSOR.DISCOVERY.CONTEXT.MATCHES}'
              - macro: '{#SENSOR_CONTEXT}'
                value: '{$ILO.SENSOR.DISCOVERY.CONTEXT.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SENSOR_NAME}'
                value: '{$ILO.SENSOR.DISCOVERY.NAME.MATCHES}'
              - macro: '{#SENSOR_NAME}'
                value: '{$ILO.SENSOR.DISCOVERY.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SENSOR_STATE}'
                value: Absent
                operator: NOT_MATCHES_REGEX
          description: 'Discovers chassis temperature sensors.'
          item_prototypes:
            - uuid: 0067035f746a4317988d70844e71dd7a
              name: 'Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.sensor.get_data[{#CHASSIS_ID}, {#SENSOR_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the sensor.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.sensors[?(@.chassisId == ''{#CHASSIS_ID}'' && @.MemberId == ''{#SENSOR_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: environment
                - tag: component
                  value: raw
                - tag: component
                  value: sensor
                - tag: sensor
                  value: '{#SENSOR_ID}'
                - tag: sensor-context
                  value: '{#SENSOR_CONTEXT}'
            - uuid: ef3c3472c21a4716b9b3362e7b33644c
              name: 'Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.sensor.status[{#CHASSIS_ID}, {#SENSOR_ID}]'
              description: |
                The health state of the sensor. Possible values:
                
                0 - "OK", the sensor is in normal condition;
                1 - "Warning", the sensor is in condition that requires attention;
                2 - "Critical", the sensor is in critical condition that requires immediate attention;
                10 - "Unknown", the sensor is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.Health
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.sensor.get_data[{#CHASSIS_ID}, {#SENSOR_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: environment
                - tag: component
                  value: health
                - tag: component
                  value: sensor
                - tag: sensor
                  value: '{#SENSOR_ID}'
                - tag: sensor-context
                  value: '{#SENSOR_CONTEXT}'
              trigger_prototypes:
                - uuid: 143900a50f0044f884fe04ba32afe38d
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.sensor.status[{#CHASSIS_ID}, {#SENSOR_ID}])=2'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Sensor is in critical state'
                  priority: HIGH
                  description: 'The sensor is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 66c09f1d58ee436f96cb2d8e034fce05
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.sensor.status[{#CHASSIS_ID}, {#SENSOR_ID}])=1'
                  name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Sensor is in warning state'
                  priority: WARNING
                  description: 'The sensor is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Sensor is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.sensor.status[{#CHASSIS_ID}, {#SENSOR_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 04e0faf0a3b54f84a13341bab1238b60
              name: 'Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Temperature'
              type: DEPENDENT
              key: 'hpe.ilo.sensor.temperature[{#CHASSIS_ID}, {#SENSOR_ID}]'
              units: '!°C'
              description: 'The current temperature reading in Celsius degrees for the sensor.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ReadingCelsius
              master_item:
                key: 'hpe.ilo.sensor.get_data[{#CHASSIS_ID}, {#SENSOR_ID}]'
              tags:
                - tag: chassis
                  value: '{#CHASSIS_ID}'
                - tag: component
                  value: environment
                - tag: component
                  value: performance
                - tag: component
                  value: sensor
                - tag: sensor
                  value: '{#SENSOR_ID}'
                - tag: sensor-context
                  value: '{#SENSOR_CONTEXT}'
          graph_prototypes:
            - uuid: 4e9fadd38f52413a8c5d24b53971d5be
              name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Temperature'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'HPE iLO by HTTP'
                    key: 'hpe.ilo.sensor.temperature[{#CHASSIS_ID}, {#SENSOR_ID}]'
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#CHASSIS_ID}'
              path: $.chassis_id
            - lld_macro: '{#SENSOR_CONTEXT}'
              path: $.context
            - lld_macro: '{#SENSOR_ID}'
              path: $.id
            - lld_macro: '{#SENSOR_NAME}'
              path: $.name
            - lld_macro: '{#SENSOR_STATE}'
              path: $.state
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var sensors = JSON.parse(value).sensors;
                  
                  result = sensors.map(function (sensor) {
                  	return {
                  		'id': sensor.MemberId,
                  		'name': sensor.Name,
                  		'chassis_id': sensor.chassisId,
                  		'state': sensor.Status.State,
                  		'context': sensor.PhysicalContext
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: d4942c1c86f543fd9270e2b3ea867ab9
          name: 'HPE iLO: Storages discovery'
          type: DEPENDENT
          key: hpe.ilo.storages.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.MATCHES:"Storage"}'
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.NOT_MATCHES:"Storage"}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.MATCHES:"Storage"}'
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.NOT_MATCHES:"Storage"}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovers computer system storages.'
          item_prototypes:
            - uuid: 51a5467f6d5948da803123a360ca2973
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.storage.get_data[{#SYSTEM_ID}, {#STORAGE_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the storage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.storages[?(@.systemId == ''{#SYSTEM_ID}'' && @.Id == ''{#STORAGE_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: storage
                  value: '{#STORAGE_ID}'
            - uuid: bec36e3da5ed4d71808669b5e298a62a
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.storage.status[{#SYSTEM_ID}, {#STORAGE_ID}]'
              description: |
                The overall health state from the view of this storage. Possible values:
                
                0 - "OK", the storage is in normal condition;
                1 - "Warning", the storage is in condition that requires attention;
                2 - "Critical", the storage is in critical condition that requires immediate attention;
                10 - "Unknown", the storage is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.HealthRollup
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.storage.get_data[{#SYSTEM_ID}, {#STORAGE_ID}]'
              tags:
                - tag: component
                  value: health
                - tag: component
                  value: storage
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: storage
                  value: '{#STORAGE_ID}'
              trigger_prototypes:
                - uuid: 3cbf371fee974ae18cc48a5c8751d002
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.storage.status[{#SYSTEM_ID}, {#STORAGE_ID}])=2'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Storage is in critical state'
                  priority: HIGH
                  description: 'The computer system is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: f7971c1b03874ba38d56e97cecb415f8
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.storage.status[{#SYSTEM_ID}, {#STORAGE_ID}])=1'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Storage is in warning state'
                  priority: WARNING
                  description: 'The computer system is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Storage is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.storage.status[{#SYSTEM_ID}, {#STORAGE_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#STORAGE_ID}'
              path: $.id
            - lld_macro: '{#STORAGE_NAME}'
              path: $.name
            - lld_macro: '{#SYSTEM_HOSTNAME}'
              path: $.system_hostname
            - lld_macro: '{#SYSTEM_ID}'
              path: $.system_id
            - lld_macro: '{#SYSTEM_TYPE}'
              path: $.system_type
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var storages = JSON.parse(value).storages;
                  
                  result = storages.map(function (storage) {
                  	return {
                  		'id': storage.Id,
                  		'name': storage.name,
                  		'system_id': storage.systemId,
                  		'system_hostname': storage.systemHostname,
                  		'system_type': storage.systemType
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
        - uuid: 5ca4da09031148b694152f042ddf890c
          name: 'HPE iLO: Volumes discovery'
          type: DEPENDENT
          key: hpe.ilo.volumes.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.MATCHES:"Volume"}'
              - macro: '{#SYSTEM_HOSTNAME}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.NOT_MATCHES:"Volume"}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.MATCHES:"Volume"}'
              - macro: '{#SYSTEM_TYPE}'
                value: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.NOT_MATCHES:"Volume"}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovers storage volumes.'
          item_prototypes:
            - uuid: 9128fbbb6f0a450abb03f427cf22210f
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: Capacity'
              type: DEPENDENT
              key: 'hpe.ilo.volume.capacity[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              units: B
              description: 'The capacity of the volume.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.CapacityBytes
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.volume.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              tags:
                - tag: component
                  value: storage
                - tag: component
                  value: volume
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: storage
                  value: '{#STORAGE_ID}'
                - tag: volume
                  value: '{#VOLUME_ID}'
            - uuid: 709f9a2cf82445988bced0b404524e05
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: Get data'
              type: DEPENDENT
              key: 'hpe.ilo.volume.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              history: '0'
              value_type: TEXT
              description: 'Get data about the volume.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.volumes[?(@.systemId == ''{#SYSTEM_ID}'' && @.storageId == ''{#STORAGE_ID}'' && @.Id == ''{#VOLUME_ID}'')].first()'
                  error_handler: DISCARD_VALUE
              master_item:
                key: hpe.ilo.get_data
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: component
                  value: volume
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: storage
                  value: '{#STORAGE_ID}'
                - tag: volume
                  value: '{#VOLUME_ID}'
            - uuid: b42c7a7314a9463d959925fb5b0fd275
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: RAID level'
              type: DEPENDENT
              key: 'hpe.ilo.volume.raid_level[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              description: 'The RAID level of the volume.'
              valuemap:
                name: 'RAID level'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.RAIDType
                  error_handler: DISCARD_VALUE
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'RAID0',
                      	'RAID1',
                      	'RAID3',
                      	'RAID4',
                      	'RAID5',
                      	'RAID6',
                      	'RAID10',
                      	'RAID01',
                      	'RAID6TP',
                      	'RAID1E',
                      	'RAID50',
                      	'RAID60',
                      	'RAID00',
                      	'RAID10E',
                      	'RAID1Triple',
                      	'RAID10Triple',
                      	'None'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 20;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'hpe.ilo.volume.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              tags:
                - tag: component
                  value: storage
                - tag: component
                  value: volume
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: storage
                  value: '{#STORAGE_ID}'
                - tag: volume
                  value: '{#VOLUME_ID}'
            - uuid: c4829f0dac1c42edad3161ac9df74ea6
              name: 'Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: Status'
              type: DEPENDENT
              key: 'hpe.ilo.volume.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              description: |
                The health state of the volume. Possible values:
                
                0 - "OK", the volume is in normal condition;
                1 - "Warning", the volume is in condition that requires attention;
                2 - "Critical", the volume is in critical condition that requires immediate attention;
                10 - "Unknown", the volume is in unknown condition.
              valuemap:
                name: 'Redfish health state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Status.Health
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const idx = [
                      	'OK',
                      	'Warning',
                      	'Critical'
                      ].indexOf(value);
                      return idx !== -1 ? idx : 10;
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'hpe.ilo.volume.get_data[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}]'
              tags:
                - tag: component
                  value: health
                - tag: component
                  value: storage
                - tag: component
                  value: volume
                - tag: computer-system
                  value: '{#SYSTEM_HOSTNAME}'
                - tag: storage
                  value: '{#STORAGE_ID}'
                - tag: volume
                  value: '{#VOLUME_ID}'
              trigger_prototypes:
                - uuid: eec0cede62004a56ac9ddce26be52f7f
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.volume.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}])=2'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: Volume is in critical state'
                  priority: HIGH
                  description: 'The volume is in critical condition that requires immediate attention.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: fff82b7d4fea43ed8099fc43e1fc5421
                  expression: 'last(/HPE iLO by HTTP/hpe.ilo.volume.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}])=1'
                  name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: Volume is in warning state'
                  priority: WARNING
                  description: 'The volume is in condition that requires attention.'
                  dependencies:
                    - name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Storage [{#STORAGE_ID}]: Volume [{#VOLUME_ID}]: Volume is in critical state'
                      expression: 'last(/HPE iLO by HTTP/hpe.ilo.volume.status[{#SYSTEM_ID}, {#STORAGE_ID}, {#VOLUME_ID}])=2'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: hpe.ilo.get_data
          lld_macro_paths:
            - lld_macro: '{#STORAGE_ID}'
              path: $.storage_id
            - lld_macro: '{#SYSTEM_HOSTNAME}'
              path: $.system_hostname
            - lld_macro: '{#SYSTEM_ID}'
              path: $.system_id
            - lld_macro: '{#SYSTEM_TYPE}'
              path: $.system_type
            - lld_macro: '{#VOLUME_ID}'
              path: $.id
            - lld_macro: '{#VOLUME_NAME}'
              path: $.name
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var volumes = JSON.parse(value).volumes;
                  
                  result = volumes.map(function (volume) {
                  	return {
                  		'id': volume.Id,
                  		'name': volume.DisplayName,
                  		'system_id': volume.systemId,
                  		'system_hostname': volume.systemHostname,
                  		'system_type': volume.systemType,
                  		'storage_id': volume.storageId
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
      tags:
        - tag: class
          value: hardware
        - tag: subclass
          value: management
        - tag: target
          value: hpe
        - tag: target
          value: ilo
      macros:
        - macro: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.MATCHES}'
          value: .+
          description: 'The computer system hostname regex filter to use in computer systems related metrics discovery for including. Can be used with the following context to include metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
          config:
            type: TEXT
            priority: '7'
            section_name: Filters
            label: 'Computer hostname filter (include)'
            description: 'The computer system hostname regex filter to use in computer systems related metrics discovery for including. Can be used with the following context to include metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
        - macro: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.HOSTNAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'The computer system hostname regex filter to use in computer systems related metrics discovery for excluding. Can be used with the following context to exclude metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
          config:
            type: TEXT
            priority: '8'
            section_name: Filters
            label: 'Computer hostname filter (exclude)'
            description: 'The computer system hostname regex filter to use in computer systems related metrics discovery for excluding. Can be used with the following context to exclude metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
        - macro: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.MATCHES}'
          value: .+
          description: 'The computer system type regex filter to use in computer systems related metrics discovery for including. Can be used with the following context to include metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
          config:
            type: TEXT
            priority: '9'
            section_name: Filters
            label: 'Computer type filter (include)'
            description: 'The computer system type regex filter to use in computer systems related metrics discovery for including. Can be used with the following context to include metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
        - macro: '{$ILO.COMPUTER_SYSTEM.DISCOVERY.TYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'The computer system type regex filter to use in computer systems related metrics discovery for excluding. Can be used with the following context to exclude metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'Computer type filter (exclude)'
            description: 'The computer system type regex filter to use in computer systems related metrics discovery for excluding. Can be used with the following context to exclude metrics of the particular entity: System, Storage, Controller, Drive, Volume.'
        - macro: '{$ILO.HTTP_PROXY}'
          description: 'The HTTP proxy for script items (set if needed). If the macro is empty, then no proxy is used.'
          config:
            type: TEXT
            priority: '4'
            section_name: Other
            label: Proxy
            description: 'The HTTP proxy for script items (set if needed). If the macro is empty, then no proxy is used.'
        - macro: '{$ILO.INTERVAL}'
          value: 1m
          description: 'The update interval for the script item that retrieves data from API.'
          config:
            type: TEXT
            priority: '5'
            section_name: Other
            label: 'API data update interval'
            description: 'The update interval for the script item that retrieves data from API.'
        - macro: '{$ILO.PASSWORD}'
          type: SECRET_TEXT
          description: 'The password of the user that is used for monitoring.'
          config:
            type: TEXT
            priority: '3'
            label: Password
            description: 'The password of the user that is used for monitoring.'
            required: 'YES'
        - macro: '{$ILO.SENSOR.DISCOVERY.CONTEXT.MATCHES}'
          value: .+
          description: 'The sensor physical context regex filter to use in temperature sensors discovery for including.'
          config:
            type: TEXT
            priority: '13'
            section_name: Filters
            label: 'Temperature sensor location filter (include)'
            description: 'The sensor physical context regex filter to use in temperature sensors discovery for including.'
        - macro: '{$ILO.SENSOR.DISCOVERY.CONTEXT.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'The sensor physical context regex filter to use in temperature sensors discovery for excluding.'
          config:
            type: TEXT
            priority: '14'
            section_name: Filters
            label: 'Temperature sensor location filter (exclude)'
            description: 'The sensor physical context regex filter to use in temperature sensors discovery for excluding.'
        - macro: '{$ILO.SENSOR.DISCOVERY.NAME.MATCHES}'
          value: .+
          description: 'The sensor name regex filter to use in temperature sensors discovery for including.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'Temperature sensor name filter (include)'
            description: 'The sensor name regex filter to use in temperature sensors discovery for including.'
        - macro: '{$ILO.SENSOR.DISCOVERY.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'The sensor name regex filter to use in temperature sensors discovery for excluding.'
          config:
            type: TEXT
            priority: '12'
            section_name: Filters
            label: 'Temperature sensor name filter (exclude)'
            description: 'The sensor name regex filter to use in temperature sensors discovery for excluding.'
        - macro: '{$ILO.TIMEOUT}'
          value: 15s
          description: 'The timeout threshold for the script item that retrieves data from API.'
          config:
            type: TEXT
            priority: '6'
            section_name: Other
            label: 'API data timeout'
            description: 'The timeout threshold for the script item that retrieves data from API.'
        - macro: '{$ILO.URL}'
          description: 'The iLO API endpoint in the format "<scheme>://<host>[:port]/" (port is optional).'
          config:
            type: TEXT
            priority: '1'
            label: Address
            description: 'The iLO API endpoint in the format "<scheme>://<host>[:port]/" (port is optional).'
            required: 'YES'
        - macro: '{$ILO.USER}'
          description: 'The name of the user that is used for monitoring.'
          config:
            type: TEXT
            priority: '2'
            label: Username
            description: 'The name of the user that is used for monitoring.'
            required: 'YES'
      dashboards:
        - uuid: 20b6f76728a548698f1fb77efcf9c534
          name: 'HPE iLO: Overview'
          pages:
            - name: 'HPE iLO: Computer systems'
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '10'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'HPE iLO by HTTP'
                        name: 'HPE iLO: Computer system [{#SYSTEM_HOSTNAME}]: Resources usage'
                    - type: STRING
                      name: reference
                      value: AAAAA
            - name: 'HPE iLO: Fans'
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '10'
                  fields:
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'HPE iLO by HTTP'
                        name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Fan [{#FAN_NAME}]: Speed, in %'
                    - type: STRING
                      name: reference
                      value: AAAAB
                    - type: INTEGER
                      name: rows
                      value: '2'
            - name: 'HPE iLO: Thermal sensors'
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '10'
                  fields:
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'HPE iLO by HTTP'
                        name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: Sensor [{#SENSOR_NAME}]: Temperature'
                    - type: STRING
                      name: reference
                      value: AAAAC
                    - type: INTEGER
                      name: rows
                      value: '2'
            - name: 'HPE iLO: Power supplies'
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'HPE iLO by HTTP'
                        name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Line input voltage'
                    - type: STRING
                      name: reference
                      value: AAAAD
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'HPE iLO by HTTP'
                        name: 'HPE iLO: Chassis [{#CHASSIS_ID}]: PSU [{#PSU_ID}]: Last power output'
                    - type: STRING
                      name: reference
                      value: AAAAE
      valuemaps:
        - uuid: 724ed4e07ca34bf594719298055a0837
          name: 'Computer system type'
          mappings:
            - value: '0'
              newvalue: Physical
            - value: '1'
              newvalue: Virtual
            - value: '2'
              newvalue: OS
            - value: '3'
              newvalue: PhysicallyPartitioned
            - value: '4'
              newvalue: VirtuallyPartitioned
            - value: '5'
              newvalue: DPU
            - value: '10'
              newvalue: Unknown
        - uuid: dacd46f1412e4ce2adfa0d938ebbc952
          name: 'Drive status'
          mappings:
            - value: '0'
              newvalue: OK
            - value: '1'
              newvalue: Fail
            - value: '2'
              newvalue: Rebuild
            - value: '3'
              newvalue: PredictiveFailureAnalysis
            - value: '4'
              newvalue: Hotspare
            - value: '5'
              newvalue: InACriticalArray
            - value: '6'
              newvalue: InAFailedArray
            - value: '10'
              newvalue: Unknown
        - uuid: 30627d058a064666b08c0bbdacd75fe3
          name: 'Manager type'
          mappings:
            - value: '0'
              newvalue: ManagementController
            - value: '1'
              newvalue: EnclosureManager
            - value: '2'
              newvalue: BMC
            - value: '10'
              newvalue: Unknown
        - uuid: aecddd070d53474eaca622da04842d53
          name: 'Media type'
          mappings:
            - value: '0'
              newvalue: HDD
            - value: '1'
              newvalue: SSD
            - value: '10'
              newvalue: Unknown
        - uuid: 0aab2ac5ea59435280e84683bc852d32
          name: 'RAID level'
          mappings:
            - value: '0'
              newvalue: RAID0
            - value: '1'
              newvalue: RAID1
            - value: '2'
              newvalue: RAID3
            - value: '3'
              newvalue: RAID4
            - value: '4'
              newvalue: RAID5
            - value: '5'
              newvalue: RAID6
            - value: '6'
              newvalue: RAID10
            - value: '7'
              newvalue: RAID01
            - value: '8'
              newvalue: RAID6TP
            - value: '9'
              newvalue: RAID1E
            - value: '10'
              newvalue: RAID50
            - value: '11'
              newvalue: RAID60
            - value: '12'
              newvalue: RAID00
            - value: '13'
              newvalue: RAID10E
            - value: '14'
              newvalue: RAID1Triple
            - value: '15'
              newvalue: RAID10Triple
            - value: '16'
              newvalue: None
            - value: '20'
              newvalue: Unknown
        - uuid: 267eae89956048769dcf6eb015b921ba
          name: 'Redfish health state'
          mappings:
            - value: '0'
              newvalue: OK
            - value: '1'
              newvalue: Warning
            - value: '2'
              newvalue: Critical
            - value: '10'
              newvalue: Unknown
    - uuid: d596d6d231bf49c08890aa3ff135ecc6
      template: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
      name: 'MikroTik CCR1009-7G-1C-1S+PC by SNMP'
      description: |
        The template for monitoring Ethernet router MikroTik CCR1009-7G-1C-1S+PC.
        
        7x Gigabit Ethernet, 1x Combo port (SFP or Gigabit Ethernet), 1xSFP+ cage, 9
        cores x 1GHz CPU, 2GB RAM, LCD panel, passive cooling desktop enclosure, SmartCard
        slot, RouterOS L6, PSU
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        MIKROTIK-MIB
        IF-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        The template for monitoring Ethernet router MikroTik CCR1009-7G-1C-1S+PC.
        
        7x Gigabit Ethernet, 1x Combo port (SFP or Gigabit Ethernet), 1xSFP+ cage, 9 cores x 1GHz CPU, 2GB RAM, LCD panel, passive cooling desktop enclosure, SmartCard slot, RouterOS L6, PSU
      vendor:
        name: Zabbix
        version: 8.0-4
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: 3614c3929ad5439f9829fd07e83d2d04
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          description: |
            The host accessibility by ICMP ping.
            
            0 - ICMP ping fails;
            1 - ICMP ping successful.
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: feca40f53ed54c84afbb83d2650bbab6
              expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmpping,#3)=0'
              name: 'MikroTik: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout. Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 7d018eef194b4734a67537b410d083d1
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          description: 'The percentage of lost packets.'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: bca3c4bf4f89480e9c6ccfaaed0039bf
              expression: 'min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmppingloss,5m)<100'
              name: 'MikroTik: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'ICMP packets loss detected.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 55b40d51d6694cf5b2da626587afe20e
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          description: 'The ICMP ping response time (in seconds).'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: b78ca1d148624deb95177f56eb738338
              expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'MikroTik: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'MikroTik: High ICMP ping loss'
                  expression: 'min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmppingloss,5m)<100'
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: f553b00ae11b448cb29889e1efc171f0
          name: 'Mikrotik: SNMP walk network interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]'
          key: net.if.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: a3790b7f9524491ea12c8fae01ec0121
          name: 'SNMP walk wireless interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]'
          key: net.if.wireless.walk
          history: '0'
          value_type: TEXT
          tags:
            - tag: component
              value: raw
        - uuid: f5aa15bcdd8a41449014241122f42ed5
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 45de6d3b762042f1beba38b42a5ce271
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.4.0]'
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: fe052ca02fe84ec99dfe01443be4ddf0
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: 42f88903cca745a8a54fed6355d72a86
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 4367659d4f49400aa0a4674c74ad00b8
          name: 'Firmware version'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.4.0]'
          key: system.hw.firmware
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Current firmware version.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 79b791b5ce1a4e5e8f68b561aeaac838
              expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.firmware,#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.firmware,#2) and length(last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.firmware))>0'
              name: 'MikroTik: Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 3d375341d2a140679973c46fe7281dd5
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: b1233463a69346b68d538f1c43aa467d
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.3.0]'
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            RouterBOARD serial number.
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: a981ac3d5e7843049eb581ab284edd04
              expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.serialnumber,#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.serialnumber,#2) and length(last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.serialnumber))>0'
              name: 'MikroTik: Device has been replaced'
              event_name: 'MikroTik: Device has been replaced (new serial number received)'
              priority: INFO
              description: 'Device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: da2967c30d774681af4b7007bfbd01c5
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.1.1.0]'
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 8d35083324f245fda442d6c2183a2007
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: a72a6424b8a24277a952d0d2e3974ad3
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 203415c1da0d4e36b1e52904c8f77ad7
              expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.name,#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.name,#2) and length(last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.name))>0'
              name: 'MikroTik: System name has changed'
              event_name: 'MikroTik: System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: 04b76355c37041569f60b8d36d279f31
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.3.0]'
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 79d95aec65934350b59a52e4af4b0fd7
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.2.0]'
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: f9d30c789f16452d89ee417a2aee11f1
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.4.4.0]'
          key: 'system.sw.os[mtxrLicVersion.0]'
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Software version.
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: f7e4983c483944869d44fe5ea4289786
              expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.sw.os[mtxrLicVersion.0],#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.sw.os[mtxrLicVersion.0],#2) and length(last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.sw.os[mtxrLicVersion.0]))>0'
              name: 'MikroTik: Operating system description has changed'
              priority: INFO
              description: 'The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: System name has changed'
                  expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.name,#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.name,#2) and length(last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: f40d0ccfccd748128775c7bb3f4d9177
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering mounted filesystems.
          tags:
            - tag: component
              value: raw
        - uuid: 5546cedfd50648d2a893b6ea59fd7453
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.5.65536]'
          key: 'vm.memory.total[hrStorageSize.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The size of the storage represented by this entry, in
            units of hrStorageAllocationUnits. This object is
            writable to allow remote configuration of the size of
            the storage area in those cases where such an
            operation makes sense and is possible on the
            underlying system. For example, the amount of main
            memory allocated to a buffer pool might be modified or
            the amount of disk space allocated to virtual memory
            might be modified.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 5a78d97bd5f14a6b97873a3abe41db20
          name: 'Used memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.6.65536]'
          key: 'vm.memory.used[hrStorageUsed.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: dc5f8ec0557c4e9980f2224e150e89e7
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[memoryUsedPercentage.Memory]'
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 6a571f6691ec459bbc63e1a8dece1c04
              expression: 'min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vm.memory.util[memoryUsedPercentage.Memory],5m)>{$MEMORY.UTIL.MAX}'
              name: 'MikroTik: High memory utilization'
              event_name: 'MikroTik: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 7bbae2f760b2437a92e27abc5f0c4c7a
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: c48e5ab4112d46898f219f4e9d2e4bae
              expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'MikroTik: No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: b5d7f793a40449af9342a0751d606c04
          name: 'CPU discovery'
          type: DEPENDENT
          key: hrProcessorLoad.discovery
          description: 'HOST-RESOURCES-MIB::hrProcessorTable discovery.'
          item_prototypes:
            - uuid: 39223b273e314bf88eccfa23d2bdf520
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: HOST-RESOURCES-MIB
                The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 1586816e4cfe4060b9c2d4c305439e4d
                  expression: 'min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.cpu.util[hrProcessorLoad.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 473d7e39becc4c56bef6687d3e197dd8
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: f3b3f73ab8ad4138b4acb0f3ff7aa732
          name: 'Temperature CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.11]'
          key: mtxrHlProcessorTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlProcessorTemperature
            Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: f52a2b2e6f6045119473176e6680fb67
              name: 'CPU: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlProcessorTemperature Processor temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 7662e3eded674ca996c98d5af253d767
                  expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above critical threshold'
                  event_name: 'MikroTik: CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: ad69a0bc0507456787ef21628985e22f
                  expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above warning threshold'
                  event_name: 'MikroTik: CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: CPU: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                      recovery_expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: d66e0fa34fbf4fc49ac5ebfed3f6dbb0
                  expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3'
                  name: 'MikroTik: CPU: Temperature is too low'
                  event_name: 'MikroTik: CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.11
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: bea5c8de3a354405a60f417e7c3f9852
          name: 'Temperature sensor discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlTemperature
            Since temperature sensor is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: b2ac80947a314b8590500aed1ba15b34
              name: 'Device: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.10.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlTemperature Device temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
                
                Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: d9e2f17aa26d47239ba7ee40d5b39759
                  expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above critical threshold'
                  event_name: 'MikroTik: Device: Temperature is above critical threshold: >{$TEMP_CRIT:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: f6bcaf561a23406e84a22549aed2485d
                  expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above warning threshold'
                  event_name: 'MikroTik: Device: Temperature is above warning threshold: >{$TEMP_WARN:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: Device: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                      recovery_expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: fcf0566a31b9400c9790638caad03e34
                  expression: 'avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Device"}+3'
                  name: 'MikroTik: Device: Temperature is too low'
                  event_name: 'MikroTik: Device: Temperature is too low: <{$TEMP_CRIT_LOW:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.10
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: d7d28fbb900742f58ba741a7b2810656
          name: 'LTE modem discovery'
          type: DEPENDENT
          key: mtxrLTEModem.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.LTEMODEM.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrLTEModemInterfaceIndex.'
          item_prototypes:
            - uuid: 89139aaa90244af89be5b13e31e568db
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP'
              type: DEPENDENT
              key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRP Reference Signal Received Power.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.4.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 88449b36f96740349cd1e08127b7b39c
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRP.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low (below {$LTEMODEM.RSRP.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 5f60c2de483e4aae8fbedc50798f3bb9
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ'
              type: DEPENDENT
              key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRQ Reference Signal Received Quality.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: cdab150de72d4e8bb2af4e412be6de27
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRQ.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low (below {$LTEMODEM.RSRQ.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: df09bd33847c4cf9931b68c49fa0cc2e
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI'
              type: DEPENDENT
              key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSSI Received Signal Strength Indicator.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 5eb2071556a749b382e8d6668fc7c699
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}],5m) < {$LTEMODEM.RSSI.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low (below {$LTEMODEM.RSSI.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 10459f3a756e48f991bbddf9e466f5bb
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem SINR'
              type: DEPENDENT
              key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalSINR Signal to Interference & Noise Ratio.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 9e119f5f5ae74caeb58e9736f5e7e8b1
                  expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}],5m) < {$LTEMODEM.SINR.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low (below {$LTEMODEM.SINR.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 38deeca2121f4698834d9f8c984be4bf
              name: 'Interface {#IFNAME}({#IFALIAS}): Modem Signal. {#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 2f9915f91c984f56af4f9505c52aea9a
          name: 'AP channel discovery'
          type: DEPENDENT
          key: mtxrWlAp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: ^1$
              - macro: '{#IFTYPE}'
                value: ^71$
          description: 'MIKROTIK-MIB::mtxrWlAp.'
          item_prototypes:
            - uuid: 0bfd56d26ed04702904b7846f9d27d89
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlApAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.11.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e9b16dbe554948ffac6a124c2545e8ed
              name: 'Interface {#IFNAME}({#IFALIAS}): AP band'
              type: DEPENDENT
              key: 'ssid.band[mtxrWlApBand.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApBand
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ec6db43c1009423db17a9db20c193801
              name: 'Interface {#IFNAME}({#IFALIAS}): SSID'
              type: DEPENDENT
              key: 'ssid.name[mtxrWlApSsid.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApSsid Service Set Identifier.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f6b5c40031a9451d93e0c1a53c60d90e
              name: 'Interface {#IFNAME}({#IFALIAS}): AP noise floor'
              type: DEPENDENT
              key: 'ssid.noise[mtxrWlApNoiseFloor.{#SNMPINDEX}]'
              value_type: FLOAT
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApNoiseFloor
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.9.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 4fe579127b3249b08c210c8b3f767f7a
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlApClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 8bb2e43eaeae433381360f436151ca96
          name: 'CAPsMAN AP channel discovery'
          type: DEPENDENT
          key: mtxrWlCMChannel.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.WIFI.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrWlCMChannel.'
          item_prototypes:
            - uuid: 2ae0d22024c74c80ba6be1549fa4f17e
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlCMAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 9e85e8cd51f0489d8aaefdc31ccbffd4
              name: 'Interface {#IFNAME}({#IFALIAS}): AP channel'
              type: DEPENDENT
              key: 'ssid.channel[mtxrWlCMChannel.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMChannel
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 2844bdd0d5094a38a88f756e1fed71ad
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlCMRegClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMRegClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 16791055befb41f3b12dabf4aa0c6540
              name: 'Interface {#IFNAME}({#IFALIAS}): AP state'
              type: DEPENDENT
              key: 'ssid.state[mtxrWlCMState.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMState Wireless interface state.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: f282823a66354c1aa88b2338efb376f0
                  expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/ssid.state[mtxrWlCMState.{#SNMPINDEX}])<>"running-ap"'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): AP interface {#IFNAME}({#IFALIAS}) is not running'
                  priority: WARNING
                  description: 'Access point interface can be not running by different reasons - disabled interface, power off, network link down.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: afd7c5604cbc4142903dcc6dce8d5653
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 088e163cea204bdf81c29b7dd9aa6cce
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of inbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ff3b483497b84ff081d5ab28104e4579
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 33618d8ffb5c4d07a2b290e4c75073c9
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 17633027e7b84b1bbbeae76d53167713
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of outbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 5c532fd7877a413eaa528137b67d6857
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 524fc8bdd17e4eb99184829300e5c056
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 534bf0300941479d9e468d418014d098
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              trends: '0'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n`, then the speed of the interface is somewhere in the range of `n-500,000` to `n+499,999`.
                For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.
                For a sub-layer which has no concept of bandwidth, this object should be zero.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f1d0b7bbd5824ab7959be1230a4c0beb
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                - The testing(3) state indicates that no operational packet scan be passed
                - If ifAdminStatus is down(2) then ifOperStatus should be down(2)
                - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
                - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
                - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
                - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.
              valuemap:
                name: 'IF-MIB::ifOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 7310ec80c5ce4bd9a8d193ca10ffc636
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down.
                    3. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "eternal off" interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 71d2a42612124a3eaa61a3baee1d4691
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The type of interface.
                Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
                through updating the syntax of the IANAifType textual convention.
              valuemap:
                name: 'IF-MIB::ifType'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 0ec14ed9e07441bc94331081b1eefea7
              expression: |
                change(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before'
              opdata: 'Current reported speed: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 6446f31cc81540c4967afe496edcc01b
              expression: |
                (avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)'
              opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'The utilization of the network interface is close to its estimated maximum bandwidth.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 9a38ec2a71ac47e3afe4c7b65ee22b9f
              expression: |
                min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)'
              opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: f8bbfd7785b54c6c8d48bb23340748c9
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          master_item:
            key: net.if.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: d8ff7af06d6d4fe39d7ab93eb803978a
          name: 'Storage discovery'
          type: DEPENDENT
          key: storage.discovery
          filter:
            evaltype: OR
            conditions:
              - macro: '{#STORAGE_TYPE}'
                value: .+4$
              - macro: '{#STORAGE_TYPE}'
                value: .+hrStorageFixedDisk
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: 30dd1b502cac45538f16b4d985966d55
              name: 'Disk-{#SNMPINDEX}: Space utilization'
              type: CALCULATED
              key: 'vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: '(last(//vfs.fs.used[hrStorageSize.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100'
              description: 'The space utilization expressed in % for Disk-{#SNMPINDEX}.'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 565b745c23864f1797a2cb3a11eedf7f
              name: 'Disk-{#SNMPINDEX}: Total space'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in
                units of hrStorageAllocationUnits. This object is
                writable to allow remote configuration of the size of
                the storage area in those cases where such an
                operation makes sense and is possible on the
                underlying system. For example, the amount of main
                memory allocated to a buffer pool might be modified or
                the amount of disk space allocated to virtual memory
                might be modified.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 8cfa6b214639494fa8db1cb673f45e1d
              name: 'Disk-{#SNMPINDEX}: Used space'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          trigger_prototypes:
            - uuid: 93eaacd1543d440c93faa4b7c4fcd02d
              expression: |
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: AVERAGE
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
            - uuid: 70397fb0b0754a42a9c97c77c2037d2a
              expression: |
                last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: WARNING
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
                  expression: |
                    last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                    ((last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CCR1009-7G-1C-1SPC by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
          graph_prototypes:
            - uuid: bff3cf781de1430d81a20a71a055e35d
              name: 'Disk-{#SNMPINDEX}: Disk space usage'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                    key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#FSNAME}'
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - '{#ALLOC_UNITS}'
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - '{#STORAGE_TYPE}'
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: ccr1009-7g-1c-1spluspc
        - tag: target
          value: mikrotik
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'The critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$IFNAME.LTEMODEM.MATCHES}'
          value: ^lte
          description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'LTE interface name filter'
            description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
        - macro: '{$IFNAME.WIFI.MATCHES}'
          value: WIFI
          description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'WiFi interface name filter'
            description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
        - macro: '{$LTEMODEM.RSRP.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSRP minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'LTE modem RSRP minimum warning value'
            description: 'The LTE modem RSRP minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSRQ.MIN.WARN}'
          value: '-20'
          description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'LTE modem RSRQ minimum warning value'
            description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSSI.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSSI minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'LTE modem RSSI minimum warning value'
            description: 'The LTE modem RSSI minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.SINR.MIN.WARN}'
          value: '0'
          description: 'The LTE modem SINR minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'LTE modem SINR minimum warning value'
            description: 'The LTE modem SINR minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Threshold for maximum memory utilization in %.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'Threshold for maximum memory utilization in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0 bridge` by default.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          description: 'Critical threshold for temperature.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            description: 'Critical threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          description: 'Critical threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            description: 'Critical threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          description: 'Critical threshold for low temperature.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            description: 'Critical threshold for low temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN}'
          value: '50'
          description: 'Warning threshold for temperature.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            description: 'Warning threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          description: 'Warning threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            description: 'Warning threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'The critical threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'The warning threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 7856119c51f14262a0faebfb97bcc7be
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: 2c87030228374ab0a2f1051f5fdd1c48
          name: 'IF-MIB::ifOperStatus'
          mappings:
            - value: '1'
              newvalue: up
            - value: '2'
              newvalue: down
            - value: '4'
              newvalue: unknown
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: notPresent
            - value: '7'
              newvalue: lowerLayerDown
        - uuid: 20bb48090ee04eadb771f56365193646
          name: 'IF-MIB::ifType'
          mappings:
            - value: '1'
              newvalue: other
            - value: '2'
              newvalue: regular1822
            - value: '3'
              newvalue: hdh1822
            - value: '4'
              newvalue: ddnX25
            - value: '5'
              newvalue: rfc877x25
            - value: '6'
              newvalue: ethernetCsmacd
            - value: '7'
              newvalue: iso88023Csmacd
            - value: '8'
              newvalue: iso88024TokenBus
            - value: '9'
              newvalue: iso88025TokenRing
            - value: '10'
              newvalue: iso88026Man
            - value: '11'
              newvalue: starLan
            - value: '12'
              newvalue: proteon10Mbit
            - value: '13'
              newvalue: proteon80Mbit
            - value: '14'
              newvalue: hyperchannel
            - value: '15'
              newvalue: fddi
            - value: '16'
              newvalue: lapb
            - value: '17'
              newvalue: sdlc
            - value: '18'
              newvalue: ds1
            - value: '19'
              newvalue: e1
            - value: '20'
              newvalue: basicISDN
            - value: '21'
              newvalue: primaryISDN
            - value: '22'
              newvalue: propPointToPointSerial
            - value: '23'
              newvalue: ppp
            - value: '24'
              newvalue: softwareLoopback
            - value: '25'
              newvalue: eon
            - value: '26'
              newvalue: ethernet3Mbit
            - value: '27'
              newvalue: nsip
            - value: '28'
              newvalue: slip
            - value: '29'
              newvalue: ultra
            - value: '30'
              newvalue: ds3
            - value: '31'
              newvalue: sip
            - value: '32'
              newvalue: frameRelay
            - value: '33'
              newvalue: rs232
            - value: '34'
              newvalue: para
            - value: '35'
              newvalue: arcnet
            - value: '36'
              newvalue: arcnetPlus
            - value: '37'
              newvalue: atm
            - value: '38'
              newvalue: miox25
            - value: '39'
              newvalue: sonet
            - value: '40'
              newvalue: x25ple
            - value: '41'
              newvalue: iso88022llc
            - value: '42'
              newvalue: localTalk
            - value: '43'
              newvalue: smdsDxi
            - value: '44'
              newvalue: frameRelayService
            - value: '45'
              newvalue: v35
            - value: '46'
              newvalue: hssi
            - value: '47'
              newvalue: hippi
            - value: '48'
              newvalue: modem
            - value: '49'
              newvalue: aal5
            - value: '50'
              newvalue: sonetPath
            - value: '51'
              newvalue: sonetVT
            - value: '52'
              newvalue: smdsIcip
            - value: '53'
              newvalue: propVirtual
            - value: '54'
              newvalue: propMultiplexor
            - value: '55'
              newvalue: ieee80212
            - value: '56'
              newvalue: fibreChannel
            - value: '57'
              newvalue: hippiInterface
            - value: '58'
              newvalue: frameRelayInterconnect
            - value: '59'
              newvalue: aflane8023
            - value: '60'
              newvalue: aflane8025
            - value: '61'
              newvalue: cctEmul
            - value: '62'
              newvalue: fastEther
            - value: '63'
              newvalue: isdn
            - value: '64'
              newvalue: v11
            - value: '65'
              newvalue: v36
            - value: '66'
              newvalue: g703at64k
            - value: '67'
              newvalue: g703at2mb
            - value: '68'
              newvalue: qllc
            - value: '69'
              newvalue: fastEtherFX
            - value: '70'
              newvalue: channel
            - value: '71'
              newvalue: ieee80211
            - value: '72'
              newvalue: ibm370parChan
            - value: '73'
              newvalue: escon
            - value: '74'
              newvalue: dlsw
            - value: '75'
              newvalue: isdns
            - value: '76'
              newvalue: isdnu
            - value: '77'
              newvalue: lapd
            - value: '78'
              newvalue: ipSwitch
            - value: '79'
              newvalue: rsrb
            - value: '80'
              newvalue: atmLogical
            - value: '81'
              newvalue: ds0
            - value: '82'
              newvalue: ds0Bundle
            - value: '83'
              newvalue: bsc
            - value: '84'
              newvalue: async
            - value: '85'
              newvalue: cnr
            - value: '86'
              newvalue: iso88025Dtr
            - value: '87'
              newvalue: eplrs
            - value: '88'
              newvalue: arap
            - value: '89'
              newvalue: propCnls
            - value: '90'
              newvalue: hostPad
            - value: '91'
              newvalue: termPad
            - value: '92'
              newvalue: frameRelayMPI
            - value: '93'
              newvalue: x213
            - value: '94'
              newvalue: adsl
            - value: '95'
              newvalue: radsl
            - value: '96'
              newvalue: sdsl
            - value: '97'
              newvalue: vdsl
            - value: '98'
              newvalue: iso88025CRFPInt
            - value: '99'
              newvalue: myrinet
            - value: '100'
              newvalue: voiceEM
            - value: '101'
              newvalue: voiceFXO
            - value: '102'
              newvalue: voiceFXS
            - value: '103'
              newvalue: voiceEncap
            - value: '104'
              newvalue: voiceOverIp
            - value: '105'
              newvalue: atmDxi
            - value: '106'
              newvalue: atmFuni
            - value: '107'
              newvalue: atmIma
            - value: '108'
              newvalue: pppMultilinkBundle
            - value: '109'
              newvalue: ipOverCdlc
            - value: '110'
              newvalue: ipOverClaw
            - value: '111'
              newvalue: stackToStack
            - value: '112'
              newvalue: virtualIpAddress
            - value: '113'
              newvalue: mpc
            - value: '114'
              newvalue: ipOverAtm
            - value: '115'
              newvalue: iso88025Fiber
            - value: '116'
              newvalue: tdlc
            - value: '117'
              newvalue: gigabitEthernet
            - value: '118'
              newvalue: hdlc
            - value: '119'
              newvalue: lapf
            - value: '120'
              newvalue: v37
            - value: '121'
              newvalue: x25mlp
            - value: '122'
              newvalue: x25huntGroup
            - value: '123'
              newvalue: trasnpHdlc
            - value: '124'
              newvalue: interleave
            - value: '125'
              newvalue: fast
            - value: '126'
              newvalue: ip
            - value: '127'
              newvalue: docsCableMaclayer
            - value: '128'
              newvalue: docsCableDownstream
            - value: '129'
              newvalue: docsCableUpstream
            - value: '130'
              newvalue: a12MppSwitch
            - value: '131'
              newvalue: tunnel
            - value: '132'
              newvalue: coffee
            - value: '133'
              newvalue: ces
            - value: '134'
              newvalue: atmSubInterface
            - value: '135'
              newvalue: l2vlan
            - value: '136'
              newvalue: l3ipvlan
            - value: '137'
              newvalue: l3ipxvlan
            - value: '138'
              newvalue: digitalPowerline
            - value: '139'
              newvalue: mediaMailOverIp
            - value: '140'
              newvalue: dtm
            - value: '141'
              newvalue: dcn
            - value: '142'
              newvalue: ipForward
            - value: '143'
              newvalue: msdsl
            - value: '144'
              newvalue: ieee1394
            - value: '145'
              newvalue: if-gsn
            - value: '146'
              newvalue: dvbRccMacLayer
            - value: '147'
              newvalue: dvbRccDownstream
            - value: '148'
              newvalue: dvbRccUpstream
            - value: '149'
              newvalue: atmVirtual
            - value: '150'
              newvalue: mplsTunnel
            - value: '151'
              newvalue: srp
            - value: '152'
              newvalue: voiceOverAtm
            - value: '153'
              newvalue: voiceOverFrameRelay
            - value: '154'
              newvalue: idsl
            - value: '155'
              newvalue: compositeLink
            - value: '156'
              newvalue: ss7SigLink
            - value: '157'
              newvalue: propWirelessP2P
            - value: '158'
              newvalue: frForward
            - value: '159'
              newvalue: rfc1483
            - value: '160'
              newvalue: usb
            - value: '161'
              newvalue: ieee8023adLag
            - value: '162'
              newvalue: bgppolicyaccounting
            - value: '163'
              newvalue: frf16MfrBundle
            - value: '164'
              newvalue: h323Gatekeeper
            - value: '165'
              newvalue: h323Proxy
            - value: '166'
              newvalue: mpls
            - value: '167'
              newvalue: mfSigLink
            - value: '168'
              newvalue: hdsl2
            - value: '169'
              newvalue: shdsl
            - value: '170'
              newvalue: ds1FDL
            - value: '171'
              newvalue: pos
            - value: '172'
              newvalue: dvbAsiIn
            - value: '173'
              newvalue: dvbAsiOut
            - value: '174'
              newvalue: plc
            - value: '175'
              newvalue: nfas
            - value: '176'
              newvalue: tr008
            - value: '177'
              newvalue: gr303RDT
            - value: '178'
              newvalue: gr303IDT
            - value: '179'
              newvalue: isup
            - value: '180'
              newvalue: propDocsWirelessMaclayer
            - value: '181'
              newvalue: propDocsWirelessDownstream
            - value: '182'
              newvalue: propDocsWirelessUpstream
            - value: '183'
              newvalue: hiperlan2
            - value: '184'
              newvalue: propBWAp2Mp
            - value: '185'
              newvalue: sonetOverheadChannel
            - value: '186'
              newvalue: digitalWrapperOverheadChannel
            - value: '187'
              newvalue: aal2
            - value: '188'
              newvalue: radioMAC
            - value: '189'
              newvalue: atmRadio
            - value: '190'
              newvalue: imt
            - value: '191'
              newvalue: mvl
            - value: '192'
              newvalue: reachDSL
            - value: '193'
              newvalue: frDlciEndPt
            - value: '194'
              newvalue: atmVciEndPt
            - value: '195'
              newvalue: opticalChannel
            - value: '196'
              newvalue: opticalTransport
            - value: '197'
              newvalue: propAtm
            - value: '198'
              newvalue: voiceOverCable
            - value: '199'
              newvalue: infiniband
            - value: '200'
              newvalue: teLink
            - value: '201'
              newvalue: q2931
            - value: '202'
              newvalue: virtualTg
            - value: '203'
              newvalue: sipTg
            - value: '204'
              newvalue: sipSig
            - value: '205'
              newvalue: docsCableUpstreamChannel
            - value: '206'
              newvalue: econet
            - value: '207'
              newvalue: pon155
            - value: '208'
              newvalue: pon622
            - value: '209'
              newvalue: bridge
            - value: '210'
              newvalue: linegroup
            - value: '211'
              newvalue: voiceEMFGD
            - value: '212'
              newvalue: voiceFGDEANA
            - value: '213'
              newvalue: voiceDID
            - value: '214'
              newvalue: mpegTransport
            - value: '215'
              newvalue: sixToFour
            - value: '216'
              newvalue: gtp
            - value: '217'
              newvalue: pdnEtherLoop1
            - value: '218'
              newvalue: pdnEtherLoop2
            - value: '219'
              newvalue: opticalChannelGroup
            - value: '220'
              newvalue: homepna
            - value: '221'
              newvalue: gfp
            - value: '222'
              newvalue: ciscoISLvlan
            - value: '223'
              newvalue: actelisMetaLOOP
            - value: '224'
              newvalue: fcipLink
            - value: '225'
              newvalue: rpr
            - value: '226'
              newvalue: qam
            - value: '227'
              newvalue: lmp
            - value: '228'
              newvalue: cblVectaStar
            - value: '229'
              newvalue: docsCableMCmtsDownstream
            - value: '230'
              newvalue: adsl2
            - value: '231'
              newvalue: macSecControlledIF
            - value: '232'
              newvalue: macSecUncontrolledIF
            - value: '233'
              newvalue: aviciOpticalEther
            - value: '234'
              newvalue: atmbond
            - value: '235'
              newvalue: voiceFGDOS
            - value: '236'
              newvalue: mocaVersion1
            - value: '237'
              newvalue: ieee80216WMAN
            - value: '238'
              newvalue: adsl2plus
            - value: '239'
              newvalue: dvbRcsMacLayer
            - value: '240'
              newvalue: dvbTdm
            - value: '241'
              newvalue: dvbRcsTdma
            - value: '242'
              newvalue: x86Laps
            - value: '243'
              newvalue: wwanPP
            - value: '244'
              newvalue: wwanPP2
            - value: '245'
              newvalue: voiceEBS
            - value: '246'
              newvalue: ifPwType
            - value: '247'
              newvalue: ilan
            - value: '248'
              newvalue: pip
            - value: '249'
              newvalue: aluELP
            - value: '250'
              newvalue: gpon
            - value: '251'
              newvalue: vdsl2
            - value: '252'
              newvalue: capwapDot11Profile
            - value: '253'
              newvalue: capwapDot11Bss
            - value: '254'
              newvalue: capwapWtpVirtualRadio
            - value: '255'
              newvalue: bits
            - value: '256'
              newvalue: docsCableUpstreamRfPort
            - value: '257'
              newvalue: cableDownstreamRfPort
            - value: '258'
              newvalue: vmwareVirtualNic
            - value: '259'
              newvalue: ieee802154
            - value: '260'
              newvalue: otnOdu
            - value: '261'
              newvalue: otnOtu
            - value: '262'
              newvalue: ifVfiType
            - value: '263'
              newvalue: g9981
            - value: '264'
              newvalue: g9982
            - value: '265'
              newvalue: g9983
            - value: '266'
              newvalue: aluEpon
            - value: '267'
              newvalue: aluEponOnu
            - value: '268'
              newvalue: aluEponPhysicalUni
            - value: '269'
              newvalue: aluEponLogicalLink
            - value: '270'
              newvalue: aluGponOnu
            - value: '271'
              newvalue: aluGponPhysicalUni
            - value: '272'
              newvalue: vmwareNicTeam
            - value: '277'
              newvalue: docsOfdmDownstream
            - value: '278'
              newvalue: docsOfdmaUpstream
            - value: '279'
              newvalue: gfast
            - value: '280'
              newvalue: sdci
            - value: '281'
              newvalue: xboxWireless
            - value: '282'
              newvalue: fastdsl
            - value: '283'
              newvalue: docsCableScte55d1FwdOob
            - value: '284'
              newvalue: docsCableScte55d1RetOob
            - value: '285'
              newvalue: docsCableScte55d2DsOob
            - value: '286'
              newvalue: docsCableScte55d2UsOob
            - value: '287'
              newvalue: docsCableNdf
            - value: '288'
              newvalue: docsCableNdr
            - value: '289'
              newvalue: ptm
            - value: '290'
              newvalue: ghn
        - uuid: e7be0480e0904cc6a68cc027961d36f3
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 1cab243abc4747c3ae5bc1e432c8e2f2
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: fac16383680c4454be48b6db870d975e
      template: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
      name: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
      description: |
        The template for monitoring Switch MikroTik CRS109-8G-1S-2HnD-IN.
        
        8x Gigabit Smart Switch, 1x SFP cage, LCD, 802.11b/g/n Dual Chain wireless,
        600MHz CPU, 128MB RAM, Metal desktop case, RouterOS L5, supports 10-57V, 802.3af/at
        compliant
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        MIKROTIK-MIB
        IF-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        The template for monitoring Switch MikroTik CRS109-8G-1S-2HnD-IN.
        
        8x Gigabit Smart Switch, 1x SFP cage, LCD, 802.11b/g/n Dual Chain wireless, 600MHz CPU, 128MB RAM, Metal desktop case, RouterOS L5, supports 10-57V, 802.3af/at compliant
      vendor:
        name: Zabbix
        version: 8.0-4
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: 9cb91d0e91ad4ea0980915a55042a92c
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          description: |
            The host accessibility by ICMP ping.
            
            0 - ICMP ping fails;
            1 - ICMP ping successful.
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 04d896fcaf2c4573bb077432604ca2ad
              expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              name: 'MikroTik: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout. Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 7871185930284f9eb03c359baf2cd703
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          description: 'The percentage of lost packets.'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: c6468c0bef2c4ad2958d69df8364722a
              expression: 'min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmppingloss,5m)<100'
              name: 'MikroTik: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'ICMP packets loss detected.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 701c51a923e940b288bc486df8bcb896
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          description: 'The ICMP ping response time (in seconds).'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 2b339fa462ce498fbf5d7557e8548930
              expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'MikroTik: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'MikroTik: High ICMP ping loss'
                  expression: 'min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmppingloss,5m)<100'
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 0d99f44d8cd946c080edf97cdd666c4e
          name: 'Mikrotik: SNMP walk network interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]'
          key: net.if.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: 6cf5e50c19624d41bf53759f0dc10b4b
          name: 'SNMP walk wireless interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]'
          key: net.if.wireless.walk
          history: '0'
          value_type: TEXT
          tags:
            - tag: component
              value: raw
        - uuid: 3d716d3580c24e49834f8b7927a62f18
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 787629e255a043ec89a9235792af48e8
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.4.0]'
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: e8edfe1c42b048e69048164c04f24c99
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: d2c1cba3782e48e8a416e6bf5126de26
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: af43dfeeeb7c4f2ea7636e3409e70f1f
          name: 'Firmware version'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.4.0]'
          key: system.hw.firmware
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Current firmware version.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 07248a02609a4964be773df77f86f30a
              expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.firmware,#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.firmware,#2) and length(last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.firmware))>0'
              name: 'MikroTik: Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 74bfb7d4834a499a8946c8275012ee76
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 13fa6f235afa4f968f9de61b0727dced
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.3.0]'
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            RouterBOARD serial number.
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: a79318151008414cb9a0c3d788b76f76
              expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.serialnumber,#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.serialnumber,#2) and length(last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.serialnumber))>0'
              name: 'MikroTik: Device has been replaced'
              event_name: 'MikroTik: Device has been replaced (new serial number received)'
              priority: INFO
              description: 'Device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: d2825ec79526468bae315bcf4271c3bf
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.1.1.0]'
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 8d7d12e82d0141e7919135d93e955d02
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: c549da27ab6741619d96c0473b6e5e81
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 3517d04dc5c34d07aad7ec73381deaaf
              expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.name,#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.name,#2) and length(last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.name))>0'
              name: 'MikroTik: System name has changed'
              event_name: 'MikroTik: System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: dd1816fc79704e6687bb841d729695c7
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.3.0]'
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 8204bf9e17794dc1994d657baaafa62d
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.2.0]'
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: b6e1b6013d3b41c68b4a0cc85bb539d6
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.4.4.0]'
          key: 'system.sw.os[mtxrLicVersion.0]'
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Software version.
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: 829598b7b1b4404bbd959ae186734251
              expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.sw.os[mtxrLicVersion.0],#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.sw.os[mtxrLicVersion.0],#2) and length(last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.sw.os[mtxrLicVersion.0]))>0'
              name: 'MikroTik: Operating system description has changed'
              priority: INFO
              description: 'The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: System name has changed'
                  expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.name,#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.name,#2) and length(last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 1ae38813c9984ddd8aae451c727200b3
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering mounted filesystems.
          tags:
            - tag: component
              value: raw
        - uuid: 53c2b19776d14395832025f398d613eb
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.5.65536]'
          key: 'vm.memory.total[hrStorageSize.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The size of the storage represented by this entry, in
            units of hrStorageAllocationUnits. This object is
            writable to allow remote configuration of the size of
            the storage area in those cases where such an
            operation makes sense and is possible on the
            underlying system. For example, the amount of main
            memory allocated to a buffer pool might be modified or
            the amount of disk space allocated to virtual memory
            might be modified.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 644de67163d14fe384128d7a89780d09
          name: 'Used memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.6.65536]'
          key: 'vm.memory.used[hrStorageUsed.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 9b69a0a71c2a410783d8275a732b800a
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[memoryUsedPercentage.Memory]'
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 7f44b9ee964f4ae798f3af4c12799e12
              expression: 'min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vm.memory.util[memoryUsedPercentage.Memory],5m)>{$MEMORY.UTIL.MAX}'
              name: 'MikroTik: High memory utilization'
              event_name: 'MikroTik: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 62a7b8240f65452db1b62ebd3e608328
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: bb5432b89f7248758d05d4c44cdf0d0a
              expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'MikroTik: No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: b65b318fff444191b92f52c023bdee21
          name: 'CPU discovery'
          type: DEPENDENT
          key: hrProcessorLoad.discovery
          description: 'HOST-RESOURCES-MIB::hrProcessorTable discovery.'
          item_prototypes:
            - uuid: abec452fb1d54a13819afa0449a6c91d
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: HOST-RESOURCES-MIB
                The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 37579561f5e74042827d0d3fc5dc85e7
                  expression: 'min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.cpu.util[hrProcessorLoad.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: f5d0c8258423411d86e9daf1a14418b1
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 0c527e54de0f40d28c01d597cee2b37c
          name: 'Temperature CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.11]'
          key: mtxrHlProcessorTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlProcessorTemperature
            Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: e65a3b598bd64bbfaf434ec1549d0ef6
              name: 'CPU: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlProcessorTemperature Processor temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 50a28d8380d64feca6fb2691e2477fed
                  expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above critical threshold'
                  event_name: 'MikroTik: CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 6bd9170284ef49b4825cf347e1f43548
                  expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above warning threshold'
                  event_name: 'MikroTik: CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: CPU: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                      recovery_expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: ccda9a03941b42b0ac184e22aa23666c
                  expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3'
                  name: 'MikroTik: CPU: Temperature is too low'
                  event_name: 'MikroTik: CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.11
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 5afeb3e22aa4479ba0f2cfde3e39155a
          name: 'Temperature sensor discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlTemperature
            Since temperature sensor is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: ca23bb18b5df4e9f9f447b27ff453c1a
              name: 'Device: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.10.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlTemperature Device temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
                
                Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 2c4b897afc03484fb7e435af025ac9a3
                  expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above critical threshold'
                  event_name: 'MikroTik: Device: Temperature is above critical threshold: >{$TEMP_CRIT:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 8de55e3f0a2d46f69d430362b208654b
                  expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above warning threshold'
                  event_name: 'MikroTik: Device: Temperature is above warning threshold: >{$TEMP_WARN:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: Device: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                      recovery_expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 5d4582baab9b4b98ba6d6e3e78678280
                  expression: 'avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Device"}+3'
                  name: 'MikroTik: Device: Temperature is too low'
                  event_name: 'MikroTik: Device: Temperature is too low: <{$TEMP_CRIT_LOW:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.10
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 1040b8ec32f947d4bfce2fba18d7caae
          name: 'LTE modem discovery'
          type: DEPENDENT
          key: mtxrLTEModem.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.LTEMODEM.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrLTEModemInterfaceIndex.'
          item_prototypes:
            - uuid: ced1ce9c4d494243810034ddad5cb1bd
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP'
              type: DEPENDENT
              key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRP Reference Signal Received Power.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.4.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: b3abf2a74b1444d7af3cdfc8ac550ec4
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRP.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low (below {$LTEMODEM.RSRP.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: b6cf57437c7043a584ebb8376d658ef4
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ'
              type: DEPENDENT
              key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRQ Reference Signal Received Quality.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: e3300b34a9f34bbd91af48f5b8e89d9e
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRQ.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low (below {$LTEMODEM.RSRQ.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: a68c39fc6e4248d9b6b073a67f58f4ac
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI'
              type: DEPENDENT
              key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSSI Received Signal Strength Indicator.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 7a06e44d440b4b85ad3b102fccf24309
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}],5m) < {$LTEMODEM.RSSI.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low (below {$LTEMODEM.RSSI.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 46d0b195b09e4def9ecce5f0d306add9
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem SINR'
              type: DEPENDENT
              key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalSINR Signal to Interference & Noise Ratio.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 6950612291f84d1d805b2f250c133096
                  expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}],5m) < {$LTEMODEM.SINR.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low (below {$LTEMODEM.SINR.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 8099417bb7b44a5da8e0d7d05fc3c6e4
              name: 'Interface {#IFNAME}({#IFALIAS}): Modem Signal. {#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 64ab5419005745f68eb2d06b0e48c6ac
          name: 'AP channel discovery'
          type: DEPENDENT
          key: mtxrWlAp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: ^1$
              - macro: '{#IFTYPE}'
                value: ^71$
          description: 'MIKROTIK-MIB::mtxrWlAp.'
          item_prototypes:
            - uuid: c0a00ab0bfa543988d32114409df5dc5
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlApAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.11.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 5d4556364513438399429334cc12f3d6
              name: 'Interface {#IFNAME}({#IFALIAS}): AP band'
              type: DEPENDENT
              key: 'ssid.band[mtxrWlApBand.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApBand
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 689e40655841450b9b8c91595a26774a
              name: 'Interface {#IFNAME}({#IFALIAS}): SSID'
              type: DEPENDENT
              key: 'ssid.name[mtxrWlApSsid.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApSsid Service Set Identifier.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: bac9f6f2692348348abdc29cc4ead952
              name: 'Interface {#IFNAME}({#IFALIAS}): AP noise floor'
              type: DEPENDENT
              key: 'ssid.noise[mtxrWlApNoiseFloor.{#SNMPINDEX}]'
              value_type: FLOAT
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApNoiseFloor
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.9.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: eb067e2b305642599ad39cacac524902
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlApClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: f02ad98b3cb94232b322c4b66683e4b7
          name: 'CAPsMAN AP channel discovery'
          type: DEPENDENT
          key: mtxrWlCMChannel.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.WIFI.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrWlCMChannel.'
          item_prototypes:
            - uuid: 3ee889778c50431ead46cafe033b6945
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlCMAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 7666985eaeca4e78b03e8097acb39ca5
              name: 'Interface {#IFNAME}({#IFALIAS}): AP channel'
              type: DEPENDENT
              key: 'ssid.channel[mtxrWlCMChannel.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMChannel
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6717ff0736644482be60d2dc2a6b6f1a
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlCMRegClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMRegClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 175056db73b443acbc16e9943cb83660
              name: 'Interface {#IFNAME}({#IFALIAS}): AP state'
              type: DEPENDENT
              key: 'ssid.state[mtxrWlCMState.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMState Wireless interface state.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 68fac07f6dd045ba8040c7fe813bdf2e
                  expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/ssid.state[mtxrWlCMState.{#SNMPINDEX}])<>"running-ap"'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): AP interface {#IFNAME}({#IFALIAS}) is not running'
                  priority: WARNING
                  description: 'Access point interface can be not running by different reasons - disabled interface, power off, network link down.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: cc608b1f528d4098b8393eba8dd997d7
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: eb8ba9ef1cd842abafac43e6878edebf
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of inbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 2af6f068b36a4a4dbaef7a545ea9ef87
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 82e97f30fe794772873c93e45fa93e3c
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 49e742f27d8c43eba3bdaf661a2af64a
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of outbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 2aeed3cfe655422289358c5baede343a
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 9447ff7e4baa430f8447ebaf910e5714
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f85bd6cedc754e45ba653247a94dae89
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              trends: '0'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n`, then the speed of the interface is somewhere in the range of `n-500,000` to `n+499,999`.
                For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.
                For a sub-layer which has no concept of bandwidth, this object should be zero.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 71eaf25c58ed46b8bbe72b7b6e41510d
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                - The testing(3) state indicates that no operational packet scan be passed
                - If ifAdminStatus is down(2) then ifOperStatus should be down(2)
                - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
                - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
                - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
                - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.
              valuemap:
                name: 'IF-MIB::ifOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 518c5d16112b4b76a043d74e98748901
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down.
                    3. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "eternal off" interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 0f12f613a5a648ef8309af58cb69805e
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The type of interface.
                Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
                through updating the syntax of the IANAifType textual convention.
              valuemap:
                name: 'IF-MIB::ifType'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: fac8789a47e44e1e98a047f9a8af8a16
              expression: |
                change(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before'
              opdata: 'Current reported speed: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 6f683ec4b17642b6add94e73ea306f2f
              expression: |
                (avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)'
              opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'The utilization of the network interface is close to its estimated maximum bandwidth.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 71e00ff03c6c46f6a4b5b986c67e3c2c
              expression: |
                min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)'
              opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 939d3dd20774413386677ddee8eab5eb
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          master_item:
            key: net.if.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 8c2a6cde808244e3b99408f942095c5b
          name: 'Storage discovery'
          type: DEPENDENT
          key: storage.discovery
          filter:
            evaltype: OR
            conditions:
              - macro: '{#STORAGE_TYPE}'
                value: .+4$
              - macro: '{#STORAGE_TYPE}'
                value: .+hrStorageFixedDisk
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: e12df58e65b94ae7b63f56f745d85857
              name: 'Disk-{#SNMPINDEX}: Space utilization'
              type: CALCULATED
              key: 'vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: '(last(//vfs.fs.used[hrStorageSize.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100'
              description: 'The space utilization expressed in % for Disk-{#SNMPINDEX}.'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: e1fe51aa353d4808bce466924ccfc280
              name: 'Disk-{#SNMPINDEX}: Total space'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in
                units of hrStorageAllocationUnits. This object is
                writable to allow remote configuration of the size of
                the storage area in those cases where such an
                operation makes sense and is possible on the
                underlying system. For example, the amount of main
                memory allocated to a buffer pool might be modified or
                the amount of disk space allocated to virtual memory
                might be modified.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 6169a9872cde47b7888e6e2c3b8f90cd
              name: 'Disk-{#SNMPINDEX}: Used space'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          trigger_prototypes:
            - uuid: 463c460bdff441ce9af1ea170ea4dbc2
              expression: |
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: AVERAGE
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
            - uuid: a758c3e0841e4fff93ff4bcaa41505eb
              expression: |
                last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: WARNING
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
                  expression: |
                    last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                    ((last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
          graph_prototypes:
            - uuid: 1ef7e8e42a954db4b7293a080a00bc9d
              name: 'Disk-{#SNMPINDEX}: Disk space usage'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                    key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#FSNAME}'
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - '{#ALLOC_UNITS}'
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - '{#STORAGE_TYPE}'
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: crs109-8g-1s-2hnd-in
        - tag: target
          value: mikrotik
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'The critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$IFNAME.LTEMODEM.MATCHES}'
          value: ^lte
          description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'LTE interface name filter'
            description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
        - macro: '{$IFNAME.WIFI.MATCHES}'
          value: WIFI
          description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'WiFi interface name filter'
            description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
        - macro: '{$LTEMODEM.RSRP.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSRP minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'LTE modem RSRP minimum warning value'
            description: 'The LTE modem RSRP minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSRQ.MIN.WARN}'
          value: '-20'
          description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'LTE modem RSRQ minimum warning value'
            description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSSI.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSSI minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'LTE modem RSSI minimum warning value'
            description: 'The LTE modem RSSI minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.SINR.MIN.WARN}'
          value: '0'
          description: 'The LTE modem SINR minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'LTE modem SINR minimum warning value'
            description: 'The LTE modem SINR minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Threshold for maximum memory utilization in %.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'Threshold for maximum memory utilization in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0 bridge` by default.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          description: 'Critical threshold for temperature.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            description: 'Critical threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          description: 'Critical threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            description: 'Critical threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          description: 'Critical threshold for low temperature.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            description: 'Critical threshold for low temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN}'
          value: '50'
          description: 'Warning threshold for temperature.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            description: 'Warning threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          description: 'Warning threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            description: 'Warning threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'The critical threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'The warning threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 3e5abbc412334f3b9f96a77c4a833c7c
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: 10ff85e100864e88910e26efd34896d3
          name: 'IF-MIB::ifOperStatus'
          mappings:
            - value: '1'
              newvalue: up
            - value: '2'
              newvalue: down
            - value: '4'
              newvalue: unknown
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: notPresent
            - value: '7'
              newvalue: lowerLayerDown
        - uuid: b65a31c66306406a8fe73e6c210c0ba6
          name: 'IF-MIB::ifType'
          mappings:
            - value: '1'
              newvalue: other
            - value: '2'
              newvalue: regular1822
            - value: '3'
              newvalue: hdh1822
            - value: '4'
              newvalue: ddnX25
            - value: '5'
              newvalue: rfc877x25
            - value: '6'
              newvalue: ethernetCsmacd
            - value: '7'
              newvalue: iso88023Csmacd
            - value: '8'
              newvalue: iso88024TokenBus
            - value: '9'
              newvalue: iso88025TokenRing
            - value: '10'
              newvalue: iso88026Man
            - value: '11'
              newvalue: starLan
            - value: '12'
              newvalue: proteon10Mbit
            - value: '13'
              newvalue: proteon80Mbit
            - value: '14'
              newvalue: hyperchannel
            - value: '15'
              newvalue: fddi
            - value: '16'
              newvalue: lapb
            - value: '17'
              newvalue: sdlc
            - value: '18'
              newvalue: ds1
            - value: '19'
              newvalue: e1
            - value: '20'
              newvalue: basicISDN
            - value: '21'
              newvalue: primaryISDN
            - value: '22'
              newvalue: propPointToPointSerial
            - value: '23'
              newvalue: ppp
            - value: '24'
              newvalue: softwareLoopback
            - value: '25'
              newvalue: eon
            - value: '26'
              newvalue: ethernet3Mbit
            - value: '27'
              newvalue: nsip
            - value: '28'
              newvalue: slip
            - value: '29'
              newvalue: ultra
            - value: '30'
              newvalue: ds3
            - value: '31'
              newvalue: sip
            - value: '32'
              newvalue: frameRelay
            - value: '33'
              newvalue: rs232
            - value: '34'
              newvalue: para
            - value: '35'
              newvalue: arcnet
            - value: '36'
              newvalue: arcnetPlus
            - value: '37'
              newvalue: atm
            - value: '38'
              newvalue: miox25
            - value: '39'
              newvalue: sonet
            - value: '40'
              newvalue: x25ple
            - value: '41'
              newvalue: iso88022llc
            - value: '42'
              newvalue: localTalk
            - value: '43'
              newvalue: smdsDxi
            - value: '44'
              newvalue: frameRelayService
            - value: '45'
              newvalue: v35
            - value: '46'
              newvalue: hssi
            - value: '47'
              newvalue: hippi
            - value: '48'
              newvalue: modem
            - value: '49'
              newvalue: aal5
            - value: '50'
              newvalue: sonetPath
            - value: '51'
              newvalue: sonetVT
            - value: '52'
              newvalue: smdsIcip
            - value: '53'
              newvalue: propVirtual
            - value: '54'
              newvalue: propMultiplexor
            - value: '55'
              newvalue: ieee80212
            - value: '56'
              newvalue: fibreChannel
            - value: '57'
              newvalue: hippiInterface
            - value: '58'
              newvalue: frameRelayInterconnect
            - value: '59'
              newvalue: aflane8023
            - value: '60'
              newvalue: aflane8025
            - value: '61'
              newvalue: cctEmul
            - value: '62'
              newvalue: fastEther
            - value: '63'
              newvalue: isdn
            - value: '64'
              newvalue: v11
            - value: '65'
              newvalue: v36
            - value: '66'
              newvalue: g703at64k
            - value: '67'
              newvalue: g703at2mb
            - value: '68'
              newvalue: qllc
            - value: '69'
              newvalue: fastEtherFX
            - value: '70'
              newvalue: channel
            - value: '71'
              newvalue: ieee80211
            - value: '72'
              newvalue: ibm370parChan
            - value: '73'
              newvalue: escon
            - value: '74'
              newvalue: dlsw
            - value: '75'
              newvalue: isdns
            - value: '76'
              newvalue: isdnu
            - value: '77'
              newvalue: lapd
            - value: '78'
              newvalue: ipSwitch
            - value: '79'
              newvalue: rsrb
            - value: '80'
              newvalue: atmLogical
            - value: '81'
              newvalue: ds0
            - value: '82'
              newvalue: ds0Bundle
            - value: '83'
              newvalue: bsc
            - value: '84'
              newvalue: async
            - value: '85'
              newvalue: cnr
            - value: '86'
              newvalue: iso88025Dtr
            - value: '87'
              newvalue: eplrs
            - value: '88'
              newvalue: arap
            - value: '89'
              newvalue: propCnls
            - value: '90'
              newvalue: hostPad
            - value: '91'
              newvalue: termPad
            - value: '92'
              newvalue: frameRelayMPI
            - value: '93'
              newvalue: x213
            - value: '94'
              newvalue: adsl
            - value: '95'
              newvalue: radsl
            - value: '96'
              newvalue: sdsl
            - value: '97'
              newvalue: vdsl
            - value: '98'
              newvalue: iso88025CRFPInt
            - value: '99'
              newvalue: myrinet
            - value: '100'
              newvalue: voiceEM
            - value: '101'
              newvalue: voiceFXO
            - value: '102'
              newvalue: voiceFXS
            - value: '103'
              newvalue: voiceEncap
            - value: '104'
              newvalue: voiceOverIp
            - value: '105'
              newvalue: atmDxi
            - value: '106'
              newvalue: atmFuni
            - value: '107'
              newvalue: atmIma
            - value: '108'
              newvalue: pppMultilinkBundle
            - value: '109'
              newvalue: ipOverCdlc
            - value: '110'
              newvalue: ipOverClaw
            - value: '111'
              newvalue: stackToStack
            - value: '112'
              newvalue: virtualIpAddress
            - value: '113'
              newvalue: mpc
            - value: '114'
              newvalue: ipOverAtm
            - value: '115'
              newvalue: iso88025Fiber
            - value: '116'
              newvalue: tdlc
            - value: '117'
              newvalue: gigabitEthernet
            - value: '118'
              newvalue: hdlc
            - value: '119'
              newvalue: lapf
            - value: '120'
              newvalue: v37
            - value: '121'
              newvalue: x25mlp
            - value: '122'
              newvalue: x25huntGroup
            - value: '123'
              newvalue: trasnpHdlc
            - value: '124'
              newvalue: interleave
            - value: '125'
              newvalue: fast
            - value: '126'
              newvalue: ip
            - value: '127'
              newvalue: docsCableMaclayer
            - value: '128'
              newvalue: docsCableDownstream
            - value: '129'
              newvalue: docsCableUpstream
            - value: '130'
              newvalue: a12MppSwitch
            - value: '131'
              newvalue: tunnel
            - value: '132'
              newvalue: coffee
            - value: '133'
              newvalue: ces
            - value: '134'
              newvalue: atmSubInterface
            - value: '135'
              newvalue: l2vlan
            - value: '136'
              newvalue: l3ipvlan
            - value: '137'
              newvalue: l3ipxvlan
            - value: '138'
              newvalue: digitalPowerline
            - value: '139'
              newvalue: mediaMailOverIp
            - value: '140'
              newvalue: dtm
            - value: '141'
              newvalue: dcn
            - value: '142'
              newvalue: ipForward
            - value: '143'
              newvalue: msdsl
            - value: '144'
              newvalue: ieee1394
            - value: '145'
              newvalue: if-gsn
            - value: '146'
              newvalue: dvbRccMacLayer
            - value: '147'
              newvalue: dvbRccDownstream
            - value: '148'
              newvalue: dvbRccUpstream
            - value: '149'
              newvalue: atmVirtual
            - value: '150'
              newvalue: mplsTunnel
            - value: '151'
              newvalue: srp
            - value: '152'
              newvalue: voiceOverAtm
            - value: '153'
              newvalue: voiceOverFrameRelay
            - value: '154'
              newvalue: idsl
            - value: '155'
              newvalue: compositeLink
            - value: '156'
              newvalue: ss7SigLink
            - value: '157'
              newvalue: propWirelessP2P
            - value: '158'
              newvalue: frForward
            - value: '159'
              newvalue: rfc1483
            - value: '160'
              newvalue: usb
            - value: '161'
              newvalue: ieee8023adLag
            - value: '162'
              newvalue: bgppolicyaccounting
            - value: '163'
              newvalue: frf16MfrBundle
            - value: '164'
              newvalue: h323Gatekeeper
            - value: '165'
              newvalue: h323Proxy
            - value: '166'
              newvalue: mpls
            - value: '167'
              newvalue: mfSigLink
            - value: '168'
              newvalue: hdsl2
            - value: '169'
              newvalue: shdsl
            - value: '170'
              newvalue: ds1FDL
            - value: '171'
              newvalue: pos
            - value: '172'
              newvalue: dvbAsiIn
            - value: '173'
              newvalue: dvbAsiOut
            - value: '174'
              newvalue: plc
            - value: '175'
              newvalue: nfas
            - value: '176'
              newvalue: tr008
            - value: '177'
              newvalue: gr303RDT
            - value: '178'
              newvalue: gr303IDT
            - value: '179'
              newvalue: isup
            - value: '180'
              newvalue: propDocsWirelessMaclayer
            - value: '181'
              newvalue: propDocsWirelessDownstream
            - value: '182'
              newvalue: propDocsWirelessUpstream
            - value: '183'
              newvalue: hiperlan2
            - value: '184'
              newvalue: propBWAp2Mp
            - value: '185'
              newvalue: sonetOverheadChannel
            - value: '186'
              newvalue: digitalWrapperOverheadChannel
            - value: '187'
              newvalue: aal2
            - value: '188'
              newvalue: radioMAC
            - value: '189'
              newvalue: atmRadio
            - value: '190'
              newvalue: imt
            - value: '191'
              newvalue: mvl
            - value: '192'
              newvalue: reachDSL
            - value: '193'
              newvalue: frDlciEndPt
            - value: '194'
              newvalue: atmVciEndPt
            - value: '195'
              newvalue: opticalChannel
            - value: '196'
              newvalue: opticalTransport
            - value: '197'
              newvalue: propAtm
            - value: '198'
              newvalue: voiceOverCable
            - value: '199'
              newvalue: infiniband
            - value: '200'
              newvalue: teLink
            - value: '201'
              newvalue: q2931
            - value: '202'
              newvalue: virtualTg
            - value: '203'
              newvalue: sipTg
            - value: '204'
              newvalue: sipSig
            - value: '205'
              newvalue: docsCableUpstreamChannel
            - value: '206'
              newvalue: econet
            - value: '207'
              newvalue: pon155
            - value: '208'
              newvalue: pon622
            - value: '209'
              newvalue: bridge
            - value: '210'
              newvalue: linegroup
            - value: '211'
              newvalue: voiceEMFGD
            - value: '212'
              newvalue: voiceFGDEANA
            - value: '213'
              newvalue: voiceDID
            - value: '214'
              newvalue: mpegTransport
            - value: '215'
              newvalue: sixToFour
            - value: '216'
              newvalue: gtp
            - value: '217'
              newvalue: pdnEtherLoop1
            - value: '218'
              newvalue: pdnEtherLoop2
            - value: '219'
              newvalue: opticalChannelGroup
            - value: '220'
              newvalue: homepna
            - value: '221'
              newvalue: gfp
            - value: '222'
              newvalue: ciscoISLvlan
            - value: '223'
              newvalue: actelisMetaLOOP
            - value: '224'
              newvalue: fcipLink
            - value: '225'
              newvalue: rpr
            - value: '226'
              newvalue: qam
            - value: '227'
              newvalue: lmp
            - value: '228'
              newvalue: cblVectaStar
            - value: '229'
              newvalue: docsCableMCmtsDownstream
            - value: '230'
              newvalue: adsl2
            - value: '231'
              newvalue: macSecControlledIF
            - value: '232'
              newvalue: macSecUncontrolledIF
            - value: '233'
              newvalue: aviciOpticalEther
            - value: '234'
              newvalue: atmbond
            - value: '235'
              newvalue: voiceFGDOS
            - value: '236'
              newvalue: mocaVersion1
            - value: '237'
              newvalue: ieee80216WMAN
            - value: '238'
              newvalue: adsl2plus
            - value: '239'
              newvalue: dvbRcsMacLayer
            - value: '240'
              newvalue: dvbTdm
            - value: '241'
              newvalue: dvbRcsTdma
            - value: '242'
              newvalue: x86Laps
            - value: '243'
              newvalue: wwanPP
            - value: '244'
              newvalue: wwanPP2
            - value: '245'
              newvalue: voiceEBS
            - value: '246'
              newvalue: ifPwType
            - value: '247'
              newvalue: ilan
            - value: '248'
              newvalue: pip
            - value: '249'
              newvalue: aluELP
            - value: '250'
              newvalue: gpon
            - value: '251'
              newvalue: vdsl2
            - value: '252'
              newvalue: capwapDot11Profile
            - value: '253'
              newvalue: capwapDot11Bss
            - value: '254'
              newvalue: capwapWtpVirtualRadio
            - value: '255'
              newvalue: bits
            - value: '256'
              newvalue: docsCableUpstreamRfPort
            - value: '257'
              newvalue: cableDownstreamRfPort
            - value: '258'
              newvalue: vmwareVirtualNic
            - value: '259'
              newvalue: ieee802154
            - value: '260'
              newvalue: otnOdu
            - value: '261'
              newvalue: otnOtu
            - value: '262'
              newvalue: ifVfiType
            - value: '263'
              newvalue: g9981
            - value: '264'
              newvalue: g9982
            - value: '265'
              newvalue: g9983
            - value: '266'
              newvalue: aluEpon
            - value: '267'
              newvalue: aluEponOnu
            - value: '268'
              newvalue: aluEponPhysicalUni
            - value: '269'
              newvalue: aluEponLogicalLink
            - value: '270'
              newvalue: aluGponOnu
            - value: '271'
              newvalue: aluGponPhysicalUni
            - value: '272'
              newvalue: vmwareNicTeam
            - value: '277'
              newvalue: docsOfdmDownstream
            - value: '278'
              newvalue: docsOfdmaUpstream
            - value: '279'
              newvalue: gfast
            - value: '280'
              newvalue: sdci
            - value: '281'
              newvalue: xboxWireless
            - value: '282'
              newvalue: fastdsl
            - value: '283'
              newvalue: docsCableScte55d1FwdOob
            - value: '284'
              newvalue: docsCableScte55d1RetOob
            - value: '285'
              newvalue: docsCableScte55d2DsOob
            - value: '286'
              newvalue: docsCableScte55d2UsOob
            - value: '287'
              newvalue: docsCableNdf
            - value: '288'
              newvalue: docsCableNdr
            - value: '289'
              newvalue: ptm
            - value: '290'
              newvalue: ghn
        - uuid: d8e4b86f85e549e4a3641b36c3b8c0b2
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 61071e8ff079488dab143843f124fa99
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: c8db153405704d859ba5ee19f08b46f3
      template: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
      name: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
      description: |
        The template for monitoring Switch MikroTik CRS125-24G-1S-2HnD-IN.
        
        24x Gigabit Ethernet layer 3 Smart Switch, 1x SFP cage, LCD, 802.11b/g/n Dual
        Chain wireless, 600MHz CPU, 128MB RAM, Metal desktop case, RouterOS L5
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        MIKROTIK-MIB
        IF-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        The template for monitoring Switch MikroTik CRS125-24G-1S-2HnD-IN.
        
        24x Gigabit Ethernet layer 3 Smart Switch, 1x SFP cage, LCD, 802.11b/g/n Dual Chain wireless, 600MHz CPU, 128MB RAM, Metal desktop case, RouterOS L5
      vendor:
        name: Zabbix
        version: 8.0-4
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: 743501d05f1540d681f8112a805f1a0d
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          description: |
            The host accessibility by ICMP ping.
            
            0 - ICMP ping fails;
            1 - ICMP ping successful.
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: eccaf3e02f9944638588b82322322c32
              expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              name: 'MikroTik: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout. Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 21ee91bb65fc4b6bbb83c1e35558b7d1
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          description: 'The percentage of lost packets.'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 71286dd187734ee18b53fdf73602ef7d
              expression: 'min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmppingloss,5m)<100'
              name: 'MikroTik: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'ICMP packets loss detected.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: f13323a6a0e84d2c865f4bf2d5e59f79
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          description: 'The ICMP ping response time (in seconds).'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 18e8caa0b7a44c64aaec1d5eecf76297
              expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'MikroTik: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'MikroTik: High ICMP ping loss'
                  expression: 'min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmppingloss,5m)<100'
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 5ec4870e9f7c43c3878cf05e1f4dbf09
          name: 'Mikrotik: SNMP walk network interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]'
          key: net.if.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: c0063fa878ba4844b1a81eec31be3a8e
          name: 'SNMP walk wireless interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]'
          key: net.if.wireless.walk
          history: '0'
          value_type: TEXT
          tags:
            - tag: component
              value: raw
        - uuid: 2dff60db5ff640839ebfddbc68c72243
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: adabeec14fdb405495907ef6771a11a1
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.4.0]'
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: b448f8cfabf640ae9f61470baf2dbab1
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: c6403a32598e400db8084d77083d1621
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2fc0c608418046d0bbfc371f5f8d8c22
          name: 'Firmware version'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.4.0]'
          key: system.hw.firmware
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Current firmware version.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: f0c59541e6df4c649e7c2ef76d7bda4b
              expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.firmware,#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.firmware,#2) and length(last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.firmware))>0'
              name: 'MikroTik: Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 6a3ca4bce4da4e8eb6a15a2dcf51bce1
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 589cacbe509547bf944f7c8e3a518c7d
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.3.0]'
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            RouterBOARD serial number.
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: a1cf2d27ddc447988aa808318aef167f
              expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.serialnumber,#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.serialnumber,#2) and length(last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.serialnumber))>0'
              name: 'MikroTik: Device has been replaced'
              event_name: 'MikroTik: Device has been replaced (new serial number received)'
              priority: INFO
              description: 'Device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: d226673194c84ee7968632b06060d905
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.1.1.0]'
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: e0e2d52ad8cd41dd92a97669e89c5fc6
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 6edc651f2acd4a718b1802aec08cad0f
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 681af1da9ba7432aa407019b1ff5192f
              expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.name,#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.name,#2) and length(last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.name))>0'
              name: 'MikroTik: System name has changed'
              event_name: 'MikroTik: System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: 3afb18b2452e45778ce5cdaa20bf58b8
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.3.0]'
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 590c0449f2fe40999ac2d758bfa60058
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.2.0]'
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 31fb56c30de1477bbe69306c2b9e3d69
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.4.4.0]'
          key: 'system.sw.os[mtxrLicVersion.0]'
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Software version.
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: 9bfebd1764bb4acc82fa8c7f175c0b87
              expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.sw.os[mtxrLicVersion.0],#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.sw.os[mtxrLicVersion.0],#2) and length(last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.sw.os[mtxrLicVersion.0]))>0'
              name: 'MikroTik: Operating system description has changed'
              priority: INFO
              description: 'The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: System name has changed'
                  expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.name,#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.name,#2) and length(last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: e4aa12d55f344d8e8a2f78ebb2242db8
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering mounted filesystems.
          tags:
            - tag: component
              value: raw
        - uuid: cb66968d87fe41a2ad4c5cb769849be4
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.5.65536]'
          key: 'vm.memory.total[hrStorageSize.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The size of the storage represented by this entry, in
            units of hrStorageAllocationUnits. This object is
            writable to allow remote configuration of the size of
            the storage area in those cases where such an
            operation makes sense and is possible on the
            underlying system. For example, the amount of main
            memory allocated to a buffer pool might be modified or
            the amount of disk space allocated to virtual memory
            might be modified.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 62b4597135824686b5de3cd51fcd46f4
          name: 'Used memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.6.65536]'
          key: 'vm.memory.used[hrStorageUsed.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 414bec3767eb49c39bd67a135f60ba02
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[memoryUsedPercentage.Memory]'
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 9af92a1dddd0405587bb090b8fd5757d
              expression: 'min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vm.memory.util[memoryUsedPercentage.Memory],5m)>{$MEMORY.UTIL.MAX}'
              name: 'MikroTik: High memory utilization'
              event_name: 'MikroTik: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 752fd8bdeaed449484add53bf1cfbcd7
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 147de2ef3a3447cf9401f4197e911b17
              expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'MikroTik: No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 6d574937fd7e47c8ba7da4fc7df2b812
          name: 'CPU discovery'
          type: DEPENDENT
          key: hrProcessorLoad.discovery
          description: 'HOST-RESOURCES-MIB::hrProcessorTable discovery.'
          item_prototypes:
            - uuid: bbf74ce8d13f4b3eb6e3a949f9fc95fc
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: HOST-RESOURCES-MIB
                The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: c06050c48eac4f8f90df94c6d125f369
                  expression: 'min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.cpu.util[hrProcessorLoad.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 7af56504cad442c68f801cbfff17952b
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 4001b2da26774319b5e8754eccb9ace6
          name: 'Temperature CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.11]'
          key: mtxrHlProcessorTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlProcessorTemperature
            Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: e998ed1fcfc7498a873448c59d912f48
              name: 'CPU: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlProcessorTemperature Processor temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 9f6533c6505948abb10869f4d0a11070
                  expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above critical threshold'
                  event_name: 'MikroTik: CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: e683521cc3de43eaa7c8ecbbb360fb7d
                  expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above warning threshold'
                  event_name: 'MikroTik: CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: CPU: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                      recovery_expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 2d1bba8f19694737a6cb59e12289327c
                  expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3'
                  name: 'MikroTik: CPU: Temperature is too low'
                  event_name: 'MikroTik: CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.11
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: fd1e16940eef4715906c2f8241df141e
          name: 'Temperature sensor discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlTemperature
            Since temperature sensor is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: b9b599a6f7d746959af746bf348c3c45
              name: 'Device: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.10.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlTemperature Device temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
                
                Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 8db96c9e7d164b0fa6d2af61899ea427
                  expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above critical threshold'
                  event_name: 'MikroTik: Device: Temperature is above critical threshold: >{$TEMP_CRIT:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 33c12e280a464d20960ae73341ea3dbe
                  expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above warning threshold'
                  event_name: 'MikroTik: Device: Temperature is above warning threshold: >{$TEMP_WARN:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: Device: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                      recovery_expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 4fa5ef5d55fd4fc8a21516dbfb0ff7eb
                  expression: 'avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Device"}+3'
                  name: 'MikroTik: Device: Temperature is too low'
                  event_name: 'MikroTik: Device: Temperature is too low: <{$TEMP_CRIT_LOW:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.10
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 6da207d2ffa84756a676fa7e7bd19e40
          name: 'LTE modem discovery'
          type: DEPENDENT
          key: mtxrLTEModem.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.LTEMODEM.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrLTEModemInterfaceIndex.'
          item_prototypes:
            - uuid: 28a57925dbcf410287cc33e680208531
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP'
              type: DEPENDENT
              key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRP Reference Signal Received Power.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.4.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: fd43c6f8ed834db3a69e6c30c29878ed
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRP.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low (below {$LTEMODEM.RSRP.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: bf05683ec6bd4882af965c5671bca4c8
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ'
              type: DEPENDENT
              key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRQ Reference Signal Received Quality.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 685f5eba5ddd4b2ba3173fc82367b476
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRQ.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low (below {$LTEMODEM.RSRQ.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 39b0a1c4d5134fb7a2a6bd114278a773
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI'
              type: DEPENDENT
              key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSSI Received Signal Strength Indicator.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 4a4f14e171504413ae16d92597fe1024
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}],5m) < {$LTEMODEM.RSSI.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low (below {$LTEMODEM.RSSI.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 250f123915b94618b4af6aa4166f6e9a
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem SINR'
              type: DEPENDENT
              key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalSINR Signal to Interference & Noise Ratio.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: ed070d7bccb649a49b29eda9b8a02192
                  expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}],5m) < {$LTEMODEM.SINR.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low (below {$LTEMODEM.SINR.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: efcb23bafcdc48f1b64090c437c18799
              name: 'Interface {#IFNAME}({#IFALIAS}): Modem Signal. {#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: e6a361bc321a401dbcc3a362799d450a
          name: 'AP channel discovery'
          type: DEPENDENT
          key: mtxrWlAp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: ^1$
              - macro: '{#IFTYPE}'
                value: ^71$
          description: 'MIKROTIK-MIB::mtxrWlAp.'
          item_prototypes:
            - uuid: cbaec92328d34e08a4c168961cfc8833
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlApAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.11.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ede61f7e21cc41e2abe7e8931aef6b95
              name: 'Interface {#IFNAME}({#IFALIAS}): AP band'
              type: DEPENDENT
              key: 'ssid.band[mtxrWlApBand.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApBand
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 3ce1884489f4482a887756abf92248e5
              name: 'Interface {#IFNAME}({#IFALIAS}): SSID'
              type: DEPENDENT
              key: 'ssid.name[mtxrWlApSsid.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApSsid Service Set Identifier.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 56bdd3739b874e8db259ac6e4736affb
              name: 'Interface {#IFNAME}({#IFALIAS}): AP noise floor'
              type: DEPENDENT
              key: 'ssid.noise[mtxrWlApNoiseFloor.{#SNMPINDEX}]'
              value_type: FLOAT
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApNoiseFloor
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.9.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f952b47d2a4e4f2991db17dd89e79f24
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlApClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: a2e92faea0da45b59a9dd254440c875b
          name: 'CAPsMAN AP channel discovery'
          type: DEPENDENT
          key: mtxrWlCMChannel.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.WIFI.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrWlCMChannel.'
          item_prototypes:
            - uuid: dfcc5d5ab4584fd48ea22b5f5e00e8c6
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlCMAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6509bb0c5e044c0580398ca99b768b75
              name: 'Interface {#IFNAME}({#IFALIAS}): AP channel'
              type: DEPENDENT
              key: 'ssid.channel[mtxrWlCMChannel.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMChannel
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 8661f6e91dbf4d9a93785f07157eec93
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlCMRegClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMRegClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ec83a91a8b284f3a9137c8c4cf36a9c3
              name: 'Interface {#IFNAME}({#IFALIAS}): AP state'
              type: DEPENDENT
              key: 'ssid.state[mtxrWlCMState.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMState Wireless interface state.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 89940e123e8c4c04b402a436c977d999
                  expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/ssid.state[mtxrWlCMState.{#SNMPINDEX}])<>"running-ap"'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): AP interface {#IFNAME}({#IFALIAS}) is not running'
                  priority: WARNING
                  description: 'Access point interface can be not running by different reasons - disabled interface, power off, network link down.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 0f943d18ef9148798fe783d3aadb9047
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 6d300fabf1494f4a8f454eba95dfecf9
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of inbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: d14d2c8908d64ce0b3adb45fc8c4a210
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 0621b5bff79843ea9579eac665a352bc
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: d4d79ba39825445b8cb59e76bb67250e
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of outbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 0558424847e9412889bf0d009e0002c7
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 56ba20c1f5ba4ea58dca9dafd83c8352
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 906c4b98ecff4caf874d44d362a62a07
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              trends: '0'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n`, then the speed of the interface is somewhere in the range of `n-500,000` to `n+499,999`.
                For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.
                For a sub-layer which has no concept of bandwidth, this object should be zero.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e2d06c66e8574b5ca0083ecdb8e5b050
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                - The testing(3) state indicates that no operational packet scan be passed
                - If ifAdminStatus is down(2) then ifOperStatus should be down(2)
                - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
                - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
                - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
                - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.
              valuemap:
                name: 'IF-MIB::ifOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 1f51aae95ee44368be4327fa0bb02c8a
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down.
                    3. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "eternal off" interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: ff460a89977d4935a59a193d08d31f4a
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The type of interface.
                Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
                through updating the syntax of the IANAifType textual convention.
              valuemap:
                name: 'IF-MIB::ifType'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 7ff7bef321134c08bc70b8988abb91c4
              expression: |
                change(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before'
              opdata: 'Current reported speed: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 43f1d416170f493d825b087a88fd8b0e
              expression: |
                (avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)'
              opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'The utilization of the network interface is close to its estimated maximum bandwidth.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 6e91f3d30c5a492dbb56b284594aa6ba
              expression: |
                min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)'
              opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 748a89b01346486f8241d73272e2c669
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          master_item:
            key: net.if.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 6b80e43f0d004ab4baeb51a772d91457
          name: 'Storage discovery'
          type: DEPENDENT
          key: storage.discovery
          filter:
            evaltype: OR
            conditions:
              - macro: '{#STORAGE_TYPE}'
                value: .+4$
              - macro: '{#STORAGE_TYPE}'
                value: .+hrStorageFixedDisk
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: 929ef695efdf4e60a2e47cc0be74e69c
              name: 'Disk-{#SNMPINDEX}: Space utilization'
              type: CALCULATED
              key: 'vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: '(last(//vfs.fs.used[hrStorageSize.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100'
              description: 'The space utilization expressed in % for Disk-{#SNMPINDEX}.'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 1c12733c14eb45a8bb36b3fcb8ef7ce7
              name: 'Disk-{#SNMPINDEX}: Total space'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in
                units of hrStorageAllocationUnits. This object is
                writable to allow remote configuration of the size of
                the storage area in those cases where such an
                operation makes sense and is possible on the
                underlying system. For example, the amount of main
                memory allocated to a buffer pool might be modified or
                the amount of disk space allocated to virtual memory
                might be modified.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 6202b55760514c64832b9df48828c344
              name: 'Disk-{#SNMPINDEX}: Used space'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          trigger_prototypes:
            - uuid: e5df295edd2848329708aaf765a8e8be
              expression: |
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: AVERAGE
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
            - uuid: 31ff4cd8ae95435193ecc37238327c4c
              expression: |
                last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: WARNING
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
                  expression: |
                    last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                    ((last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
          graph_prototypes:
            - uuid: e4d5a4fb28804aacb284c58ce3b8cc09
              name: 'Disk-{#SNMPINDEX}: Disk space usage'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                    key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#FSNAME}'
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - '{#ALLOC_UNITS}'
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - '{#STORAGE_TYPE}'
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: crs125-24g-1s-2hnd-in
        - tag: target
          value: mikrotik
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'The critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$IFNAME.LTEMODEM.MATCHES}'
          value: ^lte
          description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'LTE interface name filter'
            description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
        - macro: '{$IFNAME.WIFI.MATCHES}'
          value: WIFI
          description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'WiFi interface name filter'
            description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
        - macro: '{$LTEMODEM.RSRP.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSRP minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'LTE modem RSRP minimum warning value'
            description: 'The LTE modem RSRP minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSRQ.MIN.WARN}'
          value: '-20'
          description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'LTE modem RSRQ minimum warning value'
            description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSSI.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSSI minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'LTE modem RSSI minimum warning value'
            description: 'The LTE modem RSSI minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.SINR.MIN.WARN}'
          value: '0'
          description: 'The LTE modem SINR minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'LTE modem SINR minimum warning value'
            description: 'The LTE modem SINR minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Threshold for maximum memory utilization in %.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'Threshold for maximum memory utilization in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0 bridge` by default.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          description: 'Critical threshold for temperature.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            description: 'Critical threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          description: 'Critical threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            description: 'Critical threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          description: 'Critical threshold for low temperature.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            description: 'Critical threshold for low temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN}'
          value: '50'
          description: 'Warning threshold for temperature.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            description: 'Warning threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          description: 'Warning threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            description: 'Warning threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'The critical threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'The warning threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 00fd7d5a79c1491e9e76559f3ee86cb1
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: 88ab84cb938a40a3918f884efd188d15
          name: 'IF-MIB::ifOperStatus'
          mappings:
            - value: '1'
              newvalue: up
            - value: '2'
              newvalue: down
            - value: '4'
              newvalue: unknown
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: notPresent
            - value: '7'
              newvalue: lowerLayerDown
        - uuid: 6b690add355342aea58455d2e54f9202
          name: 'IF-MIB::ifType'
          mappings:
            - value: '1'
              newvalue: other
            - value: '2'
              newvalue: regular1822
            - value: '3'
              newvalue: hdh1822
            - value: '4'
              newvalue: ddnX25
            - value: '5'
              newvalue: rfc877x25
            - value: '6'
              newvalue: ethernetCsmacd
            - value: '7'
              newvalue: iso88023Csmacd
            - value: '8'
              newvalue: iso88024TokenBus
            - value: '9'
              newvalue: iso88025TokenRing
            - value: '10'
              newvalue: iso88026Man
            - value: '11'
              newvalue: starLan
            - value: '12'
              newvalue: proteon10Mbit
            - value: '13'
              newvalue: proteon80Mbit
            - value: '14'
              newvalue: hyperchannel
            - value: '15'
              newvalue: fddi
            - value: '16'
              newvalue: lapb
            - value: '17'
              newvalue: sdlc
            - value: '18'
              newvalue: ds1
            - value: '19'
              newvalue: e1
            - value: '20'
              newvalue: basicISDN
            - value: '21'
              newvalue: primaryISDN
            - value: '22'
              newvalue: propPointToPointSerial
            - value: '23'
              newvalue: ppp
            - value: '24'
              newvalue: softwareLoopback
            - value: '25'
              newvalue: eon
            - value: '26'
              newvalue: ethernet3Mbit
            - value: '27'
              newvalue: nsip
            - value: '28'
              newvalue: slip
            - value: '29'
              newvalue: ultra
            - value: '30'
              newvalue: ds3
            - value: '31'
              newvalue: sip
            - value: '32'
              newvalue: frameRelay
            - value: '33'
              newvalue: rs232
            - value: '34'
              newvalue: para
            - value: '35'
              newvalue: arcnet
            - value: '36'
              newvalue: arcnetPlus
            - value: '37'
              newvalue: atm
            - value: '38'
              newvalue: miox25
            - value: '39'
              newvalue: sonet
            - value: '40'
              newvalue: x25ple
            - value: '41'
              newvalue: iso88022llc
            - value: '42'
              newvalue: localTalk
            - value: '43'
              newvalue: smdsDxi
            - value: '44'
              newvalue: frameRelayService
            - value: '45'
              newvalue: v35
            - value: '46'
              newvalue: hssi
            - value: '47'
              newvalue: hippi
            - value: '48'
              newvalue: modem
            - value: '49'
              newvalue: aal5
            - value: '50'
              newvalue: sonetPath
            - value: '51'
              newvalue: sonetVT
            - value: '52'
              newvalue: smdsIcip
            - value: '53'
              newvalue: propVirtual
            - value: '54'
              newvalue: propMultiplexor
            - value: '55'
              newvalue: ieee80212
            - value: '56'
              newvalue: fibreChannel
            - value: '57'
              newvalue: hippiInterface
            - value: '58'
              newvalue: frameRelayInterconnect
            - value: '59'
              newvalue: aflane8023
            - value: '60'
              newvalue: aflane8025
            - value: '61'
              newvalue: cctEmul
            - value: '62'
              newvalue: fastEther
            - value: '63'
              newvalue: isdn
            - value: '64'
              newvalue: v11
            - value: '65'
              newvalue: v36
            - value: '66'
              newvalue: g703at64k
            - value: '67'
              newvalue: g703at2mb
            - value: '68'
              newvalue: qllc
            - value: '69'
              newvalue: fastEtherFX
            - value: '70'
              newvalue: channel
            - value: '71'
              newvalue: ieee80211
            - value: '72'
              newvalue: ibm370parChan
            - value: '73'
              newvalue: escon
            - value: '74'
              newvalue: dlsw
            - value: '75'
              newvalue: isdns
            - value: '76'
              newvalue: isdnu
            - value: '77'
              newvalue: lapd
            - value: '78'
              newvalue: ipSwitch
            - value: '79'
              newvalue: rsrb
            - value: '80'
              newvalue: atmLogical
            - value: '81'
              newvalue: ds0
            - value: '82'
              newvalue: ds0Bundle
            - value: '83'
              newvalue: bsc
            - value: '84'
              newvalue: async
            - value: '85'
              newvalue: cnr
            - value: '86'
              newvalue: iso88025Dtr
            - value: '87'
              newvalue: eplrs
            - value: '88'
              newvalue: arap
            - value: '89'
              newvalue: propCnls
            - value: '90'
              newvalue: hostPad
            - value: '91'
              newvalue: termPad
            - value: '92'
              newvalue: frameRelayMPI
            - value: '93'
              newvalue: x213
            - value: '94'
              newvalue: adsl
            - value: '95'
              newvalue: radsl
            - value: '96'
              newvalue: sdsl
            - value: '97'
              newvalue: vdsl
            - value: '98'
              newvalue: iso88025CRFPInt
            - value: '99'
              newvalue: myrinet
            - value: '100'
              newvalue: voiceEM
            - value: '101'
              newvalue: voiceFXO
            - value: '102'
              newvalue: voiceFXS
            - value: '103'
              newvalue: voiceEncap
            - value: '104'
              newvalue: voiceOverIp
            - value: '105'
              newvalue: atmDxi
            - value: '106'
              newvalue: atmFuni
            - value: '107'
              newvalue: atmIma
            - value: '108'
              newvalue: pppMultilinkBundle
            - value: '109'
              newvalue: ipOverCdlc
            - value: '110'
              newvalue: ipOverClaw
            - value: '111'
              newvalue: stackToStack
            - value: '112'
              newvalue: virtualIpAddress
            - value: '113'
              newvalue: mpc
            - value: '114'
              newvalue: ipOverAtm
            - value: '115'
              newvalue: iso88025Fiber
            - value: '116'
              newvalue: tdlc
            - value: '117'
              newvalue: gigabitEthernet
            - value: '118'
              newvalue: hdlc
            - value: '119'
              newvalue: lapf
            - value: '120'
              newvalue: v37
            - value: '121'
              newvalue: x25mlp
            - value: '122'
              newvalue: x25huntGroup
            - value: '123'
              newvalue: trasnpHdlc
            - value: '124'
              newvalue: interleave
            - value: '125'
              newvalue: fast
            - value: '126'
              newvalue: ip
            - value: '127'
              newvalue: docsCableMaclayer
            - value: '128'
              newvalue: docsCableDownstream
            - value: '129'
              newvalue: docsCableUpstream
            - value: '130'
              newvalue: a12MppSwitch
            - value: '131'
              newvalue: tunnel
            - value: '132'
              newvalue: coffee
            - value: '133'
              newvalue: ces
            - value: '134'
              newvalue: atmSubInterface
            - value: '135'
              newvalue: l2vlan
            - value: '136'
              newvalue: l3ipvlan
            - value: '137'
              newvalue: l3ipxvlan
            - value: '138'
              newvalue: digitalPowerline
            - value: '139'
              newvalue: mediaMailOverIp
            - value: '140'
              newvalue: dtm
            - value: '141'
              newvalue: dcn
            - value: '142'
              newvalue: ipForward
            - value: '143'
              newvalue: msdsl
            - value: '144'
              newvalue: ieee1394
            - value: '145'
              newvalue: if-gsn
            - value: '146'
              newvalue: dvbRccMacLayer
            - value: '147'
              newvalue: dvbRccDownstream
            - value: '148'
              newvalue: dvbRccUpstream
            - value: '149'
              newvalue: atmVirtual
            - value: '150'
              newvalue: mplsTunnel
            - value: '151'
              newvalue: srp
            - value: '152'
              newvalue: voiceOverAtm
            - value: '153'
              newvalue: voiceOverFrameRelay
            - value: '154'
              newvalue: idsl
            - value: '155'
              newvalue: compositeLink
            - value: '156'
              newvalue: ss7SigLink
            - value: '157'
              newvalue: propWirelessP2P
            - value: '158'
              newvalue: frForward
            - value: '159'
              newvalue: rfc1483
            - value: '160'
              newvalue: usb
            - value: '161'
              newvalue: ieee8023adLag
            - value: '162'
              newvalue: bgppolicyaccounting
            - value: '163'
              newvalue: frf16MfrBundle
            - value: '164'
              newvalue: h323Gatekeeper
            - value: '165'
              newvalue: h323Proxy
            - value: '166'
              newvalue: mpls
            - value: '167'
              newvalue: mfSigLink
            - value: '168'
              newvalue: hdsl2
            - value: '169'
              newvalue: shdsl
            - value: '170'
              newvalue: ds1FDL
            - value: '171'
              newvalue: pos
            - value: '172'
              newvalue: dvbAsiIn
            - value: '173'
              newvalue: dvbAsiOut
            - value: '174'
              newvalue: plc
            - value: '175'
              newvalue: nfas
            - value: '176'
              newvalue: tr008
            - value: '177'
              newvalue: gr303RDT
            - value: '178'
              newvalue: gr303IDT
            - value: '179'
              newvalue: isup
            - value: '180'
              newvalue: propDocsWirelessMaclayer
            - value: '181'
              newvalue: propDocsWirelessDownstream
            - value: '182'
              newvalue: propDocsWirelessUpstream
            - value: '183'
              newvalue: hiperlan2
            - value: '184'
              newvalue: propBWAp2Mp
            - value: '185'
              newvalue: sonetOverheadChannel
            - value: '186'
              newvalue: digitalWrapperOverheadChannel
            - value: '187'
              newvalue: aal2
            - value: '188'
              newvalue: radioMAC
            - value: '189'
              newvalue: atmRadio
            - value: '190'
              newvalue: imt
            - value: '191'
              newvalue: mvl
            - value: '192'
              newvalue: reachDSL
            - value: '193'
              newvalue: frDlciEndPt
            - value: '194'
              newvalue: atmVciEndPt
            - value: '195'
              newvalue: opticalChannel
            - value: '196'
              newvalue: opticalTransport
            - value: '197'
              newvalue: propAtm
            - value: '198'
              newvalue: voiceOverCable
            - value: '199'
              newvalue: infiniband
            - value: '200'
              newvalue: teLink
            - value: '201'
              newvalue: q2931
            - value: '202'
              newvalue: virtualTg
            - value: '203'
              newvalue: sipTg
            - value: '204'
              newvalue: sipSig
            - value: '205'
              newvalue: docsCableUpstreamChannel
            - value: '206'
              newvalue: econet
            - value: '207'
              newvalue: pon155
            - value: '208'
              newvalue: pon622
            - value: '209'
              newvalue: bridge
            - value: '210'
              newvalue: linegroup
            - value: '211'
              newvalue: voiceEMFGD
            - value: '212'
              newvalue: voiceFGDEANA
            - value: '213'
              newvalue: voiceDID
            - value: '214'
              newvalue: mpegTransport
            - value: '215'
              newvalue: sixToFour
            - value: '216'
              newvalue: gtp
            - value: '217'
              newvalue: pdnEtherLoop1
            - value: '218'
              newvalue: pdnEtherLoop2
            - value: '219'
              newvalue: opticalChannelGroup
            - value: '220'
              newvalue: homepna
            - value: '221'
              newvalue: gfp
            - value: '222'
              newvalue: ciscoISLvlan
            - value: '223'
              newvalue: actelisMetaLOOP
            - value: '224'
              newvalue: fcipLink
            - value: '225'
              newvalue: rpr
            - value: '226'
              newvalue: qam
            - value: '227'
              newvalue: lmp
            - value: '228'
              newvalue: cblVectaStar
            - value: '229'
              newvalue: docsCableMCmtsDownstream
            - value: '230'
              newvalue: adsl2
            - value: '231'
              newvalue: macSecControlledIF
            - value: '232'
              newvalue: macSecUncontrolledIF
            - value: '233'
              newvalue: aviciOpticalEther
            - value: '234'
              newvalue: atmbond
            - value: '235'
              newvalue: voiceFGDOS
            - value: '236'
              newvalue: mocaVersion1
            - value: '237'
              newvalue: ieee80216WMAN
            - value: '238'
              newvalue: adsl2plus
            - value: '239'
              newvalue: dvbRcsMacLayer
            - value: '240'
              newvalue: dvbTdm
            - value: '241'
              newvalue: dvbRcsTdma
            - value: '242'
              newvalue: x86Laps
            - value: '243'
              newvalue: wwanPP
            - value: '244'
              newvalue: wwanPP2
            - value: '245'
              newvalue: voiceEBS
            - value: '246'
              newvalue: ifPwType
            - value: '247'
              newvalue: ilan
            - value: '248'
              newvalue: pip
            - value: '249'
              newvalue: aluELP
            - value: '250'
              newvalue: gpon
            - value: '251'
              newvalue: vdsl2
            - value: '252'
              newvalue: capwapDot11Profile
            - value: '253'
              newvalue: capwapDot11Bss
            - value: '254'
              newvalue: capwapWtpVirtualRadio
            - value: '255'
              newvalue: bits
            - value: '256'
              newvalue: docsCableUpstreamRfPort
            - value: '257'
              newvalue: cableDownstreamRfPort
            - value: '258'
              newvalue: vmwareVirtualNic
            - value: '259'
              newvalue: ieee802154
            - value: '260'
              newvalue: otnOdu
            - value: '261'
              newvalue: otnOtu
            - value: '262'
              newvalue: ifVfiType
            - value: '263'
              newvalue: g9981
            - value: '264'
              newvalue: g9982
            - value: '265'
              newvalue: g9983
            - value: '266'
              newvalue: aluEpon
            - value: '267'
              newvalue: aluEponOnu
            - value: '268'
              newvalue: aluEponPhysicalUni
            - value: '269'
              newvalue: aluEponLogicalLink
            - value: '270'
              newvalue: aluGponOnu
            - value: '271'
              newvalue: aluGponPhysicalUni
            - value: '272'
              newvalue: vmwareNicTeam
            - value: '277'
              newvalue: docsOfdmDownstream
            - value: '278'
              newvalue: docsOfdmaUpstream
            - value: '279'
              newvalue: gfast
            - value: '280'
              newvalue: sdci
            - value: '281'
              newvalue: xboxWireless
            - value: '282'
              newvalue: fastdsl
            - value: '283'
              newvalue: docsCableScte55d1FwdOob
            - value: '284'
              newvalue: docsCableScte55d1RetOob
            - value: '285'
              newvalue: docsCableScte55d2DsOob
            - value: '286'
              newvalue: docsCableScte55d2UsOob
            - value: '287'
              newvalue: docsCableNdf
            - value: '288'
              newvalue: docsCableNdr
            - value: '289'
              newvalue: ptm
            - value: '290'
              newvalue: ghn
        - uuid: b217d2a84c9844a08e6fef80c9dc6297
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: be9bb4ec29c7453aaef08944117fa319
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: 6742f5ed33ca4c19b8e61203770e5fe5
      template: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
      name: 'MikroTik CRS328-4C-20S-4S+RM by SNMP'
      description: |
        The template for monitoring Switch MikroTik CRS328-4C-20S-4S+RM.
        
        Smart Switch, 20 x SFP cages, 4 x SFP+ cages, 4 x Combo ports (Gigabit Ethernet
        or SFP), 800MHz CPU, 512MB RAM, 1U rackmount case, Dual Power Supplies, RouterOS
        L5 or SwitchOS (Dual Boot)
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        MIKROTIK-MIB
        IF-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        The template for monitoring Switch MikroTik CRS328-4C-20S-4S+RM.
        
        Smart Switch, 20 x SFP cages, 4 x SFP+ cages, 4 x Combo ports (Gigabit Ethernet or SFP), 800MHz CPU, 512MB RAM, 1U rackmount case, Dual Power Supplies, RouterOS L5 or SwitchOS (Dual Boot)
      vendor:
        name: Zabbix
        version: 8.0-4
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: 1d202d0a1c0d45d09a995ef741176869
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          description: |
            The host accessibility by ICMP ping.
            
            0 - ICMP ping fails;
            1 - ICMP ping successful.
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: fa71a2bcc742439a8eb76923db6dd34c
              expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmpping,#3)=0'
              name: 'MikroTik: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout. Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: ec3285050dd44b47b648f9c61ab8c9e4
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          description: 'The percentage of lost packets.'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: c315770210b94fe39126514c41d6fa5d
              expression: 'min(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmppingloss,5m)<100'
              name: 'MikroTik: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'ICMP packets loss detected.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: b71903a18c4246238d7e9a8e99904794
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          description: 'The ICMP ping response time (in seconds).'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: fe1eba68b565403a968bec8561362376
              expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'MikroTik: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'MikroTik: High ICMP ping loss'
                  expression: 'min(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmppingloss,5m)<100'
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 7c6d299419b845b99644d879daa6b0e1
          name: 'Mikrotik: SNMP walk network interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]'
          key: net.if.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: 1e02843c30d241f8bcf0dd63715fda44
          name: 'SNMP walk wireless interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]'
          key: net.if.wireless.walk
          history: '0'
          value_type: TEXT
          tags:
            - tag: component
              value: raw
        - uuid: 6460447c65a6427cafd53e618d5d7bc1
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: bb4b0528c6c946b49f5b7a8da8cbabe0
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.4.0]'
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2e69894166ce430f8a7bf30e51948684
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: 1caa3bcecbf441d4bdea4e1adcfd399d
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 1b876d8c8ea3422a82e4b571853bee64
          name: 'Firmware version'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.4.0]'
          key: system.hw.firmware
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Current firmware version.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 656a970a84fd4f65adc021b317f8db04
              expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.firmware,#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.firmware,#2) and length(last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.firmware))>0'
              name: 'MikroTik: Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: ecb890a4585f47989973617ca4fcce42
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: c283b3b41d074d9596145d97f33d132b
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.3.0]'
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            RouterBOARD serial number.
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: ba6f7f02b3dc47b6a15a40f81c86ee1e
              expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.serialnumber,#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.serialnumber,#2) and length(last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.serialnumber))>0'
              name: 'MikroTik: Device has been replaced'
              event_name: 'MikroTik: Device has been replaced (new serial number received)'
              priority: INFO
              description: 'Device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 2521a17fcdb048c3ac5b3e425eb48ad6
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.1.1.0]'
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 8539d2a032e741b1845d6423772600ec
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 7731343e3a584e4cba4241f6114f1b12
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: caff4557fe8d4e0cb994c16a4d1c3eae
              expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.name,#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.name,#2) and length(last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.name))>0'
              name: 'MikroTik: System name has changed'
              event_name: 'MikroTik: System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: 38d674115439443a848b43c72e71a345
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.3.0]'
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: fa9788e34ffe4107bf7b1d72008af5e6
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.2.0]'
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: f2e20d27ca50462c88220e91f24b11c8
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.4.4.0]'
          key: 'system.sw.os[mtxrLicVersion.0]'
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Software version.
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: b720a6b27e14473db885682085ce07e1
              expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.sw.os[mtxrLicVersion.0],#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.sw.os[mtxrLicVersion.0],#2) and length(last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.sw.os[mtxrLicVersion.0]))>0'
              name: 'MikroTik: Operating system description has changed'
              priority: INFO
              description: 'The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: System name has changed'
                  expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.name,#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.name,#2) and length(last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: d9dad10e76a949bd8447e97f6b566ba8
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering mounted filesystems.
          tags:
            - tag: component
              value: raw
        - uuid: 9c917c649b6e4a849283c5cd8c9f3c93
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.5.65536]'
          key: 'vm.memory.total[hrStorageSize.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The size of the storage represented by this entry, in
            units of hrStorageAllocationUnits. This object is
            writable to allow remote configuration of the size of
            the storage area in those cases where such an
            operation makes sense and is possible on the
            underlying system. For example, the amount of main
            memory allocated to a buffer pool might be modified or
            the amount of disk space allocated to virtual memory
            might be modified.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 357a2467154c4dd283f76b9cdbdff62e
          name: 'Used memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.6.65536]'
          key: 'vm.memory.used[hrStorageUsed.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: e5e85e7c2e0440cb90dcff96deffd559
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[memoryUsedPercentage.Memory]'
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 6d68e3acb5a34a9eb68f6ea1e329241d
              expression: 'min(/MikroTik CRS328-4C-20S-4SRM by SNMP/vm.memory.util[memoryUsedPercentage.Memory],5m)>{$MEMORY.UTIL.MAX}'
              name: 'MikroTik: High memory utilization'
              event_name: 'MikroTik: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 4087946c74884ef085a79fe174495646
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: eaa6f1c7bd334122af4cb08af35ebd86
              expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'MikroTik: No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 06aae70f34df4409af34ca144482a0eb
          name: 'CPU discovery'
          type: DEPENDENT
          key: hrProcessorLoad.discovery
          description: 'HOST-RESOURCES-MIB::hrProcessorTable discovery.'
          item_prototypes:
            - uuid: 400249b05da24140970579ae8d488406
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: HOST-RESOURCES-MIB
                The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 000c63d6cf4d44f28c2705098ce88918
                  expression: 'min(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.cpu.util[hrProcessorLoad.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 8153f104b6d54637a07df2a38faade77
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: b3f51cd4147748e197e79c4497a26d3b
          name: 'Temperature CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.11]'
          key: mtxrHlProcessorTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlProcessorTemperature
            Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: ef785b02dd6742b797ec65468c385499
              name: 'CPU: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlProcessorTemperature Processor temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 23eaad92fd06421a94ed77347ed7805f
                  expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above critical threshold'
                  event_name: 'MikroTik: CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: e596c08e59974762a21d5e7c2bb06eb5
                  expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above warning threshold'
                  event_name: 'MikroTik: CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: CPU: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                      recovery_expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 8faa5c80c64545b8bde41c02bf450288
                  expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3'
                  name: 'MikroTik: CPU: Temperature is too low'
                  event_name: 'MikroTik: CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.11
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 3d3d5ab7c4d54019bdf8030ed47bad6a
          name: 'Temperature sensor discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlTemperature
            Since temperature sensor is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: 4b18f19aca9e44d6bad22909cb335657
              name: 'Device: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.10.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlTemperature Device temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
                
                Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 6e77737e71a640b1b0832fb8a317a848
                  expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above critical threshold'
                  event_name: 'MikroTik: Device: Temperature is above critical threshold: >{$TEMP_CRIT:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 9ea2d3a683994dcc816d7210cfda6f38
                  expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above warning threshold'
                  event_name: 'MikroTik: Device: Temperature is above warning threshold: >{$TEMP_WARN:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: Device: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                      recovery_expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 82fc4ea36e9e4a388e38bf4fb5d46148
                  expression: 'avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik CRS328-4C-20S-4SRM by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Device"}+3'
                  name: 'MikroTik: Device: Temperature is too low'
                  event_name: 'MikroTik: Device: Temperature is too low: <{$TEMP_CRIT_LOW:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.10
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: b50ab71d8aea456cb6f9c9248d4f7dbf
          name: 'LTE modem discovery'
          type: DEPENDENT
          key: mtxrLTEModem.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.LTEMODEM.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrLTEModemInterfaceIndex.'
          item_prototypes:
            - uuid: 5630a05024904a749c7b01d6ae94d783
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP'
              type: DEPENDENT
              key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRP Reference Signal Received Power.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.4.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: eab50deb6a2e45e8b7bcd447dc6c28e9
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRP.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low (below {$LTEMODEM.RSRP.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 4c8305bf9bdf40a8bade711fe408f825
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ'
              type: DEPENDENT
              key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRQ Reference Signal Received Quality.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: a12e8f4ef8c2496aacc7cbc35b9ede34
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRQ.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low (below {$LTEMODEM.RSRQ.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: bdca12c838c045d487053f390a6d8722
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI'
              type: DEPENDENT
              key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSSI Received Signal Strength Indicator.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 32cb826e59324b90910717b778a714f2
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}],5m) < {$LTEMODEM.RSSI.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low (below {$LTEMODEM.RSSI.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 9d3604bde08943debef2b5e7c794c902
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem SINR'
              type: DEPENDENT
              key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalSINR Signal to Interference & Noise Ratio.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 4220c67e66074f048261a4b42092c381
                  expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}],5m) < {$LTEMODEM.SINR.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low (below {$LTEMODEM.SINR.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: e95b0db7e92b43fa8bd9c357027c4fcb
              name: 'Interface {#IFNAME}({#IFALIAS}): Modem Signal. {#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 8a86e70394b14aca90cbd379f6aba7a3
          name: 'AP channel discovery'
          type: DEPENDENT
          key: mtxrWlAp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: ^1$
              - macro: '{#IFTYPE}'
                value: ^71$
          description: 'MIKROTIK-MIB::mtxrWlAp.'
          item_prototypes:
            - uuid: 5e600d097e8b42c283fac75c41b4f032
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlApAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.11.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 1ba331166f2443f1940863a41904f241
              name: 'Interface {#IFNAME}({#IFALIAS}): AP band'
              type: DEPENDENT
              key: 'ssid.band[mtxrWlApBand.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApBand
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: c5dd9be7abc0465c8fbacf67f1ad5267
              name: 'Interface {#IFNAME}({#IFALIAS}): SSID'
              type: DEPENDENT
              key: 'ssid.name[mtxrWlApSsid.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApSsid Service Set Identifier.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 02aa0fbddbd34a9db73896ea41e35045
              name: 'Interface {#IFNAME}({#IFALIAS}): AP noise floor'
              type: DEPENDENT
              key: 'ssid.noise[mtxrWlApNoiseFloor.{#SNMPINDEX}]'
              value_type: FLOAT
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApNoiseFloor
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.9.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 5a3e0dbe67f74cad870becbb1363a577
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlApClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 2ea30a7ef6064f93967dc2c6e33eeb3a
          name: 'CAPsMAN AP channel discovery'
          type: DEPENDENT
          key: mtxrWlCMChannel.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.WIFI.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrWlCMChannel.'
          item_prototypes:
            - uuid: 89bafc75794a491f87f97f7eb5a5c499
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlCMAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 8ab55cb0548f41c0ad2a98bd409be417
              name: 'Interface {#IFNAME}({#IFALIAS}): AP channel'
              type: DEPENDENT
              key: 'ssid.channel[mtxrWlCMChannel.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMChannel
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f95630ccf4364ac995854d22918a0dbf
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlCMRegClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMRegClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 5f9ad684c36e4050beb3e6fd5851ec30
              name: 'Interface {#IFNAME}({#IFALIAS}): AP state'
              type: DEPENDENT
              key: 'ssid.state[mtxrWlCMState.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMState Wireless interface state.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: bd6dc784f23746d19a09b6ea322ecf24
                  expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/ssid.state[mtxrWlCMState.{#SNMPINDEX}])<>"running-ap"'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): AP interface {#IFNAME}({#IFALIAS}) is not running'
                  priority: WARNING
                  description: 'Access point interface can be not running by different reasons - disabled interface, power off, network link down.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: a7df21169dd443bcae6bb4c346303978
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 3cc53291a325471892d06fa2b36dd272
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of inbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 3bd86398a02c4356ad9067fcd1c1c730
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: a4f73343bffa45baa82d1b6d8dfaf831
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e44d0375cae641418ccda6e57a932035
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of outbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 7503b03c728f4f1e804e7af9eda7b040
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 171c12b008354e6aab1ec60320a8425a
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: d2dc748e268d42ffbe47775201a26e8c
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              trends: '0'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n`, then the speed of the interface is somewhere in the range of `n-500,000` to `n+499,999`.
                For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.
                For a sub-layer which has no concept of bandwidth, this object should be zero.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 5e4c53dcbfd34740af71944828ca7450
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                - The testing(3) state indicates that no operational packet scan be passed
                - If ifAdminStatus is down(2) then ifOperStatus should be down(2)
                - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
                - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
                - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
                - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.
              valuemap:
                name: 'IF-MIB::ifOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: d007eb009f2d4b699cf5af8a0ccedfe9
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down.
                    3. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "eternal off" interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: ec088a3b0bac441294cb5cefffb87818
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The type of interface.
                Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
                through updating the syntax of the IANAifType textual convention.
              valuemap:
                name: 'IF-MIB::ifType'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 332308663e4e478d97383a638b2b1d02
              expression: |
                change(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before'
              opdata: 'Current reported speed: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: c854aedfd3594f21b40bd227de48c871
              expression: |
                (avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)'
              opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'The utilization of the network interface is close to its estimated maximum bandwidth.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: f74f365e18d64e2096a326456622b3e1
              expression: |
                min(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)'
              opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik CRS328-4C-20S-4SRM by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 447b17f420a143e0ace94d75858e28fd
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          master_item:
            key: net.if.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 840e6b4e7d664308b2ce4912effc36f7
          name: 'Storage discovery'
          type: DEPENDENT
          key: storage.discovery
          filter:
            evaltype: OR
            conditions:
              - macro: '{#STORAGE_TYPE}'
                value: .+4$
              - macro: '{#STORAGE_TYPE}'
                value: .+hrStorageFixedDisk
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: e2ce3e31898447259ad7631d70f8f192
              name: 'Disk-{#SNMPINDEX}: Space utilization'
              type: CALCULATED
              key: 'vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: '(last(//vfs.fs.used[hrStorageSize.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100'
              description: 'The space utilization expressed in % for Disk-{#SNMPINDEX}.'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: fec4bc35fb504363b8dac0473735b1d9
              name: 'Disk-{#SNMPINDEX}: Total space'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in
                units of hrStorageAllocationUnits. This object is
                writable to allow remote configuration of the size of
                the storage area in those cases where such an
                operation makes sense and is possible on the
                underlying system. For example, the amount of main
                memory allocated to a buffer pool might be modified or
                the amount of disk space allocated to virtual memory
                might be modified.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: d4cc931928874bed96935faa743aaff2
              name: 'Disk-{#SNMPINDEX}: Used space'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          trigger_prototypes:
            - uuid: 708c6b4a613c4795bd2b3c8b10b9fed4
              expression: |
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: AVERAGE
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
            - uuid: 1220479e0e0b4dbbb7590ec2b8359009
              expression: |
                last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: WARNING
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
                  expression: |
                    last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                    ((last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik CRS328-4C-20S-4SRM by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
          graph_prototypes:
            - uuid: 3ce597bd788841829b006adfc17034a2
              name: 'Disk-{#SNMPINDEX}: Disk space usage'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                    key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#FSNAME}'
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - '{#ALLOC_UNITS}'
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - '{#STORAGE_TYPE}'
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: crs328-4c-20s-4splusrm
        - tag: target
          value: mikrotik
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'The critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$IFNAME.LTEMODEM.MATCHES}'
          value: ^lte
          description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'LTE interface name filter'
            description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
        - macro: '{$IFNAME.WIFI.MATCHES}'
          value: WIFI
          description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'WiFi interface name filter'
            description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
        - macro: '{$LTEMODEM.RSRP.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSRP minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'LTE modem RSRP minimum warning value'
            description: 'The LTE modem RSRP minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSRQ.MIN.WARN}'
          value: '-20'
          description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'LTE modem RSRQ minimum warning value'
            description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSSI.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSSI minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'LTE modem RSSI minimum warning value'
            description: 'The LTE modem RSSI minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.SINR.MIN.WARN}'
          value: '0'
          description: 'The LTE modem SINR minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'LTE modem SINR minimum warning value'
            description: 'The LTE modem SINR minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Threshold for maximum memory utilization in %.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'Threshold for maximum memory utilization in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0 bridge` by default.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          description: 'Critical threshold for temperature.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            description: 'Critical threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          description: 'Critical threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            description: 'Critical threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          description: 'Critical threshold for low temperature.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            description: 'Critical threshold for low temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN}'
          value: '50'
          description: 'Warning threshold for temperature.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            description: 'Warning threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          description: 'Warning threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            description: 'Warning threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'The critical threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'The warning threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 6c02eea5cb6f444ba0778bf96801a6ad
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: 42f75b8ccc1642699bc4c681379cdf9a
          name: 'IF-MIB::ifOperStatus'
          mappings:
            - value: '1'
              newvalue: up
            - value: '2'
              newvalue: down
            - value: '4'
              newvalue: unknown
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: notPresent
            - value: '7'
              newvalue: lowerLayerDown
        - uuid: eaf1d4babd704133811b0a0bc912d319
          name: 'IF-MIB::ifType'
          mappings:
            - value: '1'
              newvalue: other
            - value: '2'
              newvalue: regular1822
            - value: '3'
              newvalue: hdh1822
            - value: '4'
              newvalue: ddnX25
            - value: '5'
              newvalue: rfc877x25
            - value: '6'
              newvalue: ethernetCsmacd
            - value: '7'
              newvalue: iso88023Csmacd
            - value: '8'
              newvalue: iso88024TokenBus
            - value: '9'
              newvalue: iso88025TokenRing
            - value: '10'
              newvalue: iso88026Man
            - value: '11'
              newvalue: starLan
            - value: '12'
              newvalue: proteon10Mbit
            - value: '13'
              newvalue: proteon80Mbit
            - value: '14'
              newvalue: hyperchannel
            - value: '15'
              newvalue: fddi
            - value: '16'
              newvalue: lapb
            - value: '17'
              newvalue: sdlc
            - value: '18'
              newvalue: ds1
            - value: '19'
              newvalue: e1
            - value: '20'
              newvalue: basicISDN
            - value: '21'
              newvalue: primaryISDN
            - value: '22'
              newvalue: propPointToPointSerial
            - value: '23'
              newvalue: ppp
            - value: '24'
              newvalue: softwareLoopback
            - value: '25'
              newvalue: eon
            - value: '26'
              newvalue: ethernet3Mbit
            - value: '27'
              newvalue: nsip
            - value: '28'
              newvalue: slip
            - value: '29'
              newvalue: ultra
            - value: '30'
              newvalue: ds3
            - value: '31'
              newvalue: sip
            - value: '32'
              newvalue: frameRelay
            - value: '33'
              newvalue: rs232
            - value: '34'
              newvalue: para
            - value: '35'
              newvalue: arcnet
            - value: '36'
              newvalue: arcnetPlus
            - value: '37'
              newvalue: atm
            - value: '38'
              newvalue: miox25
            - value: '39'
              newvalue: sonet
            - value: '40'
              newvalue: x25ple
            - value: '41'
              newvalue: iso88022llc
            - value: '42'
              newvalue: localTalk
            - value: '43'
              newvalue: smdsDxi
            - value: '44'
              newvalue: frameRelayService
            - value: '45'
              newvalue: v35
            - value: '46'
              newvalue: hssi
            - value: '47'
              newvalue: hippi
            - value: '48'
              newvalue: modem
            - value: '49'
              newvalue: aal5
            - value: '50'
              newvalue: sonetPath
            - value: '51'
              newvalue: sonetVT
            - value: '52'
              newvalue: smdsIcip
            - value: '53'
              newvalue: propVirtual
            - value: '54'
              newvalue: propMultiplexor
            - value: '55'
              newvalue: ieee80212
            - value: '56'
              newvalue: fibreChannel
            - value: '57'
              newvalue: hippiInterface
            - value: '58'
              newvalue: frameRelayInterconnect
            - value: '59'
              newvalue: aflane8023
            - value: '60'
              newvalue: aflane8025
            - value: '61'
              newvalue: cctEmul
            - value: '62'
              newvalue: fastEther
            - value: '63'
              newvalue: isdn
            - value: '64'
              newvalue: v11
            - value: '65'
              newvalue: v36
            - value: '66'
              newvalue: g703at64k
            - value: '67'
              newvalue: g703at2mb
            - value: '68'
              newvalue: qllc
            - value: '69'
              newvalue: fastEtherFX
            - value: '70'
              newvalue: channel
            - value: '71'
              newvalue: ieee80211
            - value: '72'
              newvalue: ibm370parChan
            - value: '73'
              newvalue: escon
            - value: '74'
              newvalue: dlsw
            - value: '75'
              newvalue: isdns
            - value: '76'
              newvalue: isdnu
            - value: '77'
              newvalue: lapd
            - value: '78'
              newvalue: ipSwitch
            - value: '79'
              newvalue: rsrb
            - value: '80'
              newvalue: atmLogical
            - value: '81'
              newvalue: ds0
            - value: '82'
              newvalue: ds0Bundle
            - value: '83'
              newvalue: bsc
            - value: '84'
              newvalue: async
            - value: '85'
              newvalue: cnr
            - value: '86'
              newvalue: iso88025Dtr
            - value: '87'
              newvalue: eplrs
            - value: '88'
              newvalue: arap
            - value: '89'
              newvalue: propCnls
            - value: '90'
              newvalue: hostPad
            - value: '91'
              newvalue: termPad
            - value: '92'
              newvalue: frameRelayMPI
            - value: '93'
              newvalue: x213
            - value: '94'
              newvalue: adsl
            - value: '95'
              newvalue: radsl
            - value: '96'
              newvalue: sdsl
            - value: '97'
              newvalue: vdsl
            - value: '98'
              newvalue: iso88025CRFPInt
            - value: '99'
              newvalue: myrinet
            - value: '100'
              newvalue: voiceEM
            - value: '101'
              newvalue: voiceFXO
            - value: '102'
              newvalue: voiceFXS
            - value: '103'
              newvalue: voiceEncap
            - value: '104'
              newvalue: voiceOverIp
            - value: '105'
              newvalue: atmDxi
            - value: '106'
              newvalue: atmFuni
            - value: '107'
              newvalue: atmIma
            - value: '108'
              newvalue: pppMultilinkBundle
            - value: '109'
              newvalue: ipOverCdlc
            - value: '110'
              newvalue: ipOverClaw
            - value: '111'
              newvalue: stackToStack
            - value: '112'
              newvalue: virtualIpAddress
            - value: '113'
              newvalue: mpc
            - value: '114'
              newvalue: ipOverAtm
            - value: '115'
              newvalue: iso88025Fiber
            - value: '116'
              newvalue: tdlc
            - value: '117'
              newvalue: gigabitEthernet
            - value: '118'
              newvalue: hdlc
            - value: '119'
              newvalue: lapf
            - value: '120'
              newvalue: v37
            - value: '121'
              newvalue: x25mlp
            - value: '122'
              newvalue: x25huntGroup
            - value: '123'
              newvalue: trasnpHdlc
            - value: '124'
              newvalue: interleave
            - value: '125'
              newvalue: fast
            - value: '126'
              newvalue: ip
            - value: '127'
              newvalue: docsCableMaclayer
            - value: '128'
              newvalue: docsCableDownstream
            - value: '129'
              newvalue: docsCableUpstream
            - value: '130'
              newvalue: a12MppSwitch
            - value: '131'
              newvalue: tunnel
            - value: '132'
              newvalue: coffee
            - value: '133'
              newvalue: ces
            - value: '134'
              newvalue: atmSubInterface
            - value: '135'
              newvalue: l2vlan
            - value: '136'
              newvalue: l3ipvlan
            - value: '137'
              newvalue: l3ipxvlan
            - value: '138'
              newvalue: digitalPowerline
            - value: '139'
              newvalue: mediaMailOverIp
            - value: '140'
              newvalue: dtm
            - value: '141'
              newvalue: dcn
            - value: '142'
              newvalue: ipForward
            - value: '143'
              newvalue: msdsl
            - value: '144'
              newvalue: ieee1394
            - value: '145'
              newvalue: if-gsn
            - value: '146'
              newvalue: dvbRccMacLayer
            - value: '147'
              newvalue: dvbRccDownstream
            - value: '148'
              newvalue: dvbRccUpstream
            - value: '149'
              newvalue: atmVirtual
            - value: '150'
              newvalue: mplsTunnel
            - value: '151'
              newvalue: srp
            - value: '152'
              newvalue: voiceOverAtm
            - value: '153'
              newvalue: voiceOverFrameRelay
            - value: '154'
              newvalue: idsl
            - value: '155'
              newvalue: compositeLink
            - value: '156'
              newvalue: ss7SigLink
            - value: '157'
              newvalue: propWirelessP2P
            - value: '158'
              newvalue: frForward
            - value: '159'
              newvalue: rfc1483
            - value: '160'
              newvalue: usb
            - value: '161'
              newvalue: ieee8023adLag
            - value: '162'
              newvalue: bgppolicyaccounting
            - value: '163'
              newvalue: frf16MfrBundle
            - value: '164'
              newvalue: h323Gatekeeper
            - value: '165'
              newvalue: h323Proxy
            - value: '166'
              newvalue: mpls
            - value: '167'
              newvalue: mfSigLink
            - value: '168'
              newvalue: hdsl2
            - value: '169'
              newvalue: shdsl
            - value: '170'
              newvalue: ds1FDL
            - value: '171'
              newvalue: pos
            - value: '172'
              newvalue: dvbAsiIn
            - value: '173'
              newvalue: dvbAsiOut
            - value: '174'
              newvalue: plc
            - value: '175'
              newvalue: nfas
            - value: '176'
              newvalue: tr008
            - value: '177'
              newvalue: gr303RDT
            - value: '178'
              newvalue: gr303IDT
            - value: '179'
              newvalue: isup
            - value: '180'
              newvalue: propDocsWirelessMaclayer
            - value: '181'
              newvalue: propDocsWirelessDownstream
            - value: '182'
              newvalue: propDocsWirelessUpstream
            - value: '183'
              newvalue: hiperlan2
            - value: '184'
              newvalue: propBWAp2Mp
            - value: '185'
              newvalue: sonetOverheadChannel
            - value: '186'
              newvalue: digitalWrapperOverheadChannel
            - value: '187'
              newvalue: aal2
            - value: '188'
              newvalue: radioMAC
            - value: '189'
              newvalue: atmRadio
            - value: '190'
              newvalue: imt
            - value: '191'
              newvalue: mvl
            - value: '192'
              newvalue: reachDSL
            - value: '193'
              newvalue: frDlciEndPt
            - value: '194'
              newvalue: atmVciEndPt
            - value: '195'
              newvalue: opticalChannel
            - value: '196'
              newvalue: opticalTransport
            - value: '197'
              newvalue: propAtm
            - value: '198'
              newvalue: voiceOverCable
            - value: '199'
              newvalue: infiniband
            - value: '200'
              newvalue: teLink
            - value: '201'
              newvalue: q2931
            - value: '202'
              newvalue: virtualTg
            - value: '203'
              newvalue: sipTg
            - value: '204'
              newvalue: sipSig
            - value: '205'
              newvalue: docsCableUpstreamChannel
            - value: '206'
              newvalue: econet
            - value: '207'
              newvalue: pon155
            - value: '208'
              newvalue: pon622
            - value: '209'
              newvalue: bridge
            - value: '210'
              newvalue: linegroup
            - value: '211'
              newvalue: voiceEMFGD
            - value: '212'
              newvalue: voiceFGDEANA
            - value: '213'
              newvalue: voiceDID
            - value: '214'
              newvalue: mpegTransport
            - value: '215'
              newvalue: sixToFour
            - value: '216'
              newvalue: gtp
            - value: '217'
              newvalue: pdnEtherLoop1
            - value: '218'
              newvalue: pdnEtherLoop2
            - value: '219'
              newvalue: opticalChannelGroup
            - value: '220'
              newvalue: homepna
            - value: '221'
              newvalue: gfp
            - value: '222'
              newvalue: ciscoISLvlan
            - value: '223'
              newvalue: actelisMetaLOOP
            - value: '224'
              newvalue: fcipLink
            - value: '225'
              newvalue: rpr
            - value: '226'
              newvalue: qam
            - value: '227'
              newvalue: lmp
            - value: '228'
              newvalue: cblVectaStar
            - value: '229'
              newvalue: docsCableMCmtsDownstream
            - value: '230'
              newvalue: adsl2
            - value: '231'
              newvalue: macSecControlledIF
            - value: '232'
              newvalue: macSecUncontrolledIF
            - value: '233'
              newvalue: aviciOpticalEther
            - value: '234'
              newvalue: atmbond
            - value: '235'
              newvalue: voiceFGDOS
            - value: '236'
              newvalue: mocaVersion1
            - value: '237'
              newvalue: ieee80216WMAN
            - value: '238'
              newvalue: adsl2plus
            - value: '239'
              newvalue: dvbRcsMacLayer
            - value: '240'
              newvalue: dvbTdm
            - value: '241'
              newvalue: dvbRcsTdma
            - value: '242'
              newvalue: x86Laps
            - value: '243'
              newvalue: wwanPP
            - value: '244'
              newvalue: wwanPP2
            - value: '245'
              newvalue: voiceEBS
            - value: '246'
              newvalue: ifPwType
            - value: '247'
              newvalue: ilan
            - value: '248'
              newvalue: pip
            - value: '249'
              newvalue: aluELP
            - value: '250'
              newvalue: gpon
            - value: '251'
              newvalue: vdsl2
            - value: '252'
              newvalue: capwapDot11Profile
            - value: '253'
              newvalue: capwapDot11Bss
            - value: '254'
              newvalue: capwapWtpVirtualRadio
            - value: '255'
              newvalue: bits
            - value: '256'
              newvalue: docsCableUpstreamRfPort
            - value: '257'
              newvalue: cableDownstreamRfPort
            - value: '258'
              newvalue: vmwareVirtualNic
            - value: '259'
              newvalue: ieee802154
            - value: '260'
              newvalue: otnOdu
            - value: '261'
              newvalue: otnOtu
            - value: '262'
              newvalue: ifVfiType
            - value: '263'
              newvalue: g9981
            - value: '264'
              newvalue: g9982
            - value: '265'
              newvalue: g9983
            - value: '266'
              newvalue: aluEpon
            - value: '267'
              newvalue: aluEponOnu
            - value: '268'
              newvalue: aluEponPhysicalUni
            - value: '269'
              newvalue: aluEponLogicalLink
            - value: '270'
              newvalue: aluGponOnu
            - value: '271'
              newvalue: aluGponPhysicalUni
            - value: '272'
              newvalue: vmwareNicTeam
            - value: '277'
              newvalue: docsOfdmDownstream
            - value: '278'
              newvalue: docsOfdmaUpstream
            - value: '279'
              newvalue: gfast
            - value: '280'
              newvalue: sdci
            - value: '281'
              newvalue: xboxWireless
            - value: '282'
              newvalue: fastdsl
            - value: '283'
              newvalue: docsCableScte55d1FwdOob
            - value: '284'
              newvalue: docsCableScte55d1RetOob
            - value: '285'
              newvalue: docsCableScte55d2DsOob
            - value: '286'
              newvalue: docsCableScte55d2UsOob
            - value: '287'
              newvalue: docsCableNdf
            - value: '288'
              newvalue: docsCableNdr
            - value: '289'
              newvalue: ptm
            - value: '290'
              newvalue: ghn
        - uuid: 057602363ab44b638e1c116e1e4edafd
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 14fa9bc957f644c19e88352fcd00a196
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: fac50638cb77468598c29a6a47520c24
      template: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
      name: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
      description: |
        The template for monitoring Ethernet router MikroTik RB1100AHx4 Dude Edition.
        
        Powerful 1U rackmount router with 13x Gigabit Ethernet ports, 60GB M.2 drive
        for Dude database
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        MIKROTIK-MIB
        IF-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        The template for monitoring Ethernet router MikroTik RB1100AHx4 Dude Edition.
        
        Powerful 1U rackmount router with 13x Gigabit Ethernet ports, 60GB M.2 drive for Dude database
      vendor:
        name: Zabbix
        version: 8.0-4
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: a370113cc46d4415bea51cefdeb21891
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          description: |
            The host accessibility by ICMP ping.
            
            0 - ICMP ping fails;
            1 - ICMP ping successful.
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: c093758529824015be966f41e9e27757
              expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmpping,#3)=0'
              name: 'MikroTik: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout. Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 6573dd2d23f4490f85d5fffe19e388da
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          description: 'The percentage of lost packets.'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 05873e7bbc8347f48daf707af0a3a1df
              expression: 'min(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmppingloss,5m)<100'
              name: 'MikroTik: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'ICMP packets loss detected.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 09e3d93e5dd542ab8436b5b712f77e48
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          description: 'The ICMP ping response time (in seconds).'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: f0a1435b054f46a3a496ab8c92591d96
              expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'MikroTik: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'MikroTik: High ICMP ping loss'
                  expression: 'min(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmppingloss,5m)<100'
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 63022c75670f4965bf5f9ffe2ae5ce98
          name: 'Mikrotik: SNMP walk network interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]'
          key: net.if.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: 0402d2260bea47fba074bd90e441dd88
          name: 'SNMP walk wireless interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]'
          key: net.if.wireless.walk
          history: '0'
          value_type: TEXT
          tags:
            - tag: component
              value: raw
        - uuid: 9578f10764514cd68325646e82d44697
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 45e9507c2cf1476784a4797dd380e048
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.4.0]'
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2f7865bcd7ec419bbf6598b2e8e41c39
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: 0bee0b14582d47b091304be4fb9b8ba1
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: fea2d45d484c40d5bbd0a63bbcf32f38
          name: 'Firmware version'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.4.0]'
          key: system.hw.firmware
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Current firmware version.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 9f571e3e7d7b4025a62cb4d61684a63f
              expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.firmware,#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.firmware,#2) and length(last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.firmware))>0'
              name: 'MikroTik: Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 21aa5025c29a45d4ac5961d07f03f5ca
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: e2160944535143e5a9768b9dc1041bb9
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.7.3.0]'
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            RouterBOARD serial number.
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 6c56d13df5a84f8c81e3b11b5979fe2f
              expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.serialnumber,#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.serialnumber,#2) and length(last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.serialnumber))>0'
              name: 'MikroTik: Device has been replaced'
              event_name: 'MikroTik: Device has been replaced (new serial number received)'
              priority: INFO
              description: 'Device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 424081b2ac3f453f84c7c0cf0d6270e5
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.1.1.0]'
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: a7ceef9763e24dd890f5d4bc0a4074d3
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 85d210e692744fbb94d8a794bbc2034a
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 64b6467c681f43f4954a24d7bc326588
              expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.name,#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.name,#2) and length(last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.name))>0'
              name: 'MikroTik: System name has changed'
              event_name: 'MikroTik: System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: 7e01891bd9194635931778fba9b45fd0
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.3.0]'
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: b95e62bdc53a40a9b4bfc4b023a34067
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.2.0]'
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: c1b8a435332a4608a833703409c3844e
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.4.4.0]'
          key: 'system.sw.os[mtxrLicVersion.0]'
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Software version.
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: cbc5e573f7ff4d4186782e18abb18323
              expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.sw.os[mtxrLicVersion.0],#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.sw.os[mtxrLicVersion.0],#2) and length(last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.sw.os[mtxrLicVersion.0]))>0'
              name: 'MikroTik: Operating system description has changed'
              priority: INFO
              description: 'The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: System name has changed'
                  expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.name,#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.name,#2) and length(last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: c0b8af43957d41bd8b69e6512f6b6a6a
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering mounted filesystems.
          tags:
            - tag: component
              value: raw
        - uuid: 0f96c2050b2d407d9355406ff3ba57da
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.5.65536]'
          key: 'vm.memory.total[hrStorageSize.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The size of the storage represented by this entry, in
            units of hrStorageAllocationUnits. This object is
            writable to allow remote configuration of the size of
            the storage area in those cases where such an
            operation makes sense and is possible on the
            underlying system. For example, the amount of main
            memory allocated to a buffer pool might be modified or
            the amount of disk space allocated to virtual memory
            might be modified.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: a4ba4c5b3c2e48b08231bd8f1ca9acf1
          name: 'Used memory'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.25.2.3.1.6.65536]'
          key: 'vm.memory.used[hrStorageUsed.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 0b6a0a9ba8c5454594c7b6dff8b32963
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[memoryUsedPercentage.Memory]'
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 41dc7494d2d04e2e8fd9f31d744cdf94
              expression: 'min(/MikroTik RB1100AHx4 Dude Edition by SNMP/vm.memory.util[memoryUsedPercentage.Memory],5m)>{$MEMORY.UTIL.MAX}'
              name: 'MikroTik: High memory utilization'
              event_name: 'MikroTik: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 7e0d82664c024f0fbeefb38cd4f91bec
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 289a3d4d39e14627bb26817d21221c05
              expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'MikroTik: No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 430a8cab45af4c24b72972d6373fccd9
          name: 'CPU discovery'
          type: DEPENDENT
          key: hrProcessorLoad.discovery
          description: 'HOST-RESOURCES-MIB::hrProcessorTable discovery.'
          item_prototypes:
            - uuid: c11b3e4201f24576bd2947f464af430d
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: HOST-RESOURCES-MIB
                The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 40af64475bf54290b74ac2ed6f3183f2
                  expression: 'min(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.cpu.util[hrProcessorLoad.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: e1da6708532c4582a7404ccce8e5f1c0
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 3bcc104afb9a4ca29c0fe55a88484b08
          name: 'Temperature CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.11]'
          key: mtxrHlProcessorTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlProcessorTemperature
            Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: f8fe2949e8b247289e731d52c57abf4d
              name: 'CPU: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlProcessorTemperature Processor temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: a1116b45b6e341dabc44b226c4741f97
                  expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above critical threshold'
                  event_name: 'MikroTik: CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 7b61f191e2634044a81981627fb52483
                  expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above warning threshold'
                  event_name: 'MikroTik: CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: CPU: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                      recovery_expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: c62859952edc45fd8c09a267e6badab9
                  expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3'
                  name: 'MikroTik: CPU: Temperature is too low'
                  event_name: 'MikroTik: CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.11
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 7add1dd4dfd84661b86fcf3f932e3ffb
          name: 'Temperature sensor discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlTemperature
            Since temperature sensor is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: ce006f12a6d342539ee9f2f20ff987aa
              name: 'Device: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.10.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlTemperature Device temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
                
                Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 9980a1f6561c4b16935e204dfdf67c65
                  expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above critical threshold'
                  event_name: 'MikroTik: Device: Temperature is above critical threshold: >{$TEMP_CRIT:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: c0be5c2bae7f45e780addd984a3f77c4
                  expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above warning threshold'
                  event_name: 'MikroTik: Device: Temperature is above warning threshold: >{$TEMP_WARN:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: Device: Temperature is above critical threshold'
                      expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                      recovery_expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: ee368004b1f24293b8162d78b456a6d0
                  expression: 'avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/MikroTik RB1100AHx4 Dude Edition by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Device"}+3'
                  name: 'MikroTik: Device: Temperature is too low'
                  event_name: 'MikroTik: Device: Temperature is too low: <{$TEMP_CRIT_LOW:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.10
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: fe42e32d477d4718bf37ff36ff630bb7
          name: 'LTE modem discovery'
          type: DEPENDENT
          key: mtxrLTEModem.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.LTEMODEM.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrLTEModemInterfaceIndex.'
          item_prototypes:
            - uuid: a56f2452a3a4404a8fad38827100fce4
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP'
              type: DEPENDENT
              key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRP Reference Signal Received Power.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.4.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 6b1a507739c940ffb528a41d5af76069
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRP.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low (below {$LTEMODEM.RSRP.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 4d1753721a72454f8681ca87affad3a9
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ'
              type: DEPENDENT
              key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRQ Reference Signal Received Quality.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 0b2b0b8cdf964cc48d7ece2be62d115e
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRQ.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low (below {$LTEMODEM.RSRQ.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: ea0e06c8297147bc9afb9c878f757efe
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI'
              type: DEPENDENT
              key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSSI Received Signal Strength Indicator.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 4d271b81500f4513a1408dfa8f0e1e29
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}],5m) < {$LTEMODEM.RSSI.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low (below {$LTEMODEM.RSSI.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 6c9e70511a6c400a968eee3119cb32a3
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem SINR'
              type: DEPENDENT
              key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalSINR Signal to Interference & Noise Ratio.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 8875480665294938bee208b23d416d34
                  expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}],5m) < {$LTEMODEM.SINR.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low (below {$LTEMODEM.SINR.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 1bc26beb83ed42d1a5818082ca17e1e5
              name: 'Interface {#IFNAME}({#IFALIAS}): Modem Signal. {#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 9dab50003a824e0faddea18cf89e88b2
          name: 'AP channel discovery'
          type: DEPENDENT
          key: mtxrWlAp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: ^1$
              - macro: '{#IFTYPE}'
                value: ^71$
          description: 'MIKROTIK-MIB::mtxrWlAp.'
          item_prototypes:
            - uuid: 0cd27b4eb0ac4eed88c3804848186016
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlApAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.11.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 1d48037aa1f844d49029ed722defe80e
              name: 'Interface {#IFNAME}({#IFALIAS}): AP band'
              type: DEPENDENT
              key: 'ssid.band[mtxrWlApBand.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApBand
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 554c6d88b86641a1a9fc6d1bde08eeb9
              name: 'Interface {#IFNAME}({#IFALIAS}): SSID'
              type: DEPENDENT
              key: 'ssid.name[mtxrWlApSsid.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApSsid Service Set Identifier.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 44f03138eed845a693b071a9d7171c68
              name: 'Interface {#IFNAME}({#IFALIAS}): AP noise floor'
              type: DEPENDENT
              key: 'ssid.noise[mtxrWlApNoiseFloor.{#SNMPINDEX}]'
              value_type: FLOAT
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApNoiseFloor
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.9.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 41192738c7564ca0ad454ab525046438
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlApClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 1d8f0b4f75a044a0a5d8547471514346
          name: 'CAPsMAN AP channel discovery'
          type: DEPENDENT
          key: mtxrWlCMChannel.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.WIFI.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrWlCMChannel.'
          item_prototypes:
            - uuid: 8ed53c72c98940a79c5eb8c840c884f3
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlCMAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: a23cdf72497c47769a089496d4b06773
              name: 'Interface {#IFNAME}({#IFALIAS}): AP channel'
              type: DEPENDENT
              key: 'ssid.channel[mtxrWlCMChannel.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMChannel
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 94a9518972d041a4b82e9237311c6ff4
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlCMRegClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMRegClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: c88218013c5242dc934d0d92775f27e3
              name: 'Interface {#IFNAME}({#IFALIAS}): AP state'
              type: DEPENDENT
              key: 'ssid.state[mtxrWlCMState.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMState Wireless interface state.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: c529624e4a254ecba9659fc9d43f9df4
                  expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/ssid.state[mtxrWlCMState.{#SNMPINDEX}])<>"running-ap"'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): AP interface {#IFNAME}({#IFALIAS}) is not running'
                  priority: WARNING
                  description: 'Access point interface can be not running by different reasons - disabled interface, power off, network link down.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: ee778a5b20f6482d87d473212b740cf5
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 6dedda7d9d7e4debb9fbd1dbf3249e8e
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of inbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 4ee2f3a994dc4cbdb733a0c949775b2b
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f6498742503a431e94f84271b58d5dcf
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6e7823dd59b84368afc4cfa354c740a0
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The number of outbound packets which were chosen to be discarded
                even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
                One possible reason for discarding such a packet could be to free up buffer space.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e2c2d9926c384963b950578e6cc11b8f
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 87badc6ee6b74dc5807a6879d0803754
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: fe56f8b25da34c9da8b0506357f4f3d8
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              trends: '0'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n`, then the speed of the interface is somewhere in the range of `n-500,000` to `n+499,999`.
                For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.
                For a sub-layer which has no concept of bandwidth, this object should be zero.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: d9ef7b596d2c4b02a0b499deef12ded9
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                - The testing(3) state indicates that no operational packet scan be passed
                - If ifAdminStatus is down(2) then ifOperStatus should be down(2)
                - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
                - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
                - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
                - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.
              valuemap:
                name: 'IF-MIB::ifOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 789cf81a742c41dfa356b253b01faeca
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down.
                    3. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "eternal off" interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 85384a663bdb4dabb33a941c52e90843
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              trends: '0'
              description: |
                MIB: IF-MIB
                The type of interface.
                Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
                through updating the syntax of the IANAifType textual convention.
              valuemap:
                name: 'IF-MIB::ifType'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: bf2dcee19ae44de98fed1b9f41d80ea9
              expression: |
                change(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before'
              opdata: 'Current reported speed: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 92470dac23d7480f817f1d903e6ba869
              expression: |
                (avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)'
              opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'The utilization of the network interface is close to its estimated maximum bandwidth.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 7ab169c391b142afa4fd1441d1cb7595
              expression: |
                min(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)'
              opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.'
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/MikroTik RB1100AHx4 Dude Edition by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: aaaa92c62d944ee9a09f600af7ec1e03
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          master_item:
            key: net.if.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 8a9272779331436896db3a69fac40bb7
          name: 'Storage discovery'
          type: DEPENDENT
          key: storage.discovery
          filter:
            evaltype: OR
            conditions:
              - macro: '{#STORAGE_TYPE}'
                value: .+4$
              - macro: '{#STORAGE_TYPE}'
                value: .+hrStorageFixedDisk
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: fbca4c6a7a9e4dbbb44319976eaccbbc
              name: 'Disk-{#SNMPINDEX}: Space utilization'
              type: CALCULATED
              key: 'vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: '(last(//vfs.fs.used[hrStorageSize.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100'
              description: 'The space utilization expressed in % for Disk-{#SNMPINDEX}.'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 0b10047762544ca4b56a3fa543257cfd
              name: 'Disk-{#SNMPINDEX}: Total space'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in
                units of hrStorageAllocationUnits. This object is
                writable to allow remote configuration of the size of
                the storage area in those cases where such an
                operation makes sense and is possible on the
                underlying system. For example, the amount of main
                memory allocated to a buffer pool might be modified or
                the amount of disk space allocated to virtual memory
                might be modified.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 149563c5cf7e42a18f3aaed2cc32c6bd
              name: 'Disk-{#SNMPINDEX}: Used space'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          trigger_prototypes:
            - uuid: 47a1f1bee8f64507900f48de26bba052
              expression: |
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: AVERAGE
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
            - uuid: 419bd5a8f90d4e879be3707a3ad3f551
              expression: |
                last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"} and
                ((last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: WARNING
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
                  expression: |
                    last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                    ((last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/MikroTik RB1100AHx4 Dude Edition by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
          graph_prototypes:
            - uuid: c64a26d248d344d5bf8f64d7265fd7f9
              name: 'Disk-{#SNMPINDEX}: Disk space usage'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                    key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#FSNAME}'
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - '{#ALLOC_UNITS}'
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - '{#STORAGE_TYPE}'
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: mikrotik
        - tag: target
          value: rb1100ahx4-dude-edition
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'The critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$IFNAME.LTEMODEM.MATCHES}'
          value: ^lte
          description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'LTE interface name filter'
            description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
        - macro: '{$IFNAME.WIFI.MATCHES}'
          value: WIFI
          description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'WiFi interface name filter'
            description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
        - macro: '{$LTEMODEM.RSRP.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSRP minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'LTE modem RSRP minimum warning value'
            description: 'The LTE modem RSRP minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSRQ.MIN.WARN}'
          value: '-20'
          description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'LTE modem RSRQ minimum warning value'
            description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSSI.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSSI minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'LTE modem RSSI minimum warning value'
            description: 'The LTE modem RSSI minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.SINR.MIN.WARN}'
          value: '0'
          description: 'The LTE modem SINR minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'LTE modem SINR minimum warning value'
            description: 'The LTE modem SINR minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Threshold for maximum memory utilization in %.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'Threshold for maximum memory utilization in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0 bridge` by default.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          description: 'Critical threshold for temperature.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            description: 'Critical threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          description: 'Critical threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            description: 'Critical threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          description: 'Critical threshold for low temperature.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            description: 'Critical threshold for low temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN}'
          value: '50'
          description: 'Warning threshold for temperature.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            description: 'Warning threshold for temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          description: 'Warning threshold for CPU temperature.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            description: 'Warning threshold for CPU temperature.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'The critical threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of filesystem utilization.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'The warning threshold of filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 6c15e187574e4dffbcf9f606824e01f7
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: 6baa15161f3645ec9f7c55454fb5b575
          name: 'IF-MIB::ifOperStatus'
          mappings:
            - value: '1'
              newvalue: up
            - value: '2'
              newvalue: down
            - value: '4'
              newvalue: unknown
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: notPresent
            - value: '7'
              newvalue: lowerLayerDown
        - uuid: 9fa04834870c42d18cff898de904b7d1
          name: 'IF-MIB::ifType'
          mappings:
            - value: '1'
              newvalue: other
            - value: '2'
              newvalue: regular1822
            - value: '3'
              newvalue: hdh1822
            - value: '4'
              newvalue: ddnX25
            - value: '5'
              newvalue: rfc877x25
            - value: '6'
              newvalue: ethernetCsmacd
            - value: '7'
              newvalue: iso88023Csmacd
            - value: '8'
              newvalue: iso88024TokenBus
            - value: '9'
              newvalue: iso88025TokenRing
            - value: '10'
              newvalue: iso88026Man
            - value: '11'
              newvalue: starLan
            - value: '12'
              newvalue: proteon10Mbit
            - value: '13'
              newvalue: proteon80Mbit
            - value: '14'
              newvalue: hyperchannel
            - value: '15'
              newvalue: fddi
            - value: '16'
              newvalue: lapb
            - value: '17'
              newvalue: sdlc
            - value: '18'
              newvalue: ds1
            - value: '19'
              newvalue: e1
            - value: '20'
              newvalue: basicISDN
            - value: '21'
              newvalue: primaryISDN
            - value: '22'
              newvalue: propPointToPointSerial
            - value: '23'
              newvalue: ppp
            - value: '24'
              newvalue: softwareLoopback
            - value: '25'
              newvalue: eon
            - value: '26'
              newvalue: ethernet3Mbit
            - value: '27'
              newvalue: nsip
            - value: '28'
              newvalue: slip
            - value: '29'
              newvalue: ultra
            - value: '30'
              newvalue: ds3
            - value: '31'
              newvalue: sip
            - value: '32'
              newvalue: frameRelay
            - value: '33'
              newvalue: rs232
            - value: '34'
              newvalue: para
            - value: '35'
              newvalue: arcnet
            - value: '36'
              newvalue: arcnetPlus
            - value: '37'
              newvalue: atm
            - value: '38'
              newvalue: miox25
            - value: '39'
              newvalue: sonet
            - value: '40'
              newvalue: x25ple
            - value: '41'
              newvalue: iso88022llc
            - value: '42'
              newvalue: localTalk
            - value: '43'
              newvalue: smdsDxi
            - value: '44'
              newvalue: frameRelayService
            - value: '45'
              newvalue: v35
            - value: '46'
              newvalue: hssi
            - value: '47'
              newvalue: hippi
            - value: '48'
              newvalue: modem
            - value: '49'
              newvalue: aal5
            - value: '50'
              newvalue: sonetPath
            - value: '51'
              newvalue: sonetVT
            - value: '52'
              newvalue: smdsIcip
            - value: '53'
              newvalue: propVirtual
            - value: '54'
              newvalue: propMultiplexor
            - value: '55'
              newvalue: ieee80212
            - value: '56'
              newvalue: fibreChannel
            - value: '57'
              newvalue: hippiInterface
            - value: '58'
              newvalue: frameRelayInterconnect
            - value: '59'
              newvalue: aflane8023
            - value: '60'
              newvalue: aflane8025
            - value: '61'
              newvalue: cctEmul
            - value: '62'
              newvalue: fastEther
            - value: '63'
              newvalue: isdn
            - value: '64'
              newvalue: v11
            - value: '65'
              newvalue: v36
            - value: '66'
              newvalue: g703at64k
            - value: '67'
              newvalue: g703at2mb
            - value: '68'
              newvalue: qllc
            - value: '69'
              newvalue: fastEtherFX
            - value: '70'
              newvalue: channel
            - value: '71'
              newvalue: ieee80211
            - value: '72'
              newvalue: ibm370parChan
            - value: '73'
              newvalue: escon
            - value: '74'
              newvalue: dlsw
            - value: '75'
              newvalue: isdns
            - value: '76'
              newvalue: isdnu
            - value: '77'
              newvalue: lapd
            - value: '78'
              newvalue: ipSwitch
            - value: '79'
              newvalue: rsrb
            - value: '80'
              newvalue: atmLogical
            - value: '81'
              newvalue: ds0
            - value: '82'
              newvalue: ds0Bundle
            - value: '83'
              newvalue: bsc
            - value: '84'
              newvalue: async
            - value: '85'
              newvalue: cnr
            - value: '86'
              newvalue: iso88025Dtr
            - value: '87'
              newvalue: eplrs
            - value: '88'
              newvalue: arap
            - value: '89'
              newvalue: propCnls
            - value: '90'
              newvalue: hostPad
            - value: '91'
              newvalue: termPad
            - value: '92'
              newvalue: frameRelayMPI
            - value: '93'
              newvalue: x213
            - value: '94'
              newvalue: adsl
            - value: '95'
              newvalue: radsl
            - value: '96'
              newvalue: sdsl
            - value: '97'
              newvalue: vdsl
            - value: '98'
              newvalue: iso88025CRFPInt
            - value: '99'
              newvalue: myrinet
            - value: '100'
              newvalue: voiceEM
            - value: '101'
              newvalue: voiceFXO
            - value: '102'
              newvalue: voiceFXS
            - value: '103'
              newvalue: voiceEncap
            - value: '104'
              newvalue: voiceOverIp
            - value: '105'
              newvalue: atmDxi
            - value: '106'
              newvalue: atmFuni
            - value: '107'
              newvalue: atmIma
            - value: '108'
              newvalue: pppMultilinkBundle
            - value: '109'
              newvalue: ipOverCdlc
            - value: '110'
              newvalue: ipOverClaw
            - value: '111'
              newvalue: stackToStack
            - value: '112'
              newvalue: virtualIpAddress
            - value: '113'
              newvalue: mpc
            - value: '114'
              newvalue: ipOverAtm
            - value: '115'
              newvalue: iso88025Fiber
            - value: '116'
              newvalue: tdlc
            - value: '117'
              newvalue: gigabitEthernet
            - value: '118'
              newvalue: hdlc
            - value: '119'
              newvalue: lapf
            - value: '120'
              newvalue: v37
            - value: '121'
              newvalue: x25mlp
            - value: '122'
              newvalue: x25huntGroup
            - value: '123'
              newvalue: trasnpHdlc
            - value: '124'
              newvalue: interleave
            - value: '125'
              newvalue: fast
            - value: '126'
              newvalue: ip
            - value: '127'
              newvalue: docsCableMaclayer
            - value: '128'
              newvalue: docsCableDownstream
            - value: '129'
              newvalue: docsCableUpstream
            - value: '130'
              newvalue: a12MppSwitch
            - value: '131'
              newvalue: tunnel
            - value: '132'
              newvalue: coffee
            - value: '133'
              newvalue: ces
            - value: '134'
              newvalue: atmSubInterface
            - value: '135'
              newvalue: l2vlan
            - value: '136'
              newvalue: l3ipvlan
            - value: '137'
              newvalue: l3ipxvlan
            - value: '138'
              newvalue: digitalPowerline
            - value: '139'
              newvalue: mediaMailOverIp
            - value: '140'
              newvalue: dtm
            - value: '141'
              newvalue: dcn
            - value: '142'
              newvalue: ipForward
            - value: '143'
              newvalue: msdsl
            - value: '144'
              newvalue: ieee1394
            - value: '145'
              newvalue: if-gsn
            - value: '146'
              newvalue: dvbRccMacLayer
            - value: '147'
              newvalue: dvbRccDownstream
            - value: '148'
              newvalue: dvbRccUpstream
            - value: '149'
              newvalue: atmVirtual
            - value: '150'
              newvalue: mplsTunnel
            - value: '151'
              newvalue: srp
            - value: '152'
              newvalue: voiceOverAtm
            - value: '153'
              newvalue: voiceOverFrameRelay
            - value: '154'
              newvalue: idsl
            - value: '155'
              newvalue: compositeLink
            - value: '156'
              newvalue: ss7SigLink
            - value: '157'
              newvalue: propWirelessP2P
            - value: '158'
              newvalue: frForward
            - value: '159'
              newvalue: rfc1483
            - value: '160'
              newvalue: usb
            - value: '161'
              newvalue: ieee8023adLag
            - value: '162'
              newvalue: bgppolicyaccounting
            - value: '163'
              newvalue: frf16MfrBundle
            - value: '164'
              newvalue: h323Gatekeeper
            - value: '165'
              newvalue: h323Proxy
            - value: '166'
              newvalue: mpls
            - value: '167'
              newvalue: mfSigLink
            - value: '168'
              newvalue: hdsl2
            - value: '169'
              newvalue: shdsl
            - value: '170'
              newvalue: ds1FDL
            - value: '171'
              newvalue: pos
            - value: '172'
              newvalue: dvbAsiIn
            - value: '173'
              newvalue: dvbAsiOut
            - value: '174'
              newvalue: plc
            - value: '175'
              newvalue: nfas
            - value: '176'
              newvalue: tr008
            - value: '177'
              newvalue: gr303RDT
            - value: '178'
              newvalue: gr303IDT
            - value: '179'
              newvalue: isup
            - value: '180'
              newvalue: propDocsWirelessMaclayer
            - value: '181'
              newvalue: propDocsWirelessDownstream
            - value: '182'
              newvalue: propDocsWirelessUpstream
            - value: '183'
              newvalue: hiperlan2
            - value: '184'
              newvalue: propBWAp2Mp
            - value: '185'
              newvalue: sonetOverheadChannel
            - value: '186'
              newvalue: digitalWrapperOverheadChannel
            - value: '187'
              newvalue: aal2
            - value: '188'
              newvalue: radioMAC
            - value: '189'
              newvalue: atmRadio
            - value: '190'
              newvalue: imt
            - value: '191'
              newvalue: mvl
            - value: '192'
              newvalue: reachDSL
            - value: '193'
              newvalue: frDlciEndPt
            - value: '194'
              newvalue: atmVciEndPt
            - value: '195'
              newvalue: opticalChannel
            - value: '196'
              newvalue: opticalTransport
            - value: '197'
              newvalue: propAtm
            - value: '198'
              newvalue: voiceOverCable
            - value: '199'
              newvalue: infiniband
            - value: '200'
              newvalue: teLink
            - value: '201'
              newvalue: q2931
            - value: '202'
              newvalue: virtualTg
            - value: '203'
              newvalue: sipTg
            - value: '204'
              newvalue: sipSig
            - value: '205'
              newvalue: docsCableUpstreamChannel
            - value: '206'
              newvalue: econet
            - value: '207'
              newvalue: pon155
            - value: '208'
              newvalue: pon622
            - value: '209'
              newvalue: bridge
            - value: '210'
              newvalue: linegroup
            - value: '211'
              newvalue: voiceEMFGD
            - value: '212'
              newvalue: voiceFGDEANA
            - value: '213'
              newvalue: voiceDID
            - value: '214'
              newvalue: mpegTransport
            - value: '215'
              newvalue: sixToFour
            - value: '216'
              newvalue: gtp
            - value: '217'
              newvalue: pdnEtherLoop1
            - value: '218'
              newvalue: pdnEtherLoop2
            - value: '219'
              newvalue: opticalChannelGroup
            - value: '220'
              newvalue: homepna
            - value: '221'
              newvalue: gfp
            - value: '222'
              newvalue: ciscoISLvlan
            - value: '223'
              newvalue: actelisMetaLOOP
            - value: '224'
              newvalue: fcipLink
            - value: '225'
              newvalue: rpr
            - value: '226'
              newvalue: qam
            - value: '227'
              newvalue: lmp
            - value: '228'
              newvalue: cblVectaStar
            - value: '229'
              newvalue: docsCableMCmtsDownstream
            - value: '230'
              newvalue: adsl2
            - value: '231'
              newvalue: macSecControlledIF
            - value: '232'
              newvalue: macSecUncontrolledIF
            - value: '233'
              newvalue: aviciOpticalEther
            - value: '234'
              newvalue: atmbond
            - value: '235'
              newvalue: voiceFGDOS
            - value: '236'
              newvalue: mocaVersion1
            - value: '237'
              newvalue: ieee80216WMAN
            - value: '238'
              newvalue: adsl2plus
            - value: '239'
              newvalue: dvbRcsMacLayer
            - value: '240'
              newvalue: dvbTdm
            - value: '241'
              newvalue: dvbRcsTdma
            - value: '242'
              newvalue: x86Laps
            - value: '243'
              newvalue: wwanPP
            - value: '244'
              newvalue: wwanPP2
            - value: '245'
              newvalue: voiceEBS
            - value: '246'
              newvalue: ifPwType
            - value: '247'
              newvalue: ilan
            - value: '248'
              newvalue: pip
            - value: '249'
              newvalue: aluELP
            - value: '250'
              newvalue: gpon
            - value: '251'
              newvalue: vdsl2
            - value: '252'
              newvalue: capwapDot11Profile
            - value: '253'
              newvalue: capwapDot11Bss
            - value: '254'
              newvalue: capwapWtpVirtualRadio
            - value: '255'
              newvalue: bits
            - value: '256'
              newvalue: docsCableUpstreamRfPort
            - value: '257'
              newvalue: cableDownstreamRfPort
            - value: '258'
              newvalue: vmwareVirtualNic
            - value: '259'
              newvalue: ieee802154
            - value: '260'
              newvalue: otnOdu
            - value: '261'
              newvalue: otnOtu
            - value: '262'
              newvalue: ifVfiType
            - value: '263'
              newvalue: g9981
            - value: '264'
              newvalue: g9982
            - value: '265'
              newvalue: g9983
            - value: '266'
              newvalue: aluEpon
            - value: '267'
              newvalue: aluEponOnu
            - value: '268'
              newvalue: aluEponPhysicalUni
            - value: '269'
              newvalue: aluEponLogicalLink
            - value: '270'
              newvalue: aluGponOnu
            - value: '271'
              newvalue: aluGponPhysicalUni
            - value: '272'
              newvalue: vmwareNicTeam
            - value: '277'
              newvalue: docsOfdmDownstream
            - value: '278'
              newvalue: docsOfdmaUpstream
            - value: '279'
              newvalue: gfast
            - value: '280'
              newvalue: sdci
            - value: '281'
              newvalue: xboxWireless
            - value: '282'
              newvalue: fastdsl
            - value: '283'
              newvalue: docsCableScte55d1FwdOob
            - value: '284'
              newvalue: docsCableScte55d1RetOob
            - value: '285'
              newvalue: docsCableScte55d2DsOob
            - value: '286'
              newvalue: docsCableScte55d2UsOob
            - value: '287'
              newvalue: docsCableNdf
            - value: '288'
              newvalue: docsCableNdr
            - value: '289'
              newvalue: ptm
            - value: '290'
              newvalue: ghn
        - uuid: cb3fc2c6a23845979765dc351158e134
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 239cc24f3e7046059da55c621f7f7741
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: 9d672bd570be46fca3756beee93889a3
      template: 'OpenAI Platform by HTTP'
      name: 'OpenAI Platform by HTTP'
      description: |
        Monitoring OpenAI Platform data from https://platform.openai.com.
        
        Setup:
        1. Create an API token (admin key) on https://platform.openai.com/settings/organization/admin-keys.
        2. Enter the API token into the {$OPENAI.API.TOKEN} macro.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback.
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This template is designed for the effortless deployment of [`OpenAI Platform`](https://platform.openai.com) monitoring by Zabbix via HTTP and doesn't require any external scripts.
        
        Please consult the OpenAI [`API documentation`](https://platform.openai.com/docs/api-reference/introduction) for more details.
        
        ## Setup
        
        1. Create an admin token on the [`OpenAI Platform`](https://platform.openai.com/settings/organization/admin-keys) page.
        2. Enter the admin token into the `API token` field.
      vendor:
        name: Zabbix
        version: 8.0-2
      groups:
        - name: Templates/Applications
      items:
        - uuid: 9a98648edd6e485b9c617939f032e714
          name: 'Get completion item errors'
          type: DEPENDENT
          key: openai.completions_data.errors
          value_type: TEXT
          description: 'Item for gathering all the data item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: openai.completions_data.get
          tags:
            - tag: component
              value: error
          triggers:
            - uuid: 53f69d3340524776937d8b395e70e69b
              expression: 'length(last(/OpenAI Platform by HTTP/openai.completions_data.errors))>0'
              name: 'OpenAI Platform: There are errors in the ''Get completions'' metric'
              priority: WARNING
              description: 'An error occurred while attempting to retrieve values for the ''Get completions'' item.'
              tags:
                - tag: scope
                  value: availability
        - uuid: a1eacef4e2714188912f409100b92a4a
          name: 'Get completions'
          type: SCRIPT
          key: openai.completions_data.get
          delay: 10m
          history: '0'
          value_type: TEXT
          params: |
            var OpenAI = {
            	params: {},
            	headers: {},
            
            	setParams: function (params, required) {
            		required = required || [];
            		required.concat(['api_url', 'api_token']).forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined'
            				|| params[field] === '') {
            				throw 'Required parameter is not set: "' + field + '".';
            			}
            		});
            
            		OpenAI.params = params;
            
            		if (typeof OpenAI.params.api_url === 'string' && !OpenAI.params.api_url.endsWith('/')) {
            			OpenAI.params.api_url += '/';
            		}
            	},
            
            	apiRequest: function (uri, params) {
            		var final_data = [],
            			page_cursors = [undefined];
            
            		while (page_cursors.length > 0) {
            			var page_cursor = page_cursors.pop();
            			var request = new HttpRequest(),
            				response;
            
            			var queryString = Object.keys(params).map(function(key) {
            				return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
            			}).join('&');
            
            			if (typeof page_cursor !== 'undefined') {
            				queryString += '&' + ((page_cursor.indexOf('page') !== -1) ? 'page' : 'after') + '=' + encodeURIComponent(page_cursor);
            			}
            
            			request.addHeader('Content-Type: application/json');
            			request.addHeader('Authorization: Bearer ' + OpenAI.params.api_token);
            
            			if (typeof OpenAI.params.http_proxy !== 'undefined' && OpenAI.params.http_proxy !== '') {
            				request.setProxy(OpenAI.params.http_proxy);
            				Zabbix.log(4, '[ OpenAI API ] Using HTTP proxy: ' + OpenAI.params.http_proxy);
            			}
            
            			var url = uri + '?' + queryString;
            
            			Zabbix.log(4, '[ OpenAI API ] Sending request: ' + url);
            
            			response = request.get(url);
            
            			Zabbix.log(4, '[ OpenAI API ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            			if (request.getStatus() < 200 || request.getStatus() >= 300) {
            				throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            			}
            
            			Object.keys(request.getHeaders()).forEach(function(key) {
            				if (key.indexOf('openai') === 0) {
            					OpenAI.headers[key] = request.getHeaders()[key];
            				}
            			});
            
            			try {
            				response = JSON.parse(response);
            			}
            			catch (error) {
            				throw 'Failed to parse response received from API. Check debug log for more information.';
            			}
            
            			final_data = final_data.concat(response.data || []);
            
            			if (response.next_page) {
            				page_cursors.push(response.next_page);
            			}
            
            			if (response.last_id) {
            				page_cursors.push(response.last_id);
            			}
            		}
            
            		return final_data;
            	},
            }
            
            var result = {},
            	now = new Date(),
            	startOfHour = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours()-1),
            	endOfHour = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours());
            
            try {
            	OpenAI.setParams(JSON.parse(value));
            
            	var params = {
            		"start_time": Math.floor(startOfHour.getTime() / 1000),
            		"end_time": Math.floor(endOfHour.getTime() / 1000),
            		"group_by": "model,project_id",
            		"bucket_width": "1h"
            	};
            
            	result['completions'] = OpenAI.apiRequest(
            		OpenAI.params.api_url + 'organization/usage/completions',
            		params
            	);
            }
            catch (error) {
            	error += (String(error).endsWith('.')) ? '' : '.';
            	Zabbix.log(3, '[ OpenAI API ] ERROR: ' + error);
            	result['error'] = error;
            }
            
            return JSON.stringify(result);
          description: 'Item for gathering completion data from the OpenAI Platform.'
          timeout: '{$OPENAI.DATA.TIMEOUT}'
          parameters:
            - name: api_token
              value: '{$OPENAI.TOKEN}'
            - name: api_url
              value: '{$OPENAI.API.URL}'
          tags:
            - tag: component
              value: raw
        - uuid: 7aea5f1d5f5a4f949dbce67f660d4f39
          name: 'Get cost item errors'
          type: DEPENDENT
          key: openai.costs_data.errors
          value_type: TEXT
          description: 'Item for gathering all the data item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: openai.costs_data.get
          tags:
            - tag: component
              value: error
          triggers:
            - uuid: 0f80d278b2744801aa729f51281bf5ec
              expression: 'length(last(/OpenAI Platform by HTTP/openai.costs_data.errors))>0'
              name: 'OpenAI Platform: There are errors in the ''Get costs'' metric'
              priority: WARNING
              description: 'An error occurred while attempting to retrieve values for the ''Get costs'' item.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 31e311b48e0148b4a089b9da89a0fbd6
          name: 'Get costs'
          type: SCRIPT
          key: openai.costs_data.get
          delay: 1h
          history: '0'
          value_type: TEXT
          params: |
            var OpenAI = {
            	params: {},
            	headers: {},
            
            	setParams: function (params, required) {
            		required = required || [];
            		required.concat(['api_url', 'api_token']).forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined'
            				|| params[field] === '') {
            				throw 'Required parameter is not set: "' + field + '".';
            			}
            		});
            
            		OpenAI.params = params;
            
            		if (typeof OpenAI.params.api_url === 'string' && !OpenAI.params.api_url.endsWith('/')) {
            			OpenAI.params.api_url += '/';
            		}
            	},
            
            	apiRequest: function (uri, params) {
            		var final_data = [],
            			page_cursors = [undefined];
            
            		while (page_cursors.length > 0) {
            			var page_cursor = page_cursors.pop();
            			var request = new HttpRequest(),
            				response;
            
            			var queryString = Object.keys(params).map(function(key) {
            				return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
            			}).join('&');
            
            			if (typeof page_cursor !== 'undefined') {
            				queryString += '&' + ((page_cursor.indexOf('page') !== -1) ? 'page' : 'after') + '=' + encodeURIComponent(page_cursor);
            			}
            
            			request.addHeader('Content-Type: application/json');
            			request.addHeader('Authorization: Bearer ' + OpenAI.params.api_token);
            
            			if (typeof OpenAI.params.http_proxy !== 'undefined' && OpenAI.params.http_proxy !== '') {
            				request.setProxy(OpenAI.params.http_proxy);
            				Zabbix.log(4, '[ OpenAI API ] Using HTTP proxy: ' + OpenAI.params.http_proxy);
            			}
            
            			var url = uri + '?' + queryString;
            
            			Zabbix.log(4, '[ OpenAI API ] Sending request: ' + url);
            
            			response = request.get(url);
            
            			Zabbix.log(4, '[ OpenAI API ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            			if (request.getStatus() < 200 || request.getStatus() >= 300) {
            				throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            			}
            
            			Object.keys(request.getHeaders()).forEach(function(key) {
            				if (key.indexOf('openai') === 0) {
            					OpenAI.headers[key] = request.getHeaders()[key];
            				}
            			});
            
            			try {
            				response = JSON.parse(response);
            			}
            			catch (error) {
            				throw 'Failed to parse response received from API. Check debug log for more information.';
            			}
            
            			final_data = final_data.concat(response.data || []);
            
            			if (response.next_page) {
            				page_cursors.push(response.next_page);
            			}
            
            			if (response.last_id) {
            				page_cursors.push(response.last_id);
            			}
            		}
            
            		return final_data;
            	},
            }
            
            var result = {};
            
            try {
            	OpenAI.setParams(JSON.parse(value));
            
            	var params = {
            		"start_time": Math.floor((Date.now() - (86400 * 1000)) / 1000),
            		"group_by": "project_id",
            		"bucket_width": "1d"
            	};
            
            	result['costs'] = OpenAI.apiRequest(
            		OpenAI.params.api_url + 'organization/costs',
            		params
            	);
            }
            catch (error) {
            	error += (String(error).endsWith('.')) ? '' : '.';
            	Zabbix.log(3, '[ OpenAI API ] ERROR: ' + error);
            	result['error'] = error;
            }
            
            return JSON.stringify(result);
          description: 'Item for gathering cost data from the OpenAI Platform.'
          timeout: '{$OPENAI.DATA.TIMEOUT}'
          parameters:
            - name: api_token
              value: '{$OPENAI.TOKEN}'
            - name: api_url
              value: '{$OPENAI.API.URL}'
          tags:
            - tag: component
              value: raw
        - uuid: 2b6389a3066e4a99a7b6e7635cdbca95
          name: 'Total daily expenses'
          type: DEPENDENT
          key: openai.expenses.total
          value_type: FLOAT
          units: '!USD'
          description: 'Total amount of expenses for the past day.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
            - type: JSONPATH
              parameters:
                - '$.costs[0].results..amount.value.sum()'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: openai.costs_data.get
          tags:
            - tag: component
              value: costs
          triggers:
            - uuid: 4ce9883d4f844a65a3a3a9a4fe197b27
              expression: 'last(/OpenAI Platform by HTTP/openai.expenses.total)>{$OPENAI.TOTAL_EXPENSES.MAX}'
              name: 'OpenAI Platform: Total daily expenses exceeded'
              event_name: 'OpenAI Platform: Total daily expenses exceeded (>{$OPENAI.TOTAL_EXPENSES.MAX})'
              opdata: 'Total expenses for the past day: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'The daily expense limit is higher than the maximum.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: performance
        - uuid: bccec362e06947199c316f9996002e5c
          name: 'Get data item errors'
          type: DEPENDENT
          key: openai.platform_data.errors
          value_type: TEXT
          description: 'Item for gathering all the data item errors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.error
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: openai.platform_data.get
          tags:
            - tag: component
              value: error
          triggers:
            - uuid: fb5de0af7d0e490ea361ea82282329c6
              expression: 'length(last(/OpenAI Platform by HTTP/openai.platform_data.errors))>0'
              name: 'OpenAI Platform: There are errors in the ''Get data'' metric'
              priority: WARNING
              description: 'An error occurred while attempting to retrieve values for the ''Get data'' item.'
              tags:
                - tag: scope
                  value: availability
        - uuid: d31248b2c1ed4983bca0125ae142e266
          name: 'Get data'
          type: SCRIPT
          key: openai.platform_data.get
          history: '0'
          value_type: TEXT
          params: |
            var OpenAI = {
            	params: {},
            	headers: {},
            
            	setParams: function (params, required) {
            		required = required || [];
            		required.concat(['api_url', 'api_token']).forEach(function (field) {
            			if (typeof params !== 'object' || typeof params[field] === 'undefined'
            				|| params[field] === '') {
            				throw 'Required parameter is not set: "' + field + '".';
            			}
            		});
            
            		OpenAI.params = params;
            
            		if (typeof OpenAI.params.api_url === 'string' && !OpenAI.params.api_url.endsWith('/')) {
            			OpenAI.params.api_url += '/';
            		}
            	},
            
            	apiRequest: function (uri, params) {
            		var final_data = [],
            			page_cursors = [undefined];
            
            		while (page_cursors.length > 0) {
            			var page_cursor = page_cursors.pop();
            			var request = new HttpRequest(),
            				response;
            
            			var queryString = Object.keys(params).map(function(key) {
            				return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
            			}).join('&');
            
            			if (typeof page_cursor !== 'undefined') {
            				queryString += '&' + ((page_cursor.indexOf('page') !== -1) ? 'page' : 'after') + '=' + encodeURIComponent(page_cursor);
            			}
            
            			request.addHeader('Content-Type: application/json');
            			request.addHeader('Authorization: Bearer ' + OpenAI.params.api_token);
            
            			if (typeof OpenAI.params.http_proxy !== 'undefined' && OpenAI.params.http_proxy !== '') {
            				request.setProxy(OpenAI.params.http_proxy);
            				Zabbix.log(4, '[ OpenAI API ] Using HTTP proxy: ' + OpenAI.params.http_proxy);
            			}
            
            			var url = uri + '?' + queryString;
            
            			Zabbix.log(4, '[ OpenAI API ] Sending request: ' + url);
            
            			response = request.get(url);
            
            			Zabbix.log(4, '[ OpenAI API ] Received response with status code ' + request.getStatus() + ': ' + response);
            
            			if (request.getStatus() < 200 || request.getStatus() >= 300) {
            				throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
            			}
            
            			Object.keys(request.getHeaders()).forEach(function(key) {
            				if (key.indexOf('openai') === 0) {
            					OpenAI.headers[key] = request.getHeaders()[key];
            				}
            			});
            
            			try {
            				response = JSON.parse(response);
            			}
            			catch (error) {
            				throw 'Failed to parse response received from API. Check debug log for more information.';
            			}
            
            			final_data = final_data.concat(response.data || []);
            
            			if (response.next_page) {
            				page_cursors.push(response.next_page);
            			}
            
            			if (response.last_id) {
            				page_cursors.push(response.last_id);
            			}
            		}
            
            		return final_data;
            	},
            }
            
            var result = {};
            
            try {
            	OpenAI.setParams(JSON.parse(value));
            
            	result['projects'] = OpenAI.apiRequest(OpenAI.params.api_url + 'organization/projects', {});
            	result['users'] = OpenAI.apiRequest(OpenAI.params.api_url + 'organization/users', {});
            	result['headers'] = OpenAI.headers;
            }
            catch (error) {
            	error += (String(error).endsWith('.')) ? '' : '.';
            	Zabbix.log(3, '[ OpenAI API ] ERROR: ' + error);
            	result['error'] = error;
            }
            
            return JSON.stringify(result);
          description: 'Item for gathering OpenAI Platform data.'
          timeout: '{$OPENAI.DATA.TIMEOUT}'
          parameters:
            - name: api_token
              value: '{$OPENAI.TOKEN}'
            - name: api_url
              value: '{$OPENAI.API.URL}'
          tags:
            - tag: component
              value: raw
        - uuid: 0e88e47a57b24122b44f3db7be1a81d4
          name: Version
          type: DEPENDENT
          key: openai.version
          value_type: CHAR
          description: 'REST API version used for requests.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.headers["openai-version"]'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          master_item:
            key: openai.platform_data.get
          tags:
            - tag: component
              value: system
      discovery_rules:
        - uuid: 5ad946dd847944a294a56ed0a244a219
          name: '{#NAME}: Model discovery'
          type: DEPENDENT
          key: 'openai.model.discovery[{#ID}]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#MODEL}'
                value: '{$OPENAI.MODEL.NAME.MATCHES}'
              - macro: '{#MODEL}'
                value: '{$OPENAI.MODEL.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          lifetime: 30d
          enabled_lifetime_type: DISABLE_AFTER
          enabled_lifetime: 7d
          description: 'Used for discovering models used in the {#NAME} project on the OpenAI Platform.'
          item_prototypes:
            - uuid: 03057358da3f42c9bce9b3f9814e108a
              name: '{#NAME} [{#MODEL}]: Get model data'
              type: DEPENDENT
              key: 'openai.model.get[{#ID},"{#MODEL}"]'
              history: '0'
              value_type: TEXT
              description: 'Item for gathering data of the {#MODEL} model.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
                - type: JSONPATH
                  parameters:
                    - '$.completions..results[?(@.project_id == ''{#ID}'' && @.model == ''{#MODEL}'')].first()'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '{}'
              master_item:
                key: openai.completions_data.get
              tags:
                - tag: component
                  value: raw
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 635d12e823b547169da209e7aaa3ec79
              name: '{#NAME} [{#MODEL}]: Model request number'
              type: DEPENDENT
              key: 'openai.requests.number[{#ID},"{#MODEL}"]'
              description: 'Total number of requests to the model {#MODEL} in the {#NAME} project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.num_model_requests
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.model.get[{#ID},"{#MODEL}"]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: model
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 58083a34c49a4a5298f75717085969a2
              name: '{#NAME} [{#MODEL}]: Input tokens'
              type: DEPENDENT
              key: 'openai.tokens.input[{#ID},"{#MODEL}"]'
              description: 'Total number of input tokens received by the model {#MODEL} in the {#NAME} project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.input_tokens
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.model.get[{#ID},"{#MODEL}"]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: model
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 8210adc308084ac08a9550e89b73d663
              name: '{#NAME} [{#MODEL}]: Input audio tokens'
              type: DEPENDENT
              key: 'openai.tokens.input_audio[{#ID},"{#MODEL}"]'
              description: 'Total number of input audio tokens sent by the model {#MODEL} in the {#NAME} project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.input_audio_tokens
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.model.get[{#ID},"{#MODEL}"]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: model
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: d4fa2aa80bb647b8a2b79f556004af7c
              name: '{#NAME} [{#MODEL}]: Input cached tokens'
              type: DEPENDENT
              key: 'openai.tokens.input_cached[{#ID},"{#MODEL}"]'
              description: 'Total number of input cached tokens sent by the model {#MODEL} in the {#NAME} project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.input_cached_tokens
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.model.get[{#ID},"{#MODEL}"]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: model
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: e56e31c7988041a9b4506ffba4e6fa52
              name: '{#NAME} [{#MODEL}]: Output tokens'
              type: DEPENDENT
              key: 'openai.tokens.output[{#ID},"{#MODEL}"]'
              description: 'Total number of output tokens sent by the model {#MODEL} in the {#NAME} project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.output_tokens
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.model.get[{#ID},"{#MODEL}"]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: model
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 0dc8c1eaa9314927b7108cc93c854521
              name: '{#NAME} [{#MODEL}]: Output audio tokens'
              type: DEPENDENT
              key: 'openai.tokens.output_audio[{#ID},"{#MODEL}"]'
              description: 'Total number of output audio tokens sent by the model {#MODEL} in the {#NAME} project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.output_audio_tokens
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.model.get[{#ID},"{#MODEL}"]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: model
                - tag: model
                  value: '{#MODEL}'
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
          graph_prototypes:
            - uuid: d992c2b6fef4446591d7014cabc94dea
              name: '{#NAME} [{#ID}/{#MODEL}]: Tokens statistics'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.input[{#ID},"{#MODEL}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.output[{#ID},"{#MODEL}"]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.input_cached[{#ID},"{#MODEL}"]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.input_audio[{#ID},"{#MODEL}"]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.output_audio[{#ID},"{#MODEL}"]'
          parent_discovery_rule:
            key: openai.project.discovery
          master_item:
            key: openai.completions_data.get
          lld_macro_paths:
            - lld_macro: '{#MODEL}'
              path: $.model
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
            - type: JSONPATH
              parameters:
                - '$.completions..results[?(@.project_id == ''{#ID}'')]'
              error_handler: DISCARD_VALUE
        - uuid: 02fc52eb71fe496a909cb161462f7cd4
          name: 'Project discovery'
          type: DEPENDENT
          key: openai.project.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#NAME}'
                value: '{$OPENAI.PROJECT.NAME.MATCHES}'
              - macro: '{#NAME}'
                value: '{$OPENAI.PROJECT.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Used for discovering projects on the OpenAI Platform.'
          item_prototypes:
            - uuid: 93782ec08c734abd9a8bb7c6e8c157ab
              name: '{#NAME}: Get completion data'
              type: DEPENDENT
              key: 'openai.completions.get[{#ID}]'
              history: '0'
              value_type: TEXT
              description: 'Item for gathering completion data for the {#NAME} project.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
                - type: JSONPATH
                  parameters:
                    - '$.completions..results..[?(@.project_id == ''{#ID}'')]'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '{}'
              master_item:
                key: openai.completions_data.get
              tags:
                - tag: component
                  value: raw
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 8c51d3b0157f476eb4a62c036473438b
              name: '{#NAME}: Daily expenses'
              type: DEPENDENT
              key: 'openai.expenses.amount[{#ID}]'
              value_type: FLOAT
              units: '!USD'
              description: 'Amount of expenses for the past day.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..amount.value.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.expenses.get[{#ID}]'
              tags:
                - tag: component
                  value: costs
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 406d38421362474d98fac3e3bc4d41b1
                  expression: 'last(/OpenAI Platform by HTTP/openai.expenses.amount[{#ID}])>{$OPENAI.EXPENSES.MAX:"{#ID}"}'
                  name: 'OpenAI Platform: {#NAME}: Daily expenses exceeded'
                  event_name: 'OpenAI Platform: {#NAME} [{#ID}]: Daily expenses exceeded (>{$OPENAI.EXPENSES.MAX:"{#ID}"})'
                  opdata: 'Expenses for the past day: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'The daily expense limit for the {#NAME} ({#ID}) project is higher than the maximum.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: c6e74fff343c4c0fbfee1704ba794d40
              name: '{#NAME}: Get expense data'
              type: DEPENDENT
              key: 'openai.expenses.get[{#ID}]'
              history: '0'
              value_type: TEXT
              description: 'Item for gathering expense data for the {#NAME} project.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
                - type: JSONPATH
                  parameters:
                    - '$.costs[0].results..[?(@.project_id == ''{#ID}'')]'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '{}'
              master_item:
                key: openai.costs_data.get
              tags:
                - tag: component
                  value: raw
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 797302910c5b4f238d77aaa3a22551f3
              name: '{#NAME}: Model request number'
              type: DEPENDENT
              key: 'openai.requests.number[{#ID}]'
              description: 'Total number of requests to all models in the project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..num_model_requests.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.completions.get[{#ID}]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 67ffcc8be80641acbe6556381d540fba
              name: '{#NAME}: Input tokens'
              type: DEPENDENT
              key: 'openai.tokens.input[{#ID}]'
              description: 'Total number of input tokens received by all models in the project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..input_tokens.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.completions.get[{#ID}]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: f4edc1c6e7354760b5cd7dc53697be30
              name: '{#NAME}: Input audio tokens'
              type: DEPENDENT
              key: 'openai.tokens.input_audio[{#ID}]'
              description: 'Total number of input audio tokens sent by all models in the project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..input_audio_tokens.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.completions.get[{#ID}]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: fc03925deb5d40efbd443160d60e616a
              name: '{#NAME}: Input cached tokens'
              type: DEPENDENT
              key: 'openai.tokens.input_cached[{#ID}]'
              description: 'Total number of input cached tokens sent by all models in the project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..input_cached_tokens.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.completions.get[{#ID}]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: b4502508f47f40318cb56631002d801d
              name: '{#NAME}: Output tokens'
              type: DEPENDENT
              key: 'openai.tokens.output[{#ID}]'
              description: 'Total number of output tokens sent by all models in the project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..output_tokens.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.completions.get[{#ID}]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
            - uuid: 8db5eb1f3c39437db160e02047da5ede
              name: '{#NAME}: Output audio tokens'
              type: DEPENDENT
              key: 'openai.tokens.output_audio[{#ID}]'
              description: 'Total number of output audio tokens sent by all models in the project.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $..output_audio_tokens.sum()
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'openai.completions.get[{#ID}]'
              tags:
                - tag: component
                  value: completions
                - tag: component
                  value: project
                - tag: project_id
                  value: '{#ID}'
                - tag: project_name
                  value: '{#NAME}'
          graph_prototypes:
            - uuid: ee1bb621d8294ea88db88de69f6066ca
              name: '{#NAME} [{#ID}]: Daily expenses'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.expenses.amount[{#ID}]'
            - uuid: d0d0638efe8144a39a81e3026559bcd3
              name: '{#NAME} [{#ID}]: Tokens statistics'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.input[{#ID}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.output[{#ID}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.input_cached[{#ID}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.input_audio[{#ID}]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'OpenAI Platform by HTTP'
                    key: 'openai.tokens.output_audio[{#ID}]'
          master_item:
            key: openai.platform_data.get
          lld_macro_paths:
            - lld_macro: '{#ID}'
              path: $.id
            - lld_macro: '{#NAME}'
              path: $.name
            - lld_macro: '{#STATUS}'
              path: $.status
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.projects
              error_handler: DISCARD_VALUE
      tags:
        - tag: class
          value: software
        - tag: subclass
          value: ai
        - tag: target
          value: openai
      macros:
        - macro: '{$OPENAI.API.URL}'
          value: 'https://api.openai.com/v1'
          description: 'OpenAI API URL.'
          config:
            type: TEXT
            priority: '1'
            label: 'API URL'
            description: 'OpenAI API URL.'
        - macro: '{$OPENAI.DATA.TIMEOUT}'
          value: 15s
          description: 'Response timeout for an API.'
          config:
            type: TEXT
            priority: '9'
            section_name: Other
            label: 'API response timeout'
            description: 'Response timeout for an API.'
        - macro: '{$OPENAI.EXPENSES.MAX}'
          value: '100'
          description: 'Limit on daily expenses per project.'
          config:
            type: TEXT
            priority: '4'
            label: 'Max project daily expenses'
            description: 'Limit on daily expenses per project. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$OPENAI.HTTP_PROXY}'
          description: 'HTTP proxy for API requests. You can specify it using the format [protocol://][username[:password]@]proxy.example.com[:port]. See the documentation at https://www.zabbix.com/documentation/8.0/manual/config/items/itemtypes/http'
          config:
            type: TEXT
            priority: '10'
            section_name: Other
            label: 'HTTP proxy for API requests'
            description: 'HTTP proxy for API requests. You can specify it using the format [protocol://][username[:password]@]proxy.example.com[:port]. See the documentation at https://www.zabbix.com/documentation/8.0/manual/config/items/itemtypes/http'
        - macro: '{$OPENAI.MODEL.NAME.MATCHES}'
          value: '.*'
          description: 'This macro is used in OpenAI Platform model discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '7'
            section_name: Filters
            label: 'Model discovery macro (include)'
            description: 'Set the regex string to discover models based on their names.'
        - macro: '{$OPENAI.MODEL.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'This macro is used in OpenAI Platform model discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '8'
            section_name: Filters
            label: 'Model discovery macro (exclude)'
            description: 'Set the regex string to exclude models from discovery based on their names.'
        - macro: '{$OPENAI.PROJECT.NAME.MATCHES}'
          value: '.*'
          description: 'This macro is used in OpenAI Platform project discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '5'
            section_name: Filters
            label: 'Project discovery macro (include)'
            description: 'Set the regex string to discover projects based on their names.'
        - macro: '{$OPENAI.PROJECT.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'This macro is used in OpenAI Platform project discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '6'
            section_name: Filters
            label: 'Project discovery macro (exclude)'
            description: 'Set the regex string to exclude projects from discovery based on their names.'
        - macro: '{$OPENAI.TOKEN}'
          type: SECRET_TEXT
          description: 'OpenAI API token.'
          config:
            type: TEXT
            priority: '2'
            label: 'API token'
            description: 'OpenAI API token.'
            required: 'YES'
        - macro: '{$OPENAI.TOTAL_EXPENSES.MAX}'
          value: '1000'
          description: 'Limit on total daily expenses for the entire organization.'
          config:
            type: TEXT
            priority: '3'
            label: 'Max total daily expenses'
            description: 'Limit on total daily expenses for the entire organization. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: ca4bba8a3a8f4ec1b9c5b50d6608eb69
          name: 'OpenAI Platform: General'
          auto_start: 'NO'
          pages:
            - name: General
              widgets:
                - type: clock
                  name: Today
                  width: '24'
                  height: '4'
                  fields:
                    - type: INTEGER
                      name: clock_type
                      value: '1'
                    - type: INTEGER
                      name: show.0
                      value: '1'
                    - type: INTEGER
                      name: show.1
                      value: '2'
                    - type: INTEGER
                      name: show.2
                      value: '3'
                - type: problems
                  'y': '4'
                  width: '72'
                  height: '7'
                  fields:
                    - type: STRING
                      name: reference
                      value: NPDJE
                - type: item
                  name: 'Expenses for the previous day'
                  x: '24'
                  width: '24'
                  height: '4'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'OpenAI Platform by HTTP'
                        key: openai.expenses.total
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: STRING
                      name: units
                      value: $
                    - type: INTEGER
                      name: units_pos
                      value: '0'
                - type: item
                  name: 'ChatGPT Version'
                  x: '48'
                  width: '24'
                  height: '4'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'OpenAI Platform by HTTP'
                        key: openai.version
                    - type: INTEGER
                      name: show.0
                      value: '2'
                    - type: INTEGER
                      name: units_show
                      value: '0'
                    - type: INTEGER
                      name: value_size
                      value: '30'
            - name: 'Project statistics'
              widgets:
                - type: honeycomb
                  name: 'Input tokens'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Input tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAA
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Input audio tokens'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Input audio tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAC
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Input cached tokens'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Input cached tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAE
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Daily expenses'
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Daily expenses'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAG
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '4'
                    - type: STRING
                      name: secondary_label_position
                      value: '0'
                    - type: STRING
                      name: secondary_label_units
                      value: $
                - type: honeycomb
                  name: 'Output tokens'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Output tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAB
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Output audio tokens'
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Output audio tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAD
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Model request number'
                  x: '36'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Model request number'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: project
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAF
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
            - name: 'Model statistics'
              widgets:
                - type: honeycomb
                  name: 'Input tokens'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Input tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: model
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[.+?\/(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAH
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Input audio tokens'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Input audio tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: model
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[.+?\/(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAJ
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Input cached tokens'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Input cached tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: model
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[.+?\/(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAL
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Output tokens'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Output tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: model
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[.+?\/(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAI
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Output audio tokens'
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Output audio tokens'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: model
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[.+?\/(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAK
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
                - type: honeycomb
                  name: 'Model request number'
                  x: '36'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: STRING
                      name: bg_color
                      value: 64B5F6
                    - type: STRING
                      name: items.0
                      value: '*Model request number'
                    - type: INTEGER
                      name: item_tags.0.operator
                      value: '1'
                    - type: STRING
                      name: item_tags.0.tag
                      value: component
                    - type: STRING
                      name: item_tags.0.value
                      value: model
                    - type: STRING
                      name: primary_label
                      value: '{{ITEM.NAME}.regsub("^\[.+?\/(.*)\]\:.*", \1)}'
                    - type: STRING
                      name: reference
                      value: AAAAM
                    - type: INTEGER
                      name: secondary_label_decimal_places
                      value: '0'
    - uuid: d670c32f007d438c9dcd32db57d2b691
      template: 'Oracle by Zabbix agent 2'
      name: 'Oracle by Zabbix agent 2'
      description: |
        Get metrics from Oracle Database using Zabbix agent 2.
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        The template is developed to monitor a single DBMS Oracle Database instance with Zabbix agent 2.
        
        ## Supported versions
        
        Oracle Database 12c2 and newer.
        
        **Important! This integration queries the `V$ACTIVE_SESSION_HISTORY` dynamic performance view which is part of the Oracle Diagnostics Pack. Please make sure that you have the licence required for using this management pack.**
        
        ## Setup
        
        1. Set the 'URI or session name' value using either <protocol(host:port)> or named session.
        2. If you want to override parameters from Zabbix agent configuration file, set the user name, password and service name in host wizard configuration fields(Username, Password, and Service Name).
        
           User can contain sysdba, sysoper, sysasm privileges. It must be used with `as` as a separator e.g `user as sysdba`, privilege can be upper or lowercase, and must be at the end of username string.
        
        Test availability:
         ```zabbix_get -s oracle-host -k  oracle.ping["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]```
      vendor:
        name: Zabbix
        version: 8.0-0
      groups:
        - name: Templates/Databases
      items:
        - uuid: 9d24ae0f86d54b73a35d9c15d4e082cb
          name: 'Active parallel sessions'
          type: DEPENDENT
          key: oracle.active_parallel_sessions
          value_type: FLOAT
          description: 'The number of active parallel sessions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Active Parallel Sessions'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: 7e4eb79b9b674c5ba57e790fae0fb410
          name: 'Active serial sessions'
          type: DEPENDENT
          key: oracle.active_serial_sessions
          value_type: FLOAT
          description: 'The number of active serial sessions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Active Serial Sessions'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: 9763dd0b223540e4820fd3b8f3281ec3
          name: 'Average active sessions'
          type: DEPENDENT
          key: oracle.active_sessions
          value_type: FLOAT
          description: 'The average number of active sessions at a point in time that are either working or waiting.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Average Active Sessions'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: a5533a1c354a4c8dbfec39c9b0637ba2
          name: 'Archiver state'
          type: DEPENDENT
          key: oracle.archiver_state
          description: 'The status of automatic archiving.'
          valuemap:
            name: 'Oracle archiver state'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $..archiver.first()
          master_item:
            key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: a5f5251364a44a90a66bb2096f53a48a
          name: 'Buffer cache hit ratio'
          type: DEPENDENT
          key: oracle.buffer_cache_hit_ratio
          value_type: FLOAT
          units: '%'
          description: 'The ratio of buffer cache hits ((LogRead - PhyRead)/LogRead).'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Buffer Cache Hit Ratio'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 1483e7a312154438a9b09d0b696568f0
          name: 'Global cache blocks corrupted'
          type: DEPENDENT
          key: oracle.cache_blocks_corrupt
          units: Rps
          description: 'The number of blocks that encountered corruption or checksum failure during the interconnect.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Global Cache Blocks Corrupted'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 3589d4b2b9114f9cabb027f85f5349ab
          name: 'Global cache blocks lost'
          type: DEPENDENT
          key: oracle.cache_blocks_lost
          units: Rps
          description: 'The number of lost global cache blocks.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Global Cache Blocks Lost'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
        - uuid: fd1ea13484984d0baffc45ea02a33a7c
          name: 'Cursor cache hit ratio'
          type: DEPENDENT
          key: oracle.cursor_cache_hit_ratio
          value_type: FLOAT
          units: '%'
          description: 'The ratio of cursor cache hits (CursorCacheHit/SoftParse).'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Cursor Cache Hit Ratio'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 9fd6475d1b824c74b2b3dad1db4f494a
          name: 'Database CPU time ratio'
          type: DEPENDENT
          key: oracle.database_cpu_time_ratio
          value_type: FLOAT
          units: '%'
          description: 'The ratio calculated by dividing the total CPU (used by the database) by the Oracle time model statistic DB time.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Database CPU Time Ratio'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cpu
        - uuid: 9fc7f2e986cd4c97ad8778f06dd04822
          name: 'Database wait time ratio'
          type: DEPENDENT
          key: oracle.database_wait_time_ratio
          value_type: FLOAT
          units: '%'
          description: 'Wait time - the time that the server process spends waiting for available shared resources to be released by other server processes such as latches, locks, data buffers, etc.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Database Wait Time Ratio'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 12efa23a53eb468ea7b0713b8f610542
          name: 'Datafiles count'
          key: 'oracle.datafiles.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          description: 'The current number of datafiles.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.datafile_num
          tags:
            - tag: component
              value: datafiles
        - uuid: cdd3d4f1baea4f2ea122e058704d43e9
          name: 'Datafiles limit'
          type: DEPENDENT
          key: oracle.db_files_limit
          description: 'The maximum allowable number of datafiles.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.db_files
          master_item:
            key: 'oracle.sys.params["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: datafiles
        - uuid: 9692f4f771844438a3f9224455c504b6
          name: 'Disk sort per second'
          type: DEPENDENT
          key: oracle.disk_sorts
          value_type: FLOAT
          units: Rps
          description: 'The number of sorts going to disk per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Disk Sort Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 7dc5745f2a124119b058d23195ba5058
          name: 'Enqueue timeouts per second'
          type: DEPENDENT
          key: oracle.enqueue_timeouts_rate
          value_type: FLOAT
          units: Rps
          description: 'Enqueue timeouts per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Enqueue Timeouts Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 1aa391bbd2484793a31dc9f0dce51b46
          name: 'Get FRA stats'
          key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          history: '0'
          value_type: TEXT
          description: 'Get FRA statistics.'
          tags:
            - tag: component
              value: raw
        - uuid: 5e09413cb3a14a3a87e2ead6b838ce1f
          name: 'FRA, Number of files'
          type: DEPENDENT
          key: oracle.fra_number_of_files
          description: 'The number of files in the FRA.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.number_of_files
          master_item:
            key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: fra
        - uuid: 68f50e7513d642f789a27dfce03ca1b8
          name: 'FRA, Number of restore points'
          type: DEPENDENT
          key: oracle.fra_restore_point
          value_type: FLOAT
          description: 'Number of restore points in the FRA.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.restore_point
          master_item:
            key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: fra
        - uuid: f7f16828d46a4054a30a22e955542d6a
          name: 'FRA, Space limit'
          type: DEPENDENT
          key: oracle.fra_space_limit
          units: B
          description: 'The maximum amount of disk space (in bytes) that the database can use for the Fast Recovery Area (FRA).'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.space_limit
          master_item:
            key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: fra
        - uuid: 92d7abac10dc47a7bec1bd420a41c78c
          name: 'FRA, Space reclaimable'
          type: DEPENDENT
          key: oracle.fra_space_reclaimable
          units: B
          description: 'The total amount of disk space (in bytes) that can be created by deleting obsolete, redundant, and other low-priority files from the FRA.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.space_reclaimable
          master_item:
            key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: fra
        - uuid: 1e02a10018124f4db85ef9822a605b61
          name: 'FRA, Used space'
          type: DEPENDENT
          key: oracle.fra_space_used
          units: B
          description: 'The amount of disk space (in bytes) used by FRA files created in the current and all the previous FRAs.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.space_used
          master_item:
            key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: fra
        - uuid: 887c56e1b9f1415db5def1e1f502a6ae
          name: 'FRA, Usable space in %'
          type: DEPENDENT
          key: oracle.fra_usable_pct
          value_type: FLOAT
          units: '%'
          description: 'Percentage of space usable in the FRA.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.usable_pct
          master_item:
            key: 'oracle.fra.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: fra
        - uuid: e8725c1d79e34fbc8331677fe3d4459e
          name: 'GC CR block received per second'
          type: DEPENDENT
          key: oracle.gc_cr_block_received_rate
          value_type: FLOAT
          units: Rps
          description: 'The global cache (GC) and the consistent read (CR) block received per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''GC CR Block Received Per Second'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 2c7dd0c162b742d08a2432c8bdde4ce2
          name: 'Get instance state'
          key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          history: '0'
          value_type: TEXT
          description: 'Gets the state of the current instance.'
          tags:
            - tag: component
              value: application
        - uuid: 021a98326c8f402693e4fba9fb3c25de
          name: 'Instance role'
          type: DEPENDENT
          key: oracle.instance.role
          description: 'Indicates whether the instance is an active instance or an inactive secondary instance.'
          valuemap:
            name: 'Oracle instance role'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.role
          master_item:
            key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: cd0e2c8f164443588ad19647506c0eea
          name: 'Instance hostname'
          type: DEPENDENT
          key: oracle.instance_hostname
          value_type: CHAR
          description: 'The name of the host machine.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $..hostname.first()
          master_item:
            key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 346ef7cacf534988892970d699ef4028
              expression: 'last(/Oracle by Zabbix agent 2/oracle.instance_hostname,#1)<>last(/Oracle by Zabbix agent 2/oracle.instance_hostname,#2) and length(last(/Oracle by Zabbix agent 2/oracle.instance_hostname))>0'
              name: 'Oracle: Instance hostname has changed'
              event_name: 'Oracle: Instance hostname has changed (new hostname received: {ITEM.VALUE})'
              priority: INFO
              description: 'An Oracle Database instance hostname has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 0cc90c2554a7412eafe42c33dd1e9ede
          name: 'Instance name'
          type: DEPENDENT
          key: oracle.instance_name
          value_type: CHAR
          description: 'The name of the instance.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.instance
          master_item:
            key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: ed394860378642d5b9f220327ead6766
              expression: 'last(/Oracle by Zabbix agent 2/oracle.instance_name,#1)<>last(/Oracle by Zabbix agent 2/oracle.instance_name,#2) and length(last(/Oracle by Zabbix agent 2/oracle.instance_name))>0'
              name: 'Oracle: Instance name has changed'
              event_name: 'Oracle: Instance name has changed (new name received: {ITEM.VALUE})'
              priority: INFO
              description: 'An Oracle Database instance name has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: f51053d243ef41089b5e635fd1abb5f3
          name: 'Instance status'
          type: DEPENDENT
          key: oracle.instance_status
          description: 'The status of the instance.'
          valuemap:
            name: 'Oracle instance status'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.status
          master_item:
            key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: b2551269bf4541dfae378b9e48d1f5da
          name: 'Library cache hit ratio'
          type: DEPENDENT
          key: oracle.library_cache_hit_ratio
          value_type: FLOAT
          units: '%'
          description: 'The ratio of library cache hits (Hits/Pins).'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Library Cache Hit Ratio'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 13a938f495ee464a8ed3f2575cd191b9
          name: 'Logons per second'
          type: DEPENDENT
          key: oracle.logons_rate
          value_type: FLOAT
          units: Rps
          description: 'The number of logon attempts.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Logons Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 440f42943ebc436fb75bd5d8397fe876
          name: 'Long table scans per second'
          type: DEPENDENT
          key: oracle.long_table_scans_rate
          value_type: FLOAT
          units: Rps
          description: 'The number of long table scans per second. A table is considered long if it is not cached and if its high water mark is greater than five blocks.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Long Table Scans Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 4769432ae04641758daabd5b27deaa01
          name: 'Memory sorts ratio'
          type: DEPENDENT
          key: oracle.memory_sorts_ratio
          value_type: FLOAT
          units: '%'
          description: 'The percentage of sorts (from `ORDER BY` clauses or index building) that are done to disk vs. in-memory.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Memory Sorts Ratio'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 4926809f2c244b33b1a0650510a30fa4
          name: 'Get PGA stats'
          key: 'oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          history: '0'
          value_type: TEXT
          description: 'Get PGA statistics.'
          tags:
            - tag: component
              value: raw
        - uuid: 749a1281ba84475193897a3362f6f873
          name: 'PGA, Global memory bound'
          type: DEPENDENT
          key: oracle.pga_global_bound
          units: B
          description: 'The maximum size of a work area executed in automatic mode.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''global memory bound'']'
          master_item:
            key: 'oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: pga
        - uuid: 2b5797f046434125b65daf31121fdd81
          name: 'PGA, Aggregate target parameter'
          type: DEPENDENT
          key: oracle.pga_target
          units: B
          description: 'The current value of the `PGA_AGGREGATE_TARGET` initialization parameter. If this parameter is not set, then its value is "0" and automatic management of the PGA memory is disabled.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''aggregate PGA target parameter'']'
          master_item:
            key: 'oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: pga
        - uuid: e96ff6a018dc4553b9ad7f2dc87f4d99
          name: 'Physical reads per second'
          type: DEPENDENT
          key: oracle.physical_reads_rate
          value_type: FLOAT
          units: Rps
          description: 'Reads per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Physical Reads Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: disk
        - uuid: 92bf88b7b07048b785ca37d9b97cd78b
          name: 'Physical reads bytes per second'
          type: DEPENDENT
          key: oracle.physical_read_bytes_rate
          value_type: FLOAT
          units: Bps
          description: 'Read bytes per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Physical Read Bytes Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: disk
        - uuid: b71df51181c1464486ced05c95bdc938
          name: 'Physical writes per second'
          type: DEPENDENT
          key: oracle.physical_writes_rate
          value_type: FLOAT
          units: Rps
          description: 'Writes per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Physical Writes Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: disk
        - uuid: e34abb4139fe43ae8b27edbe6ad12c8d
          name: 'Physical writes bytes per second'
          type: DEPENDENT
          key: oracle.physical_write_bytes_rate
          value_type: FLOAT
          units: Bps
          description: 'Write bytes per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Physical Write Bytes Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: disk
        - uuid: 7f4d8ea4912944ec8bf32edff9e3b5ae
          name: Ping
          key: 'oracle.ping["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 30s
          description: 'Test the connection to Oracle Database state.'
          valuemap:
            name: 'Service state'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 10m
          tags:
            - tag: component
              value: application
            - tag: component
              value: health
          triggers:
            - uuid: df6b0f5dd50848cc8c2e67947df0a5e1
              expression: 'last(/Oracle by Zabbix agent 2/oracle.ping["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"])=0'
              name: 'Oracle: Connection to database is unavailable'
              priority: DISASTER
              description: 'Connection to Oracle Database is currently unavailable.'
              tags:
                - tag: scope
                  value: availability
        - uuid: ce9dabcce58d408d8188fe7caa71e666
          name: 'Number of processes'
          key: 'oracle.proc.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          description: 'The current number of user processes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.proc_num
          tags:
            - tag: component
              value: system
        - uuid: cdb59700d4a24fb3bea9d2b63d5d7938
          name: 'Processes limit'
          type: DEPENDENT
          key: oracle.processes_limit
          description: 'The maximum number of user processes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.processes
          master_item:
            key: 'oracle.sys.params["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: system
        - uuid: 898a5325c2a2469dabb6a2356107dd66
          name: 'Redo logs available to switch'
          key: 'oracle.redolog.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          description: 'The number of inactive/unused redo logs available for log switching.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.available
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 18dba6067a254bdd99a363c3d7b9bdb2
              expression: 'max(/Oracle by Zabbix agent 2/oracle.redolog.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"],5m) < {$ORACLE.REDO.MIN.WARN}'
              name: 'Oracle: Number of REDO logs available for switching is too low'
              event_name: 'Oracle: Number of REDO logs available for switching is too low (less {$ORACLE.REDO.MIN.WARN} for 5 min)'
              priority: WARNING
              description: 'The number of inactive/unused redos available for log switching is low (risk of database downtime).'
              tags:
                - tag: scope
                  value: capacity
        - uuid: e8aca0dfd1d74d3b9b042d3ed3070e42
          name: 'Rows per sort'
          type: DEPENDENT
          key: oracle.rows_per_sort
          value_type: FLOAT
          description: 'The average number of rows per sort for all types of sorts performed.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Rows Per Sort'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 0458d6dd9bde4f2aa51319e3c23f5eae
          name: 'SQL service response time'
          type: DEPENDENT
          key: oracle.service_response_time
          value_type: FLOAT
          units: s
          description: 'The Structured Query Language (SQL) service response time expressed in seconds.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''SQL Service Response Time'']'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 41d61d167bf044fe9f0d9815b4fd27e6
          name: 'Get sessions stats'
          key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          history: '0'
          value_type: TEXT
          description: 'Get sessions statistics. {$ORACLE.SESSION.LOCK.MAX.TIME} -- maximum seconds in the current wait condition for counting long time locked sessions. Default: 600 seconds.'
          tags:
            - tag: component
              value: raw
        - uuid: 89811a05632c478d97165f629dadd5b9
          name: 'Active background sessions'
          type: DEPENDENT
          key: oracle.session_active_background
          value_type: FLOAT
          description: 'The number of active background sessions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.active_background
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: a7ef5969fff545968d7c133bc67baaac
          name: 'Active user sessions'
          type: DEPENDENT
          key: oracle.session_active_user
          value_type: FLOAT
          description: 'The number of active user sessions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.active_user
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: d91119f30b95418bab67f929737e6bf8
          name: 'Sessions concurrency'
          type: DEPENDENT
          key: oracle.session_concurrency_rate
          value_type: FLOAT
          units: '%'
          description: 'The percentage of concurrency. Concurrency is a database behavior when different transactions request to change the same resource. In the case of modifying data transactions, it sequentially temporarily blocks the right to change the data, and the rest of the transactions wait for access. When the access to a resource is locked for a long time, the concurrency grows (like the transaction queue), often leaving an extremely negative impact on performance. A high contention value does not indicate the root cause of the problem, but is a signal to search for it.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.concurrency_rate
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
          triggers:
            - uuid: ff16c7bbeaa5439f98ffe12ce7deff71
              expression: 'min(/Oracle by Zabbix agent 2/oracle.session_concurrency_rate,5m) > {$ORACLE.CONCURRENCY.MAX.WARN}'
              name: 'Oracle: Too high database concurrency'
              event_name: 'Oracle: Too high database concurrency (over {$ORACLE.CONCURRENCY.MAX.WARN}% for 5 min)'
              priority: WARNING
              description: 'The concurrency rate exceeds `{$ORACLE.CONCURRENCY.MAX.WARN}`%. A high contention value does not indicate the root cause of the problem, but is a signal to review resource consumption (determine the "heaviest" queries in the database, trace sessions, etc.) This will help find the root cause and possible optimization points both in database configuration and the logic of building queries.'
              tags:
                - tag: scope
                  value: performance
        - uuid: cfd7559ac25e4c0a837048e675f4d995
          name: 'Session count'
          type: DEPENDENT
          key: oracle.session_count
          value_type: FLOAT
          description: 'The session count.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.total
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: 2222705798fd464492c6f692dd9a0392
          name: 'Inactive user sessions'
          type: DEPENDENT
          key: oracle.session_inactive_user
          value_type: FLOAT
          description: 'The number of inactive user sessions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.inactive_user
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: 381c97858785442389cd6ab74d0ee285
          name: 'Sessions limit'
          type: DEPENDENT
          key: oracle.session_limit
          description: 'The user and system sessions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.sessions
          master_item:
            key: 'oracle.sys.params["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: sessions
        - uuid: c1717acc82784151b5afc6ad08ce3145
          name: 'Sessions lock rate'
          type: DEPENDENT
          key: oracle.session_lock_rate
          value_type: FLOAT
          units: '%'
          description: 'The percentage of locked sessions. Locks are mechanisms that prevent destructive interaction between transactions accessing the same resource - either user objects, such as tables and rows or system objects not visible to users, such as shared data structures in memory and data dictionary rows.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.lock_rate
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
          triggers:
            - uuid: 504e5d964de645679ce448165dadd027
              expression: 'min(/Oracle by Zabbix agent 2/oracle.session_lock_rate,5m) > {$ORACLE.SESSIONS.LOCK.MAX.WARN}'
              name: 'Oracle: Too many locked sessions'
              event_name: 'Oracle: Too many locked sessions (over {$ORACLE.SESSIONS.LOCK.MAX.WARN}% for 5 min)'
              priority: WARNING
              description: 'The number of locked sessions exceeds `{$ORACLE.SESSIONS.LOCK.MAX.WARN}`% of the running sessions.'
              tags:
                - tag: scope
                  value: performance
        - uuid: c279df21264642369d65a6c72a11698d
          name: 'Sessions locked over {$ORACLE.SESSION.LOCK.MAX.TIME}s'
          type: DEPENDENT
          key: oracle.session_long_time_locked
          value_type: FLOAT
          description: 'The count of the prolongedly locked sessions. (You can change the duration of the maximum session lock in seconds for a query using the `{$ORACLE.SESSION.LOCK.MAX.TIME}` macro. Default = 600 s).'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.long_time_locked
          master_item:
            key: 'oracle.sessions.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{$ORACLE.SESSION.LOCK.MAX.TIME}"]'
          tags:
            - tag: component
              value: sessions
          triggers:
            - uuid: 5abc07cd48514a0dac90ce946ce6bc3a
              expression: 'min(/Oracle by Zabbix agent 2/oracle.session_long_time_locked,5m) > {$ORACLE.SESSION.LONG.LOCK.MAX.WARN}'
              name: 'Oracle: Too many sessions locked'
              event_name: 'Oracle: Too many sessions locked over {$ORACLE.SESSION.LOCK.MAX.TIME}s (over {$ORACLE.SESSION.LONG.LOCK.MAX.WARN} for 5 min)'
              priority: WARNING
              description: 'The number of locked sessions exceeding `{$ORACLE.SESSION.LOCK.MAX.TIME}` seconds is too high. Long-term locks can negatively affect the database performance. Therefore, if they are detected, you should first find the most difficult queries from the database point of view and then analyze possible resource leaks.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 1bafc80a94fb454785362593b8a73be3
          name: 'Get SGA stats'
          key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          history: '0'
          value_type: TEXT
          description: 'Get SGA statistics.'
          tags:
            - tag: component
              value: raw
        - uuid: 7ad06a6ccb834c5c95f30c319a48446c
          name: 'SGA, buffer cache'
          type: DEPENDENT
          key: oracle.sga_buffer_cache
          units: B
          description: 'The size of standard block cache.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.buffer_cache
          master_item:
            key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: cache
            - tag: component
              value: sga
        - uuid: 39dc67c29cce4742acf832949dc57760
          name: 'SGA, fixed'
          type: DEPENDENT
          key: oracle.sga_fixed
          units: B
          description: 'The fixed System Global Area (SGA) is an internal housekeeping area.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.fixed_sga
          master_item:
            key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: sga
        - uuid: 562c02f282974020add8f98e9865fb9d
          name: 'SGA, java pool'
          type: DEPENDENT
          key: oracle.sga_java_pool
          units: B
          description: 'The memory is allocated from the Java pool.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.java_pool
          master_item:
            key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: sga
        - uuid: 35e3346e273a46339e7b5d3721584d3a
          name: 'SGA, large pool'
          type: DEPENDENT
          key: oracle.sga_large_pool
          units: B
          description: 'The memory is allocated from a large pool.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.large_pool
          master_item:
            key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: sga
        - uuid: 77c17fc1056745c4949b3476c3b920d4
          name: 'SGA, log buffer'
          type: DEPENDENT
          key: oracle.sga_log_buffer
          units: B
          description: 'The number of bytes allocated for the redo log buffer.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.log_buffer
          master_item:
            key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: sga
        - uuid: b64f3cad53814e989c576d3ce51bf42d
          name: 'SGA, shared pool'
          type: DEPENDENT
          key: oracle.sga_shared_pool
          units: B
          description: 'The memory is allocated from a shared pool.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.shared_pool
          master_item:
            key: 'oracle.sga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: sga
        - uuid: 517c7b3bbf8d40988e6a8289319eaec9
          name: 'Shared pool free %'
          type: DEPENDENT
          key: oracle.shared_pool_free
          value_type: FLOAT
          units: '%'
          description: 'Free memory of a shared pool expressed in %.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Shared Pool Free %'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 80dbf89c86764cf09d2c5ec834e8940c
              expression: 'max(/Oracle by Zabbix agent 2/oracle.shared_pool_free,5m)<{$ORACLE.SHARED.FREE.MIN.WARN}'
              name: 'Oracle: Shared pool free is too low'
              event_name: 'Oracle: Shared pool free is too low (less {$ORACLE.SHARED.FREE.MIN.WARN}% for 5m)'
              priority: WARNING
              description: 'The free memory percent of the shared pool has been less than `{$ORACLE.SHARED.FREE.MIN.WARN}`% for the last 5 minutes.'
              tags:
                - tag: scope
                  value: capacity
        - uuid: 28c7030b02714d5ea402fe6f2a3d769a
          name: 'Total sorts per user call'
          type: DEPENDENT
          key: oracle.sorts_per_user_call
          value_type: FLOAT
          description: 'The total sorts per user call.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Total Sorts Per User Call'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: eccce1efc85d46199b3147ec586e1cd5
          name: 'Get system metrics'
          key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 0;m0-59
          history: '0'
          value_type: TEXT
          description: 'Gets the values of the system metrics.'
          tags:
            - tag: component
              value: raw
        - uuid: d59cca864e8044d89f9b4689ec712511
          name: 'Get system parameters'
          key: 'oracle.sys.params["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          history: '0'
          value_type: TEXT
          description: 'Get a set of system parameter values.'
          tags:
            - tag: component
              value: raw
        - uuid: 48f54a0324a64e80aaf22d5cd26798cd
          name: 'Temp space used'
          type: DEPENDENT
          key: oracle.temp_space_used
          value_type: FLOAT
          units: B
          description: 'Used temporary space.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''Temp Space Used'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 1a4efb793cff4224b0ae02272be2fe85
          name: 'PGA, Total allocated'
          type: DEPENDENT
          key: oracle.total_pga_allocated
          units: B
          description: 'The current amount of the PGA memory allocated by the instance. The Oracle Database attempts to keep this number below the value of the `PGA_AGGREGATE_TARGET` initialization parameter. However, it is possible for the PGA allocated to exceed that value by a small percentage and for a short period of time when the work area workload is increasing very rapidly or when `PGA_AGGREGATE_TARGET` is set to a small value.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''total PGA allocated'']'
          master_item:
            key: 'oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: pga
        - uuid: 264b73d153694b52a47ac0219a8de66c
          name: 'PGA, Total freeable'
          type: DEPENDENT
          key: oracle.total_pga_freeable
          units: B
          description: 'The number of bytes of the PGA memory in all processes that could be freed back to the OS.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''total freeable PGA memory'']'
          master_item:
            key: 'oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: pga
        - uuid: 3f3083748a4f42998b135b1b4f88d11a
          name: 'PGA, Total inuse'
          type: DEPENDENT
          key: oracle.total_pga_used
          units: B
          description: 'The amount of Program Global Area (PGA) memory currently consumed by work areas. This number can be used to determine how much memory is consumed by other consumers of the PGA memory (for example, PL/SQL or Java).'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''total PGA inuse'']'
          master_item:
            key: 'oracle.pga.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: pga
        - uuid: 4f1a9efea8594486b226307a52e35474
          name: Uptime
          type: DEPENDENT
          key: oracle.uptime
          trends: '0'
          units: s
          description: 'The Oracle instance uptime expressed in seconds.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.uptime
          master_item:
            key: 'oracle.instance.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: bcdaf519783f453e81d7064207f8bd30
              expression: 'nodata(/Oracle by Zabbix agent 2/oracle.uptime,30m)=1'
              name: 'Oracle: Failed to fetch info data'
              event_name: 'Oracle: Failed to fetch info data (or no data for 30m)'
              priority: INFO
              description: 'Zabbix has not received any data for the items for the last 5 minutes. The database might be unavailable for connecting.'
              tags:
                - tag: scope
                  value: availability
            - uuid: 5eae478e85834eee91b94680d529dcdb
              expression: 'last(/Oracle by Zabbix agent 2/oracle.uptime)<10m'
              name: 'Oracle: Host has been restarted'
              event_name: 'Oracle: {HOST.NAME} has been restarted (uptime < 10m)'
              priority: INFO
              description: 'Uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 73ff311f3d5c4e93b5919f5633fc09f9
          name: 'User''s expire password'
          key: 'oracle.user.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          value_type: FLOAT
          units: days
          description: 'The number of days before the Zabbix account password expires.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.exp_passwd_days_before
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 5eaa700c3bb74399ad2d26c382397415
              expression: 'last(/Oracle by Zabbix agent 2/oracle.user.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"])  < {$ORACLE.EXPIRE.PASSWORD.MIN.WARN}'
              name: 'Oracle: Zabbix account will expire soon'
              event_name: 'Oracle: Zabbix account will expire soon (under {$ORACLE.EXPIRE.PASSWORD.MIN.WARN} days)'
              priority: WARNING
              description: 'The password for the Zabbix user in the database expires soon.'
              tags:
                - tag: scope
                  value: notice
        - uuid: cec9a53d637e42c79e2a838588ceeaca
          name: 'User rollbacks per second'
          type: DEPENDENT
          key: oracle.user_rollbacks_rate
          value_type: FLOAT
          units: Rps
          description: 'The number of times that users manually issued the `ROLLBACK` statement or an error occurred during the users'' transactions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.[''User Rollbacks Per Sec'']'
          master_item:
            key: 'oracle.sys.metrics["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          tags:
            - tag: component
              value: application
        - uuid: 04c0b90a0a7c4d6a95f51d006a65a530
          name: Version
          key: 'oracle.version["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 15m
          value_type: CHAR
          description: 'The Oracle Server version.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 4a68bcb6149c4c839e263c949343add8
              expression: 'last(/Oracle by Zabbix agent 2/oracle.version["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"],#1)<>last(/Oracle by Zabbix agent 2/oracle.version["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"],#2) and length(last(/Oracle by Zabbix agent 2/oracle.version["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]))>0'
              name: 'Oracle: Version has changed'
              event_name: 'Oracle: Version has changed (new version value received: {ITEM.VALUE})'
              priority: INFO
              description: 'The Oracle Database version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
      discovery_rules:
        - uuid: e2f1ce8c037f4efa9bdb98166d344be6
          name: 'Archive log discovery'
          key: 'oracle.archive.discovery["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 1h
          description: 'Destinations of the log archive.'
          item_prototypes:
            - uuid: 1ad93880e4314d68b9e1aa4e00f03b6e
              name: 'Archivelog ''{#DEST_NAME}'': Get archive log info'
              key: 'oracle.archive.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DEST_NAME}"]'
              delay: 5m
              history: '0'
              value_type: TEXT
              description: 'Gets the archive log statistics.'
              tags:
                - tag: component
                  value: archive-log
                - tag: component
                  value: raw
            - uuid: 46ae0ac79493430a94ac50f79dc053ba
              name: 'Archivelog ''{#DEST_NAME}'': Error'
              type: DEPENDENT
              key: 'oracle.archivelog_error["{#DEST_NAME}"]'
              value_type: TEXT
              description: 'Displays the error message.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#DEST_NAME}''].error.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'oracle.archive.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DEST_NAME}"]'
              tags:
                - tag: component
                  value: archive-log
                - tag: destination
                  value: '{#DEST_NAME}'
            - uuid: ce76a8ece06f4a17bfaf08b4351346d5
              name: 'Archivelog ''{#DEST_NAME}'': Last sequence'
              type: DEPENDENT
              key: 'oracle.archivelog_log_sequence["{#DEST_NAME}"]'
              description: 'Identifies the sequence number of the last archived redo log to be archived.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#DEST_NAME}''].log_sequence.first()'
              master_item:
                key: 'oracle.archive.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DEST_NAME}"]'
              tags:
                - tag: component
                  value: archive-log
                - tag: destination
                  value: '{#DEST_NAME}'
            - uuid: a411a4e1c8ca4ea2a1ece92075cd0325
              name: 'Archivelog ''{#DEST_NAME}'': Status'
              type: DEPENDENT
              key: 'oracle.archivelog_log_status["{#DEST_NAME}"]'
              description: |
                Identifies the current status of the destination where:
                1 - VALID;
                2 - DEFERRED;
                3 - ERROR;
                0 - UNKNOWN.
              valuemap:
                name: 'Oracle Archivelog status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#DEST_NAME}''].status.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'oracle.archive.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DEST_NAME}"]'
              tags:
                - tag: component
                  value: archive-log
                - tag: destination
                  value: '{#DEST_NAME}'
              trigger_prototypes:
                - uuid: e2d393c0ff2f420097e19890bcbe215c
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.archivelog_log_status["{#DEST_NAME}"])<2'
                  name: 'Oracle: Archivelog ''{#DEST_NAME}'': Log Archive is not valid'
                  priority: HIGH
                  description: |
                    The trigger will launch if the archive log destination is not in one of these states:
                    2 - DEFERRED;
                    3 - VALID.
                  tags:
                    - tag: scope
                      value: availability
        - uuid: 59840e68757644afbcf6ec49a6f5e95d
          name: 'Database discovery'
          key: 'oracle.db.discovery["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DBNAME}'
                value: '{$ORACLE.DBNAME.MATCHES}'
              - macro: '{#DBNAME}'
                value: '{$ORACLE.DBNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Scanning databases in the database management system (DBMS).'
          item_prototypes:
            - uuid: 1bad65e85d8b482d9cd83b1d202f8d8c
              name: 'Database ''{#DBNAME}'': Get CDB and No-CDB info'
              key: 'oracle.cdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]'
              history: '0'
              value_type: TEXT
              description: 'Gets the information about the CDB and non-CDB database on an instance.'
              tags:
                - tag: component
                  value: cdb
                - tag: component
                  value: raw
            - uuid: d9d1575b767b46e0aefe65a270f2d01b
              name: 'Database ''{#DBNAME}'': Force logging'
              type: DEPENDENT
              key: 'oracle.db_force_logging["{#DBNAME}"]'
              description: 'Indicates whether the database is under force logging mode (`YES`/`NO`).'
              valuemap:
                name: 'Oracle force log status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..{#DBNAME}.force_logging.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: 'oracle.cdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: database
                - tag: database
                  value: '{#DBNAME}'
                - tag: type
                  value: '{#TYPE}'
            - uuid: a499423d6e8d44f2bc11beceb30c5fc1
              name: 'Database ''{#DBNAME}'': Log mode'
              type: DEPENDENT
              key: 'oracle.db_log_mode["{#DBNAME}"]'
              description: |
                The archive log mode where:
                0 - NOARCHIVELOG;
                1 - ARCHIVELOG;
                2 - MANUAL.
              valuemap:
                name: 'Oracle log mode'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..{#DBNAME}.log_mode.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: 'oracle.cdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: database
                - tag: database
                  value: '{#DBNAME}'
                - tag: type
                  value: '{#TYPE}'
            - uuid: 0b0cfebb30aa4d21b8ff91f887fdffde
              name: 'Database ''{#DBNAME}'': Open status'
              type: DEPENDENT
              key: 'oracle.db_open_mode["{#DBNAME}"]'
              description: |
                1 - MOUNTED;
                2 - READ WRITE;
                3 - READ ONLY;
                4 - READ ONLY WITH APPLY (a physical standby database is open in real-time query mode).
              valuemap:
                name: 'Oracle DB open status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..{#DBNAME}.open_mode.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: 'oracle.cdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: database
                - tag: database
                  value: '{#DBNAME}'
                - tag: type
                  value: '{#TYPE}'
              trigger_prototypes:
                - uuid: fb642c2cfeb142409c67a7755d1047cc
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.db_open_mode["{#DBNAME}"],#1)<>last(/Oracle by Zabbix agent 2/oracle.db_open_mode["{#DBNAME}"],#2)'
                  name: 'Oracle: Database ''{#DBNAME}'': Open status has changed'
                  event_name: 'Oracle: Database ''{#DBNAME}'': Open status has changed (new value received: {ITEM.VALUE})'
                  priority: INFO
                  description: 'The Oracle Database open status has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Oracle: Database ''{#DBNAME}'': Open status in mount mode'
                      expression: 'last(/Oracle by Zabbix agent 2/oracle.db_open_mode["{#DBNAME}"])=1'
                  tags:
                    - tag: scope
                      value: notice
                - uuid: ef1c57d8f7d34c02bf0b7347d9fddf54
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.db_open_mode["{#DBNAME}"])=1'
                  name: 'Oracle: Database ''{#DBNAME}'': Open status in mount mode'
                  priority: WARNING
                  description: 'The Oracle Database is in a mounted state.'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 560b010dcdfc445cbd4e266b88b60e24
              name: 'Database ''{#DBNAME}'': Role'
              type: DEPENDENT
              key: 'oracle.db_role["{#DBNAME}"]'
              description: |
                The current role of the database where:
                1 - SNAPSHOT STANDBY;
                2 - LOGICAL STANDBY;
                3 - PHYSICAL STANDBY;
                4 - PRIMARY;
                5 - FAR SYNC.
              valuemap:
                name: 'Oracle DB role'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..{#DBNAME}.role.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: 'oracle.cdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: database
                - tag: database
                  value: '{#DBNAME}'
                - tag: type
                  value: '{#TYPE}'
              trigger_prototypes:
                - uuid: 24fef0b751fd4d089eced3c210954b4f
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.db_role["{#DBNAME}"],#1)<>last(/Oracle by Zabbix agent 2/oracle.db_role["{#DBNAME}"],#2)'
                  name: 'Oracle: Database ''{#DBNAME}'': Role has changed'
                  event_name: 'Oracle: Database ''{#DBNAME}'': Role has changed (new value received: {ITEM.VALUE})'
                  priority: INFO
                  description: 'The Oracle Database role has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
          trigger_prototypes:
            - uuid: 049473f763d84700b62abf5c914390fe
              expression: 'last(/Oracle by Zabbix agent 2/oracle.db_force_logging["{#DBNAME}"]) = 0 and last(/Oracle by Zabbix agent 2/oracle.db_log_mode["{#DBNAME}"]) = 1'
              name: 'Oracle: Database ''{#DBNAME}'': Force logging is deactivated for DB with active Archivelog'
              priority: WARNING
              description: 'Force logging mode is a very important metric for databases in `ARCHIVELOG`. This feature allows to forcibly write all the transactions to the redo log.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 8d31eea973a7408abf0eb25ca7ba70c6
          name: 'ASM disk groups discovery'
          key: 'oracle.diskgroups.discovery["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 1h
          description: 'The ASM disk groups.'
          item_prototypes:
            - uuid: 8b4e5c9385d04a39b2187e093ffca213
              name: 'ASM ''{#DGNAME}'': Free size'
              type: DEPENDENT
              key: 'oracle.asm_free_size["{#DGNAME}"]'
              units: B
              description: 'The free size of the ASM disk group.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#DGNAME}''].free_bytes.first()'
              master_item:
                key: 'oracle.diskgroups.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DGNAME}"]'
              tags:
                - tag: component
                  value: asm
                - tag: disk-group
                  value: '{#DGNAME}'
            - uuid: b80f69f44dd24eae82a301dbefb0c60f
              name: 'ASM ''{#DGNAME}'': Total size'
              type: DEPENDENT
              key: 'oracle.asm_total_size["{#DGNAME}"]'
              units: B
              description: 'The total size of the ASM disk group.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#DGNAME}''].total_bytes.first()'
              master_item:
                key: 'oracle.diskgroups.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DGNAME}"]'
              tags:
                - tag: component
                  value: asm
                - tag: disk-group
                  value: '{#DGNAME}'
            - uuid: e2a0ac73040f401bb05ff88140f6665b
              name: 'ASM ''{#DGNAME}'': Used size, percent'
              type: DEPENDENT
              key: 'oracle.asm_used_pct["{#DGNAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Usage of the ASM disk group expressed in %.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#DGNAME}''].used_pct.first()'
              master_item:
                key: 'oracle.diskgroups.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DGNAME}"]'
              tags:
                - tag: component
                  value: asm
                - tag: disk-group
                  value: '{#DGNAME}'
              trigger_prototypes:
                - uuid: b8aa1b00e2574e35bf71554cabfffcfc
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.asm_used_pct["{#DGNAME}"],5m)>{$ORACLE.ASM.USED.PCT.MAX.HIGH}'
                  name: 'Oracle: ASM ''{#DGNAME}'': Disk group usage is too high'
                  event_name: 'Oracle: ASM ''{#DGNAME}'': Disk group usage is too high (over {$ORACLE.ASM.USED.PCT.MAX.HIGH}% for 5m)'
                  priority: HIGH
                  description: 'The usage of the ASM disk group expressed in % exceeds `{$ORACLE.ASM.USED.PCT.MAX.HIGH}`.'
                  tags:
                    - tag: scope
                      value: capacity
                - uuid: af6ff1d099524209b2806b1257e9a8e3
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.asm_used_pct["{#DGNAME}"],5m)>{$ORACLE.ASM.USED.PCT.MAX.WARN}'
                  name: 'Oracle: ASM ''{#DGNAME}'': Disk group usage is too high'
                  event_name: 'Oracle: ASM ''{#DGNAME}'': Disk group usage is too high (over {$ORACLE.ASM.USED.PCT.MAX.WARN}% for 5m)'
                  priority: WARNING
                  description: 'The usage of the ASM disk group expressed in % exceeds `{$ORACLE.ASM.USED.PCT.MAX.WARN}`.'
                  dependencies:
                    - name: 'Oracle: ASM ''{#DGNAME}'': Disk group usage is too high'
                      expression: 'min(/Oracle by Zabbix agent 2/oracle.asm_used_pct["{#DGNAME}"],5m)>{$ORACLE.ASM.USED.PCT.MAX.HIGH}'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: cb703b07fc514ce5aedc561896bcd53f
              name: 'ASM ''{#DGNAME}'': Get ASM stats'
              key: 'oracle.diskgroups.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DGNAME}"]'
              history: '0'
              value_type: TEXT
              description: 'Gets the ASM disk group statistics.'
              tags:
                - tag: component
                  value: asm
                - tag: component
                  value: raw
          graph_prototypes:
            - uuid: f42e49e6743f4b08b5bdc3ab284b26f3
              name: 'ASM ''{#DGNAME}'': ASM disk group ''{#DGNAME}'''
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Oracle by Zabbix agent 2'
                    key: 'oracle.asm_free_size["{#DGNAME}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'Oracle by Zabbix agent 2'
                    key: 'oracle.asm_total_size["{#DGNAME}"]'
        - uuid: 479a56fe538f46c094cc4b595d070776
          name: 'PDB discovery'
          key: 'oracle.pdb.discovery["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DBNAME}'
                value: '{$ORACLE.DBNAME.MATCHES}'
              - macro: '{#DBNAME}'
                value: '{$ORACLE.DBNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Scanning a pluggable database (PDB) in DBMS.'
          item_prototypes:
            - uuid: ca4452418d2641bd87fa75e946c2bf98
              name: 'Database ''{#DBNAME}'': Get PDB info'
              key: 'oracle.pdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#CON_ID}"]'
              history: '0'
              value_type: TEXT
              description: 'Gets the information about the PDB database on an instance.'
              tags:
                - tag: component
                  value: pdb
                - tag: component
                  value: raw
            - uuid: c52e96105cea45cea1b18201b325ba53
              name: 'Database ''{#DBNAME}'': Open status'
              type: DEPENDENT
              key: 'oracle.pdb_open_mode["{#CON_ID}"]'
              description: |
                1 - MOUNTED;
                2 - READ WRITE;
                3 - READ ONLY;
                4 - READ ONLY WITH APPLY (a physical standby database is open in real-time query mode).
              valuemap:
                name: 'Oracle DB open status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..{#DBNAME}.open_mode.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: 'oracle.pdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: database
                - tag: database
                  value: '{#DBNAME}'
                - tag: type
                  value: pdb
              trigger_prototypes:
                - uuid: 61f48e1d858f4e95a603b32ee1c409dc
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.pdb_open_mode["{#CON_ID}"],#1)<>last(/Oracle by Zabbix agent 2/oracle.pdb_open_mode["{#CON_ID}"],#2)'
                  name: 'Oracle: Database ''{#DBNAME}'': Open status has changed'
                  event_name: 'Oracle: Database ''{#DBNAME}'': Open status has changed (new value received: {ITEM.VALUE})'
                  priority: INFO
                  description: 'The Oracle Database open status has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
                - uuid: a6921cc3b42843dcb5624b3bb172f996
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.pdb_open_mode["{#CON_ID}"])=1'
                  name: 'Oracle: Database ''{#DBNAME}'': Open status in mount mode'
                  priority: WARNING
                  description: 'The Oracle Database is in a mounted state.'
                  tags:
                    - tag: scope
                      value: notice
        - uuid: 46ee5f42a15b43a58f7ef0ce5e3638d3
          name: 'Tablespace discovery'
          key: 'oracle.ts.discovery["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#CON_NAME}'
                value: '{$ORACLE.TABLESPACE.CONTAINER.MATCHES}'
              - macro: '{#CON_NAME}'
                value: '{$ORACLE.TABLESPACE.CONTAINER.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#TABLESPACE}'
                value: '{$ORACLE.TABLESPACE.NAME.MATCHES}'
              - macro: '{#TABLESPACE}'
                value: '{$ORACLE.TABLESPACE.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Scanning tablespaces in DBMS.'
          item_prototypes:
            - uuid: 14a26a84cfe947089843ed93cd7707c8
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace allocated, bytes'
              type: DEPENDENT
              key: 'oracle.tbs_alloc_bytes["{#CON_ID}","{#TABLESPACE}"]'
              units: B
              description: 'Currently allocated bytes for the tablespace (sum of the current size of datafiles).'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].file_bytes.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
            - uuid: d7263b6da6c04c7798909a8448f526ab
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace free, bytes'
              type: DEPENDENT
              key: 'oracle.tbs_free_bytes["{#CON_ID}","{#TABLESPACE}"]'
              units: B
              description: 'Free bytes of the allocated space.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].free_bytes.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
            - uuid: d2d919d303b244829c797245e08c2fe5
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace MAX size, bytes'
              type: DEPENDENT
              key: 'oracle.tbs_max_bytes["{#CON_ID}","{#TABLESPACE}"]'
              units: B
              description: 'The maximum size of the tablespace.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].max_bytes.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
            - uuid: de6892ac5ca4499db01dd02c0444aafc
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Open status'
              type: DEPENDENT
              key: 'oracle.tbs_status["{#CON_ID}","{#TABLESPACE}"]'
              description: |
                The tablespace status where:
                1 - ONLINE;
                2 - OFFLINE;
                3 - READ ONLY.
              valuemap:
                name: 'Oracle tablespace status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].status.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
              trigger_prototypes:
                - uuid: 832f908ca3b84a3c9a030b5d33b96016
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.tbs_status["{#CON_ID}","{#TABLESPACE}"])=2'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace is OFFLINE'
                  priority: WARNING
                  description: 'The tablespace is in the offline state.'
                  tags:
                    - tag: scope
                      value: availability
                - uuid: 2e84836974b340b5b916eed08e1fcdf4
                  expression: 'last(/Oracle by Zabbix agent 2/oracle.tbs_status["{#CON_ID}","{#TABLESPACE}"],#1)<>last(/Oracle by Zabbix agent 2/oracle.tbs_status["{#CON_ID}","{#TABLESPACE}"],#2)'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace status has changed'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace status has changed (new value received: {ITEM.VALUE})'
                  priority: INFO
                  description: 'Oracle tablespace status has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace is OFFLINE'
                      expression: 'last(/Oracle by Zabbix agent 2/oracle.tbs_status["{#CON_ID}","{#TABLESPACE}"])=2'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: ab56fee407e143db912dffcf24fb0106
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace used, bytes'
              type: DEPENDENT
              key: 'oracle.tbs_used_bytes["{#CON_ID}","{#TABLESPACE}"]'
              units: B
              description: 'Currently used bytes for the tablespace (current size of datafiles minus the free space).'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].used_bytes.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
            - uuid: 358615a3e372462e9cec05df1df22743
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage, percent'
              type: DEPENDENT
              key: 'oracle.tbs_used_file_pct["{#CON_ID}","{#TABLESPACE}"]'
              value_type: FLOAT
              units: '%'
              description: 'Used bytes/allocated bytes*100.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].used_file_pct.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
              trigger_prototypes:
                - uuid: bbc86236064348ee9150dfdd07623061
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_file_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.MAX.HIGH}'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage is too high'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage is too high (over {$ORACLE.TBS.USED.PCT.MAX.HIGH}% for 5m).'
                  priority: HIGH
                  description: 'The usage of the tablespace `{#TABLESPACE}` exceeds `{$ORACLE.TBS.USED.PCT.MAX.HIGH}`%'
                  tags:
                    - tag: scope
                      value: capacity
                - uuid: ba298d35aaaa4386b4f03914dcf1cb27
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_file_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.MAX.WARN}'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage is too high'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage is too high (over {$ORACLE.TBS.USED.PCT.MAX.WARN}% for 5m).'
                  priority: WARNING
                  description: 'The usage of the tablespace `{#TABLESPACE}` exceeds `{$ORACLE.TBS.USED.PCT.MAX.WARN}`%'
                  dependencies:
                    - name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage is too high'
                      expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_file_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.MAX.HIGH}'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: 93f6abb8363e4ee2ad2801090cf006b0
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage from MAX, percent'
              type: DEPENDENT
              key: 'oracle.tbs_used_from_max_pct["{#CON_ID}","{#TABLESPACE}"]'
              value_type: FLOAT
              units: '%'
              description: 'Used bytes/max bytes*100.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].used_from_max_pct.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
              trigger_prototypes:
                - uuid: dd246e51d0b343f0b18b18dc802dfbc2
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_from_max_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.FROM.MAX.WARN}'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace usage from MAX is too high'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization from MAX is too high (over {$ORACLE.TBS.USED.PCT.FROM.MAX.WARN}% for 5m).'
                  priority: WARNING
                  description: 'The usage of the tablespace `{#TABLESPACE}` from MAX exceeds `{$ORACLE.TBS.USED.PCT.FROM.MAX.WARN}`%'
                  dependencies:
                    - name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization from MAX is too high'
                      expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_from_max_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.FROM.MAX.HIGH}'
                  tags:
                    - tag: scope
                      value: capacity
                - uuid: a82c07893e04440ea9c0e5e7f8f79602
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_from_max_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.FROM.MAX.HIGH}'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization from MAX is too high'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization from MAX is too high (over {$ORACLE.TBS.USED.PCT.FROM.MAX.HIGH}% for 5m).'
                  priority: HIGH
                  description: 'The usage of the tablespace `{#TABLESPACE}` from MAX exceeds `{$ORACLE.TBS.USED.PCT.FROM.MAX.HIGH}`%'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: 5d6293b33a46488c88a75dc898bf7059
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace allocated, percent'
              type: DEPENDENT
              key: 'oracle.tbs_used_pct["{#CON_ID}","{#TABLESPACE}"]'
              value_type: FLOAT
              units: '%'
              description: 'Allocated bytes/max bytes*100.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$..[''{#TABLESPACE}''].used_pct_max.first()'
              master_item:
                key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              tags:
                - tag: component
                  value: tablespaces
                - tag: contents
                  value: '{#CONTENTS}'
                - tag: database
                  value: '{#CON_NAME}'
                - tag: tablespace
                  value: '{#TABLESPACE}'
              trigger_prototypes:
                - uuid: 451108a2251848ea8719378d5c0abb42
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.UTIL.PCT.MAX.HIGH}'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization is too high'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization is too high (over {$ORACLE.TBS.UTIL.PCT.MAX.HIGH}% for 5m).'
                  priority: HIGH
                  description: 'The utilization of the tablespace `{#TABLESPACE}` exceeds `{$ORACLE.TBS.UTIL.PCT.MAX.HIGH}`%'
                  tags:
                    - tag: scope
                      value: capacity
                - uuid: 2530cb03fb4e4e728396834f0db89466
                  expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.UTIL.PCT.MAX.WARN}'
                  name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization is too high'
                  event_name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization is too high (over {$ORACLE.TBS.UTIL.PCT.MAX.WARN}% for 5m).'
                  priority: WARNING
                  description: 'The utilization of the tablespace `{#TABLESPACE}` exceeds `{$ORACLE.TBS.UTIL.PCT.MAX.WARN}`%'
                  dependencies:
                    - name: 'Oracle: ''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace utilization is too high'
                      expression: 'min(/Oracle by Zabbix agent 2/oracle.tbs_used_pct["{#CON_ID}","{#TABLESPACE}"],5m)>{$ORACLE.TBS.UTIL.PCT.MAX.HIGH}'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: 97ac4acedcde465b8d004a8ac476dd99
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Get tablespaces stats'
              key: 'oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}","{#CON_ID}"]'
              history: '0'
              value_type: TEXT
              description: 'Gets the statistics of the tablespace.'
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: tablespaces
          graph_prototypes:
            - uuid: 4b20cce21abb453f9aab0dbce75ff060
              name: '''{#CON_NAME}'' TBS ''{#TABLESPACE}'': Tablespace ''{#TABLESPACE}'''
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Oracle by Zabbix agent 2'
                    key: 'oracle.tbs_alloc_bytes["{#CON_ID}","{#TABLESPACE}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'Oracle by Zabbix agent 2'
                    key: 'oracle.tbs_max_bytes["{#CON_ID}","{#TABLESPACE}"]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'Oracle by Zabbix agent 2'
                    key: 'oracle.tbs_used_bytes["{#CON_ID}","{#TABLESPACE}"]'
      tags:
        - tag: class
          value: database
        - tag: subclass
          value: sql
        - tag: target
          value: oracle
      macros:
        - macro: '{$ORACLE.ASM.USED.PCT.MAX.HIGH}'
          value: '95'
          description: 'The maximum percentage of used space in the Automatic Storage Management (ASM) disk group for the High trigger expression.'
          config:
            type: TEXT
            priority: '29'
            section_name: Thresholds
            label: 'High threshold for used space in the ASM'
            description: 'Maximum percentage of used space in the Automatic Storage Management (ASM) disk group for the High trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.ASM.USED.PCT.MAX.WARN}'
          value: '90'
          description: 'The maximum percentage of used space in the Automatic Storage Management (ASM) disk group for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '28'
            section_name: Thresholds
            label: 'Warning threshold for used space in the ASM'
            description: 'Maximum percentage of used space in the Automatic Storage Management (ASM) disk group for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.CONCURRENCY.MAX.WARN}'
          value: '80'
          description: 'The maximum percentage of session concurrency for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '24'
            section_name: Thresholds
            label: 'Warning threshold for session concurrency'
            description: 'Maximum percentage of session concurrency for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.CONNSTRING}'
          description: 'Oracle URI or a session name.'
          config:
            type: TEXT
            priority: '3'
            label: 'URI or session name'
            description: 'Oracle database URI or a session name.'
            required: 'YES'
        - macro: '{$ORACLE.DB.FILE.MAX.WARN}'
          value: '80'
          description: 'The maximum percentage of used database files for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '19'
            section_name: Thresholds
            label: 'Warning threshold for used database files'
            description: 'Maximum percentage of used database files for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.DBNAME.MATCHES}'
          value: '.*'
          description: 'Used in database discovery. It can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '5'
            section_name: Filters
            label: 'Include database filter'
            description: 'Regex string to include discovered database.'
        - macro: '{$ORACLE.DBNAME.NOT_MATCHES}'
          value: PDB\$SEED
          description: 'Used in database discovery. It can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '6'
            section_name: Filters
            label: 'Exclude database filter'
            description: 'Regex string to exclude discovered database.'
        - macro: '{$ORACLE.EXPIRE.PASSWORD.MIN.WARN}'
          value: '7'
          description: 'The number of days before the password expires for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '27'
            section_name: Thresholds
            label: 'Warning threshold in days before the password expires'
            description: 'Number of days before the password expires for the Warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.PASSWORD}'
          type: SECRET_TEXT
          description: 'Oracle user''s password.'
          config:
            type: TEXT
            priority: '2'
            label: Password
            description: 'Oracle database password.'
            required: 'YES'
        - macro: '{$ORACLE.PGA.USE.MAX.WARN}'
          value: '90'
          description: 'Alert threshold for the maximum percentage of the Program Global Area (PGA) usage for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'Warning threshold for PGA usage'
            description: 'Alert threshold for the maximum percentage of the Program Global Area (PGA) usage for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.PROCESSES.MAX.WARN}'
          value: '80'
          description: 'Alert threshold for the maximum percentage of active processes for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Warning threshold for active processes'
            description: 'Alert threshold for the maximum percentage of active processes for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.REDO.MIN.WARN}'
          value: '3'
          description: 'Alert threshold for the minimum number of redo logs for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '25'
            section_name: Thresholds
            label: 'Warning threshold for minimum number of redo logs'
            description: 'Alert threshold for the minimum number of redo logs for the Warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.SERVICE}'
          value: ORA
          description: 'Oracle Service Name.'
          config:
            type: TEXT
            priority: '4'
            label: 'Service Name'
            description: 'Oracle Service Name.'
        - macro: '{$ORACLE.SESSION.LOCK.MAX.TIME}'
          value: '600'
          description: 'The maximum duration of the session lock in seconds to count the session as a prolongedly locked query.'
          config:
            type: TEXT
            priority: '22'
            section_name: Thresholds
            label: 'Duration of the session lock'
            description: 'Maximum duration of the session lock in seconds to count the session as a prolongedly locked query.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.SESSION.LONG.LOCK.MAX.WARN}'
          value: '3'
          description: 'Alert threshold for the maximum number of the prolongedly locked sessions for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '23'
            section_name: Thresholds
            label: 'Warning threshold for prolongedly locked sessions'
            description: 'Alert threshold for the maximum number of the prolongedly locked sessions for the Warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.SESSIONS.LOCK.MAX.WARN}'
          value: '20'
          description: 'Alert threshold for the maximum percentage of locked sessions for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Warning threshold for locked sessions'
            description: 'Alert threshold for the maximum percentage of locked sessions for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.SESSIONS.MAX.WARN}'
          value: '80'
          description: 'Alert threshold for the maximum percentage of active sessions for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Warning threshold for active sessions'
            description: 'Alert threshold for the maximum percentage of active sessions for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.SHARED.FREE.MIN.WARN}'
          value: '5'
          description: 'Alert threshold for the minimum percentage of free shared pool for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '26'
            section_name: Thresholds
            label: 'Warning threshold for free shared pool'
            description: 'Alert threshold for the minimum percentage of free shared pool for the Warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.TABLESPACE.CONTAINER.MATCHES}'
          value: '.*'
          description: 'Used in tablespace discovery. It can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '7'
            section_name: Filters
            label: 'Include tablespace container filter'
            description: 'Regex string to include discovered tablespace container.'
        - macro: '{$ORACLE.TABLESPACE.CONTAINER.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in tablespace discovery. It can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '8'
            section_name: Filters
            label: 'Exclude tablespace container filter'
            description: 'Regex string to exclude discovered tablespace container.'
        - macro: '{$ORACLE.TABLESPACE.NAME.MATCHES}'
          value: '.*'
          description: 'Used in tablespace discovery. It can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '9'
            section_name: Filters
            label: 'Include tablespace name filter'
            description: 'Regex string to include discovered tablespace.'
        - macro: '{$ORACLE.TABLESPACE.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in tablespace discovery. It can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'Exclude tablespace name filter'
            description: 'Regex string to exclude discovered tablespace.'
        - macro: '{$ORACLE.TBS.USED.PCT.FROM.MAX.HIGH}'
          value: '95'
          description: 'High severity alert threshold for the maximum percentage of tablespace usage (used bytes/max bytes) for the High trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'High severity alert threshold for from maximum tablespace size'
            description: 'High severity alert threshold for the maximum percentage of tablespace usage (used bytes/max bytes) for the High trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.TBS.USED.PCT.FROM.MAX.WARN}'
          value: '90'
          description: 'Warning severity alert threshold for the maximum percentage of tablespace usage from maximum tablespace size (used bytes/max bytes) for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '11'
            section_name: Thresholds
            label: 'Warning severity alert threshold for from maximum tablespace size'
            description: 'Warning severity alert threshold for the maximum percentage of tablespace usage from maximum tablespace size (used bytes/max bytes) for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.TBS.USED.PCT.MAX.HIGH}'
          value: '95'
          description: 'High severity alert threshold for the maximum percentage of tablespace usage (used bytes/allocated bytes) for the High trigger expression.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'High severity alert threshold for the maximum percentage of tablespace usage'
            description: 'High severity alert threshold for the maximum percentage of tablespace usage (used bytes/allocated bytes) for the High trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.TBS.USED.PCT.MAX.WARN}'
          value: '90'
          description: 'Warning severity alert threshold for the maximum percentage of tablespace usage (used bytes/allocated bytes) for the Warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'Warning severity alert threshold for the maximum percentage of tablespace usage'
            description: 'Warning severity alert threshold for the maximum percentage of tablespace usage (used bytes/allocated bytes) for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.TBS.UTIL.PCT.MAX.HIGH}'
          value: '90'
          description: 'High severity alert threshold for the maximum percentage of tablespace utilization (allocated bytes/max bytes) for the High trigger expression.'
          config:
            type: TEXT
            priority: '16'
            section_name: Thresholds
            label: 'High severity alert threshold for tablespace utilization'
            description: 'High severity alert threshold for the maximum percentage of tablespace utilization (allocated bytes/max bytes) for the High trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.TBS.UTIL.PCT.MAX.WARN}'
          value: '80'
          description: 'Warning severity alert threshold for the maximum percentage of tablespace utilization (allocated bytes/max bytes) for the High trigger expression.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'Warning severity alert threshold for tablespace utilization'
            description: 'Warning severity alert threshold for the maximum percentage of tablespace utilization (allocated bytes/max bytes) for the Warning trigger expression. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ORACLE.USER}'
          description: 'Oracle username.'
          config:
            type: TEXT
            priority: '1'
            label: Username
            description: 'Oracle database username.'
            required: 'YES'
      dashboards:
        - uuid: 60f2fa6384884e09a7c475e7c04b1515
          name: 'Oracle Performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Cache Hit Ratios'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Physical Read\Write Rate'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graph
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Datafiles'
                    - type: STRING
                      name: reference
                      value: AAAAE
                - type: graph
                  'y': '15'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Processes'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graph
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: SGA Memory Usage'
                    - type: STRING
                      name: reference
                      value: AAAAI
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Sort Operations'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Physical Read\Write Rate, Bytes'
                    - type: STRING
                      name: reference
                      value: AAAAD
                - type: graph
                  x: '36'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: PGA'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graph
                  x: '36'
                  'y': '15'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Oracle by Zabbix agent 2'
                        name: 'Oracle: Sessions'
                    - type: STRING
                      name: reference
                      value: AAAAH
      valuemaps:
        - uuid: 5a90da8dd6124159a7f82a7a996f0a53
          name: 'Oracle Archivelog status'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: Error
            - value: '2'
              newvalue: Deferred
            - value: '3'
              newvalue: Valid
        - uuid: f39e64058fef423bb858ba45834a3455
          name: 'Oracle archiver state'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: Stopped
            - value: '2'
              newvalue: Started
            - value: '3'
              newvalue: Failed
        - uuid: 015a0c94ba2644c6aa343d3f792a4072
          name: 'Oracle DB open status'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: Mounted
            - value: '2'
              newvalue: 'Read Only'
            - value: '3'
              newvalue: Read-Write
            - value: '4'
              newvalue: 'Read Only with Apply'
        - uuid: afade10cda4e453982355342ba9d8d9f
          name: 'Oracle DB role'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: 'Snapshot standby'
            - value: '2'
              newvalue: 'Logical standby'
            - value: '3'
              newvalue: 'Physical standby'
            - value: '4'
              newvalue: Primary
            - value: '5'
              newvalue: 'Far sync'
        - uuid: 1d9f4a44f2f94a799768f147cb712331
          name: 'Oracle force log status'
          mappings:
            - value: '0'
              newvalue: 'No'
            - value: '1'
              newvalue: 'Yes'
        - uuid: 53d97b73db8449959420e03114d345c3
          name: 'Oracle instance role'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: Primary
            - value: '2'
              newvalue: Secondary
        - uuid: 4893318c780f47719e12e839c9a846c2
          name: 'Oracle instance status'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: Started
            - value: '2'
              newvalue: Mounted
            - value: '3'
              newvalue: Open
            - value: '4'
              newvalue: 'Open migrate'
        - uuid: 910dd4a87f75434289fa2e345778d18d
          name: 'Oracle log mode'
          mappings:
            - value: '0'
              newvalue: NOARCHIVELOG
            - value: '1'
              newvalue: ARCHIVELOG
            - value: '2'
              newvalue: MANUAL
        - uuid: f14ed94cf12740a19e221ddaa4855c54
          name: 'Oracle tablespace status'
          mappings:
            - value: '0'
              newvalue: Unknown
            - value: '1'
              newvalue: Online
            - value: '2'
              newvalue: Offline
            - value: '3'
              newvalue: Read-Only
        - uuid: 31c489581d8b4246942c663b88fbaf9f
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
  triggers:
    - uuid: 7cb3423e736d435b87a21687c09debf0
      expression: '(last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/MikroTik CCR1009-7G-1C-1SPC by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'MikroTik: Host has been restarted'
      event_name: 'MikroTik: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'MikroTik: No SNMP data collection'
          expression: 'max(/MikroTik CCR1009-7G-1C-1SPC by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 40fac3f864c442f9bcbcbd5757070c38
      expression: '(last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'MikroTik: Host has been restarted'
      event_name: 'MikroTik: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'MikroTik: No SNMP data collection'
          expression: 'max(/MikroTik CRS109-8G-1S-2HnD-IN by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 6cbc680faf50402a8aa5eb6b2b848f7b
      expression: '(last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'MikroTik: Host has been restarted'
      event_name: 'MikroTik: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'MikroTik: No SNMP data collection'
          expression: 'max(/MikroTik CRS125-24G-1S-2HnD-IN by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 661c463acbed4777b8269b9277a255fc
      expression: '(last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/MikroTik CRS328-4C-20S-4SRM by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'MikroTik: Host has been restarted'
      event_name: 'MikroTik: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'MikroTik: No SNMP data collection'
          expression: 'max(/MikroTik CRS328-4C-20S-4SRM by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 81a1b9e9630c4b28b035da3b9fa7e6d7
      expression: '(last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/MikroTik RB1100AHx4 Dude Edition by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'MikroTik: Host has been restarted'
      event_name: 'MikroTik: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'MikroTik: No SNMP data collection'
          expression: 'max(/MikroTik RB1100AHx4 Dude Edition by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 3f265c15b3d042d79b1aa598f7249738
      expression: 'min(/Oracle by Zabbix agent 2/oracle.proc.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"],5m) * 100 / last(/Oracle by Zabbix agent 2/oracle.processes_limit) > {$ORACLE.PROCESSES.MAX.WARN}'
      name: 'Oracle: Too many active processes'
      event_name: 'Oracle: Too many active processes (over {$ORACLE.PROCESSES.MAX.WARN}% for 5 min)'
      priority: WARNING
      description: 'Active processes are using more than `{$ORACLE.PROCESSES.MAX.WARN}`% of the available number of processes.'
      tags:
        - tag: scope
          value: capacity
    - uuid: d9977c48c6e7435eafde4cabc43bb5fc
      expression: 'min(/Oracle by Zabbix agent 2/oracle.session_count,5m) * 100 / last(/Oracle by Zabbix agent 2/oracle.session_limit) > {$ORACLE.SESSIONS.MAX.WARN}'
      name: 'Oracle: Too many active sessions'
      event_name: 'Oracle: Too many active sessions (over {$ORACLE.SESSIONS.MAX.WARN}% for 5 min)'
      priority: WARNING
      description: 'Active sessions are using more than `{$ORACLE.SESSIONS.MAX.WARN}`% of the available sessions.'
      tags:
        - tag: scope
          value: capacity
    - uuid: 362882973d0b45d1a09a687353734032
      expression: 'min(/Oracle by Zabbix agent 2/oracle.datafiles.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"],5m) * 100 / last(/Oracle by Zabbix agent 2/oracle.db_files_limit) > {$ORACLE.DB.FILE.MAX.WARN}'
      name: 'Oracle: Too many database files'
      event_name: 'Oracle: Too many database files (over {$ORACLE.DB.FILE.MAX.WARN}% for 5 min)'
      priority: WARNING
      description: 'The number of datafiles is higher than `{$ORACLE.DB.FILE.MAX.WARN}`% of the available datafile limit.'
      tags:
        - tag: scope
          value: capacity
    - uuid: aecb78fc9a7549f2b8e68325530bcd99
      expression: 'min(/Oracle by Zabbix agent 2/oracle.total_pga_used,5m) * 100 / last(/Oracle by Zabbix agent 2/oracle.pga_target) > {$ORACLE.PGA.USE.MAX.WARN}'
      name: 'Oracle: Total PGA inuse is too high'
      event_name: 'Oracle: Total PGA inuse is too high (over {$ORACLE.PGA.USE.MAX.WARN}% for 5 min)'
      priority: WARNING
      description: 'The total PGA in use is more than `{$ORACLE.PGA.USE.MAX.WARN}`% of `PGA_AGGREGATE_TARGET`.'
      tags:
        - tag: scope
          value: capacity
  graphs:
    - uuid: 63c998c8625c45ac8e29802bfa83f4e1
      name: 'Cisco Secure FTD: CPU Utilization'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 2196F3
          item:
            host: 'Cisco Secure Firewall Threat Defense by HTTP'
            key: cisco.ftd.cpu.utilization
    - uuid: 852cd213b59640f09cd62303fa4c0d9d
      name: 'Mikrotik: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MikroTik CCR1009-7G-1C-1SPC by SNMP'
            key: 'vm.memory.util[memoryUsedPercentage.Memory]'
    - uuid: f06f354dfd2b4ca881efdece1f8ed149
      name: 'Mikrotik: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MikroTik CRS109-8G-1S-2HnD-IN by SNMP'
            key: 'vm.memory.util[memoryUsedPercentage.Memory]'
    - uuid: 468ff969bf854e30b118c517caa85d82
      name: 'Mikrotik: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MikroTik CRS125-24G-1S-2HnD-IN by SNMP'
            key: 'vm.memory.util[memoryUsedPercentage.Memory]'
    - uuid: 2fbbbe5c78d14824a1a2234769e4e687
      name: 'Mikrotik: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MikroTik CRS328-4C-20S-4SRM by SNMP'
            key: 'vm.memory.util[memoryUsedPercentage.Memory]'
    - uuid: 443e4ca5308d4e839fce0b7fc1da4932
      name: 'Mikrotik: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MikroTik RB1100AHx4 Dude Edition by SNMP'
            key: 'vm.memory.util[memoryUsedPercentage.Memory]'
    - uuid: 41d6905fa6654468b7e872973265c5b6
      name: 'Oracle: Cache Hit Ratios'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.buffer_cache_hit_ratio
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.library_cache_hit_ratio
    - uuid: 292f08d249d344db882a3447cc268ca6
      name: 'Oracle: Datafiles'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: 'oracle.datafiles.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.db_files_limit
    - uuid: 4b4d2430750c4885b4764c3b602dc091
      name: 'Oracle: PGA'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.total_pga_used
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.pga_target
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.total_pga_allocated
    - uuid: 4e02f667b98042f6ac538692a074a982
      name: 'Oracle: Physical Read\Write Rate'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.physical_writes_rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.physical_reads_rate
    - uuid: 2bfd6cda93da4201a73c3d16caea8284
      name: 'Oracle: Physical Read\Write Rate, Bytes'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.physical_write_bytes_rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.physical_read_bytes_rate
    - uuid: e51ad4ba7cca491faf7564a8d26bc1da
      name: 'Oracle: Processes'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: 'oracle.proc.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.processes_limit
    - uuid: 3323be96dd454a92ade913ab6c2b589c
      name: 'Oracle: Sessions'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.session_count
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.session_active_background
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.session_inactive_user
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.session_active_user
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.session_limit
    - uuid: ad7c9a7b4c7a4b4885cb1e91e7e79d3d
      name: 'Oracle: SGA Memory Usage'
      type: STACKED
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.sga_java_pool
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.sga_large_pool
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.sga_shared_pool
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.sga_log_buffer
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.sga_fixed
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.sga_buffer_cache
    - uuid: 3bbd3756a40d40f4b80851eb288d7822
      name: 'Oracle: Sort Operations'
      graph_items:
        - color: 199C0D
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.memory_sorts_ratio
        - sortorder: '1'
          color: F63100
          item:
            host: 'Oracle by Zabbix agent 2'
            key: oracle.disk_sorts
    - uuid: 6177a93fb8fa4dc4934a88be88f51838
      name: 'Total daily expenses'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'OpenAI Platform by HTTP'
            key: openai.expenses.total
