zabbix_export:
  version: '7.4'
  template_groups:
    - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
      name: Templates/Applications
  templates:
    - uuid: 34f386276a094e8e9a6e46653fdf05b1
      template: 'Nextcloud by HTTP'
      name: 'Nextcloud by HTTP'
      description: |
        This template is designed for monitoring Nextcloud by HTTP via Zabbix, and it works without any external scripts.
          Nextcloud is a suite of client-server software for creating and using file hosting services.
          For more information, see the [`official documentation`](https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-api-overview.html#)
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.4-1
      groups:
        - name: Templates/Applications
      items:
        - uuid: cf89012acb7749a396fc14a705145c91
          name: 'Active users, last 1 hour'
          type: DEPENDENT
          key: nextcloud.serverinfo.active_users.last1h
          description: 'The number of active users in the last 1 hour.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.activeUsers.last1hour
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: 355d11e7459a4c599a86b2c08b90fd56
          name: 'Active users, last 5 minutes'
          type: DEPENDENT
          key: nextcloud.serverinfo.active_users.last5m
          description: 'The number of active users in the last 5 minutes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.activeUsers.last5minutes
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: 6a28646d56804f9fa4d060af26579881
          name: 'Active users, last 24 hours'
          type: DEPENDENT
          key: nextcloud.serverinfo.active_users.last24hours
          description: 'The number of active users in the last day.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.activeUsers.last24hours
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: cca878683ecb4de4b648fa100b579748
          name: 'Apps installed'
          type: DEPENDENT
          key: nextcloud.serverinfo.apps.installed
          description: 'The number of installed applications.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.apps.num_installed
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: b0375ab303e74e7cadd911a4a2e98725
              expression: 'change(/Nextcloud by HTTP/nextcloud.serverinfo.apps.installed)<>0'
              name: 'Nextcloud: Number of installed apps has been changed'
              priority: INFO
              description: 'Applications have been installed or removed.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: d53e692d6c7d42fcb8a69e322f434da1
          name: 'Apps update available'
          type: DEPENDENT
          key: nextcloud.serverinfo.apps.update
          description: 'The number of applications for which an update is available.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.apps.num_updates_available
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 180c82d98b694f27bc44d1fc20ccd06e
              expression: 'last(/Nextcloud by HTTP/nextcloud.serverinfo.apps.update)<>0'
              name: 'Nextcloud: Application updates are available'
              priority: WARNING
              description: 'Updates are available for some of the installed applications.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: cc488c36ae0643a7bacb5173935ba608
          name: 'Web server'
          type: DEPENDENT
          key: nextcloud.serverinfo.apps.webserver
          value_type: CHAR
          description: 'Web server description.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.webserver
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: b018847264af4db3b3969e037734d669
          name: 'CPU load, avg 1m'
          type: DEPENDENT
          key: nextcloud.serverinfo.cpu.avg.1m
          value_type: FLOAT
          description: 'The average system load (the number of processes in the system run queue), last 1 minute.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.ocs.data.nextcloud.system.cpuload.element[0]'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 481edcbc45174b35a2d44003aa101817
              expression: 'min(/Nextcloud by HTTP/nextcloud.serverinfo.cpu.avg.1m,5m) > {$NEXTCLOUD.CPU.LOAD.MAX}'
              name: 'Nextcloud: CPU load is too high'
              event_name: 'Nextcloud: CPU load is too high (over {$NEXTCLOUD.CPU.LOAD.MAX} for 5m)'
              priority: AVERAGE
              description: 'High CPU load.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 1a7ca7bf50f042f7b0f025604cbeb008
          name: 'CPU load, avg 5m'
          type: DEPENDENT
          key: nextcloud.serverinfo.cpu.avg.5m
          value_type: FLOAT
          description: 'The average system load (the number of processes in the system run queue), last 5 minutes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.ocs.data.nextcloud.system.cpuload.element[1]'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: cpu
        - uuid: 06a34d8efcc043bbb027dbbddd37c8a2
          name: 'CPU load, avg 15m'
          type: DEPENDENT
          key: nextcloud.serverinfo.cpu.avg.15m
          value_type: FLOAT
          description: 'The average system load (the number of processes in the system run queue), last 15 minutes.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$.ocs.data.nextcloud.system.cpuload.element[2]'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: cpu
        - uuid: 725bdfe6f7eb4888b453c8ddd8907ba2
          name: 'Database size'
          type: DEPENDENT
          key: nextcloud.serverinfo.db.size
          units: B
          description: 'Size of database.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.database.size
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: storage
        - uuid: a1992a76942e4a8ebcd010ca73eed0af
          name: 'Database type'
          type: DEPENDENT
          key: nextcloud.serverinfo.db.type
          value_type: CHAR
          description: 'Database type.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.database.type
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: 9a244bfd15a94f07a4f88947c10ff4b9
          name: 'Database version'
          type: DEPENDENT
          key: nextcloud.serverinfo.db.version
          value_type: CHAR
          description: 'Database description.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.database.version
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
          triggers:
            - uuid: d59f8e583cc34c578946607433d254ca
              expression: 'change(/Nextcloud by HTTP/nextcloud.serverinfo.db.version)=1 and length(last(/Nextcloud by HTTP/nextcloud.serverinfo.db.version))>0'
              name: 'Nextcloud: Database version has changed'
              event_name: 'Nextcloud: Database version has changed (new version: {ITEM.VALUE})'
              priority: INFO
              description: 'The Database version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 77bfc58708a54e8f89d83c962b7c2dac
          name: 'Free space'
          type: DEPENDENT
          key: nextcloud.serverinfo.freespace
          units: B
          description: 'The amount of free disk space.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.freespace
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: storage
          triggers:
            - uuid: 6d9d52db83e34d83891cc3bb449d59b2
              expression: 'last(/Nextcloud by HTTP/nextcloud.serverinfo.freespace)<{$NEXTCLOUD.STORAGE.FREE.MIN}'
              name: 'Nextcloud: Disk space is low'
              event_name: 'Nextcloud: Disk space is low (free < {$NEXTCLOUD.STORAGE.FREE.MIN})'
              priority: AVERAGE
              description: |
                Condition should be the following:
                - the disk free space is less than `{$NEXTCLOUD.STORAGE.FREE.MIN}`;
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
        - uuid: 8a7fb4062f484de4a8579ebb83b297a2
          name: 'Get server information'
          type: HTTP_AGENT
          key: nextcloud.serverinfo.get_data
          history: '0'
          value_type: TEXT
          authtype: BASIC
          username: '{$NEXTCLOUD.USER.NAME}'
          password: '{$NEXTCLOUD.USER.PASSWORD}'
          description: |
            This item provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc.
            https://github.com/nextcloud/serverinfo
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '<ocs><meta><status>failure</status><statuscode>999</statuscode><message/></meta><data><message>Unknown error</message></data></ocs>'
            - type: XML_TO_JSON
          timeout: 10s
          url: '{$NEXTCLOUD.SCHEMA}://{$NEXTCLOUD.ADDRESS}/ocs/v2.php/apps/serverinfo/api/v1/info'
          status_codes: '200,401'
          http_proxy: '{$NEXTCLOUD.PROXY}'
          headers:
            - name: OCS-APIRequest
              value: 'true'
          tags:
            - tag: component
              value: raw
        - uuid: 1e96304bec7447329f91875b7beadf7d
          name: 'Memory free'
          type: DEPENDENT
          key: nextcloud.serverinfo.mem.free
          units: B
          description: 'The amount of free RAM.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.mem_free
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1024'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: e4b20717f8ea48f49c8814955cbf5c6d
          name: 'Memory used, in %'
          type: DEPENDENT
          key: nextcloud.serverinfo.mem.pused
          units: '%'
          description: 'RAM usage, in percent.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  function getField(data, path) {
                  	var steps = path.split('.');
                  	for (var i = 0; i < steps.length; i++) {
                  		var step = steps[i];
                  		if (typeof data !== 'object' || typeof data[step] === 'undefined') {
                  			throw 'Required field was not found: ' + path;
                  		}
                  
                  		data = data[step];
                  	}
                  
                  	return data;
                  }
                  
                  var data = JSON.parse(value),
                  	mem_total = getField(data,'ocs.data.nextcloud.system.mem_total'),
                  	mem_free = getField(data,'ocs.data.nextcloud.system.mem_free');
                  
                  return Math.ceil(100 - mem_free / mem_total * 100);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: b1f8786b975c443bac5daf351c29cde5
              expression: 'min(/Nextcloud by HTTP/nextcloud.serverinfo.mem.pused,5m) > {$NEXTCLOUD.MEM.PUSED.MAX}'
              name: 'Nextcloud: High memory utilization'
              event_name: 'Nextcloud: High memory utilization (>{$NEXTCLOUD.MEM.PUSED.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 04f69d7593a045a0815e78d65882c895
          name: 'Memory total'
          type: DEPENDENT
          key: nextcloud.serverinfo.mem.total
          units: B
          description: 'The size of the RAM.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.mem_total
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1024'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: e6a227bd9ae54d0faff1f591219d766f
          name: 'PHP maximum execution time'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.max_execution_time
          units: s
          description: 'By default, the maximum execution time for PHP scripts is set to 30 seconds. If a script runs for longer than 30 seconds, PHP stops the script and reports an error. You can control the amount of time PHP allows scripts to run by changing the ''max_execution_time'' directive in your php.ini file.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.max_execution_time
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: 50e1ce974d154e98a6d2bfce8fed78e1
          name: 'PHP memory free'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.memory.free
          units: B
          description: 'PHP free memory size.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.opcache.memory_usage.free_memory
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: 87819fcbbc9745fa93a47c7043906299
          name: 'PHP memory limit'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.memory.limit
          units: B
          description: 'By default, the PHP memory limit is generally set to 128 MB, but it can be customized based on the application''s specific needs. The php.ini file is usually the standard location to set the PHP memory limit.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.memory_limit
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: 0b8c6ee4a95b49a3b0b7eabf5131e56f
          name: 'PHP memory used, in %'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.memory.pused
          units: '%'
          description: 'PHP memory used percentage'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  function getField(data, path) {
                  	var steps = path.split('.');
                  	for (var i = 0; i < steps.length; i++) {
                  		var step = steps[i];
                  		if (typeof data !== 'object' || typeof data[step] === 'undefined') {
                  			throw 'Required field was not found: ' + path;
                  		}
                  
                  		data = data[step];
                  	}
                  
                  	return data;
                  }
                  
                  var data = JSON.parse(value),
                  	php_total = getField(data,'ocs.data.server.php.memory_limit'),
                  	php_free = getField(data,'ocs.data.server.php.opcache.memory_usage.used_memory');
                  
                  return Math.ceil(php_free / php_total * 100);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: ee778919cf91495da4445974afa039e9
              expression: 'min(/Nextcloud by HTTP/nextcloud.serverinfo.php.memory.pused,5m) > {$NEXTCLOUD.PHP.MEM.PUSED.MAX}'
              name: 'Nextcloud: High PHP memory utilization'
              event_name: 'Nextcloud: High PHP memory utilization (>{$NEXTCLOUD.PHP.MEM.PUSED.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The PHP is running out of free memory.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 1db9f9c33eca4537b9069d358b27ac06
          name: 'PHP memory used'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.memory.used
          units: B
          description: 'PHP memory used'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.opcache.memory_usage.used_memory
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: 5f4eb296e96f4e7f9760ee5e2a2b7064
          name: 'PHP memory wasted'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.memory.wasted
          units: B
          description: 'Memory allocated to the service but not in use.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.opcache.memory_usage.wasted_memory
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: 63acb31d32b143baaca36cf7c1eaf673
          name: 'PHP memory wasted, in %'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.memory.wasted_percentage
          value_type: FLOAT
          units: '%'
          description: 'Memory allocated to the service but not in use, in percent.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.opcache.memory_usage.current_wasted_percentage
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: 080ff2fb09a343cc90e62e9fe640c45c
          name: 'PHP maximum upload file size'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.upload_max_filesize
          units: B
          description: 'By default, the maximum upload file size for PHP scripts is set to 128 megabytes. However, you may want to change this limit. For example, you can set a lower limit to prevent users from uploading large files to your site. To do this, change the ''upload_max_filesize'' and ''post_max_size'' directives.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.upload_max_filesize
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
        - uuid: 59b08f54ce2a4d058f43c09dd1a9c469
          name: 'PHP version'
          type: DEPENDENT
          key: nextcloud.serverinfo.php.version
          value_type: CHAR
          description: 'PHP version'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.server.php.version
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: environment
          triggers:
            - uuid: ff6e12cb84bb494a9ffc692b28862a25
              expression: 'change(/Nextcloud by HTTP/nextcloud.serverinfo.php.version)=1 and length(last(/Nextcloud by HTTP/nextcloud.serverinfo.php.version))>0'
              name: 'Nextcloud: PHP version has changed'
              event_name: 'Nextcloud: PHP version has changed (new version: {ITEM.VALUE})'
              priority: INFO
              description: 'The PHP version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: e02be7c876e8452bbf3722038bac9634
          name: 'Server information status'
          type: DEPENDENT
          key: nextcloud.serverinfo.status
          value_type: CHAR
          description: 'Server information API status'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.meta.message
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: b44c435b48264626ae2ec5cb610edac9
              expression: 'last(/Nextcloud by HTTP/nextcloud.serverinfo.status)<>"OK"'
              name: 'Nextcloud: Server information unavailable'
              opdata: 'Current state: {ITEM.LASTVALUE}'
              priority: HIGH
              description: 'Failed to get server information.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 2551bef7fa0f4ee0acbfd6bd0c90ef76
          name: 'Swap free'
          type: DEPENDENT
          key: nextcloud.serverinfo.swap.free
          units: B
          description: 'The amount of free swap.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.swap_free
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1024'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: 8a625e77ba964a49945c6367d95f3a88
          name: 'Swap used, in %'
          type: DEPENDENT
          key: nextcloud.serverinfo.swap.pused
          units: '%'
          description: 'Swap usage, in percent.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  function getField(data, path) {
                  	var steps = path.split('.');
                  	for (var i = 0; i < steps.length; i++) {
                  		var step = steps[i];
                  		if (typeof data !== 'object' || typeof data[step] === 'undefined') {
                  			throw 'Required field was not found: ' + path;
                  		}
                  
                  		data = data[step];
                  	}
                  
                  	return data;
                  }
                  
                  var data = JSON.parse(value),
                  	swap_total = getField(data,'ocs.data.nextcloud.system.swap_total'),
                  	swap_free = getField(data,'ocs.data.nextcloud.system.swap_free');
                  
                  return Math.ceil(100 - swap_free / swap_total * 100);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: da09c1862385450196651573aec00178
              expression: 'min(/Nextcloud by HTTP/nextcloud.serverinfo.swap.pused,5m) > {$NEXTCLOUD.SWAP.PUSED.MAX}'
              name: 'Nextcloud: High swap utilization'
              event_name: 'Nextcloud: High swap utilization (>{$NEXTCLOUD.SWAP.PUSED.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free swap.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 361f440188a3415280e2b5f1b6b5aafb
          name: 'Swap total'
          type: DEPENDENT
          key: nextcloud.serverinfo.swap.total
          units: B
          description: 'The size of the swap memory.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.swap_total
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1024'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: memory
        - uuid: c4939cb87ff8495784e3937c4bc7e34d
          name: Version
          type: DEPENDENT
          key: nextcloud.serverinfo.version
          value_type: CHAR
          description: 'Nextcloud service version.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.nextcloud.system.version
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: nextcloud.serverinfo.get_data
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: e66591237ce643b0971e69b18a88a7cc
              expression: 'change(/Nextcloud by HTTP/nextcloud.serverinfo.version)=1 and length(last(/Nextcloud by HTTP/nextcloud.serverinfo.version))>0'
              name: 'Nextcloud: Version has changed'
              event_name: 'Nextcloud: Version has changed (new version: {ITEM.VALUE})'
              priority: INFO
              description: 'Nextcloud version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
      discovery_rules:
        - uuid: 477477630aa14dd8b3940f7b95697893
          name: 'Nextcloud: User discovery'
          type: HTTP_AGENT
          key: nextcloud.user.discovery
          delay: 1h
          authtype: BASIC
          username: '{$NEXTCLOUD.USER.NAME}'
          password: '{$NEXTCLOUD.USER.PASSWORD}'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#NEXTCLOUD.USER}'
                value: '{$NEXTCLOUD.LLD.FILTER.USER.MATCHES}'
              - macro: '{#NEXTCLOUD.USER}'
                value: '{$NEXTCLOUD.LLD.FILTER.USER.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          lifetime: 1d
          description: 'User discovery.'
          item_prototypes:
            - uuid: eb16b38dd7e94aaa8ff103ffdec16858
              name: 'User "{#NEXTCLOUD.USER}": Display name'
              type: DEPENDENT
              key: 'nextcloud.user.displayname[{#NEXTCLOUD.USER}]'
              value_type: CHAR
              description: 'User visible name.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.displayname
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: environment
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: ed4fcf54655d49d3971d3ca1a63c6df2
              name: 'User "{#NEXTCLOUD.USER}": Status'
              type: DEPENDENT
              key: 'nextcloud.user.enabled[{#NEXTCLOUD.USER}]'
              description: 'User account status.'
              valuemap:
                name: 'User status'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.enabled
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: environment
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
              trigger_prototypes:
                - uuid: 402851b8791c4f6da8f513e6e8c51f46
                  expression: 'change(/Nextcloud by HTTP/nextcloud.user.enabled[{#NEXTCLOUD.USER}]) = 1'
                  name: 'Nextcloud: User "{#NEXTCLOUD.USER}" status changed'
                  priority: INFO
                  description: 'User account status has changed.'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 78b3e2a8e7844b0ea5929dbecd8a2ed7
              name: 'User "{#NEXTCLOUD.USER}": Get data'
              type: HTTP_AGENT
              key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              history: '0'
              value_type: TEXT
              authtype: BASIC
              username: '{$NEXTCLOUD.USER.NAME}'
              password: '{$NEXTCLOUD.USER.PASSWORD}'
              description: 'Get common information about user'
              preprocessing:
                - type: CHECK_NOT_SUPPORTED
                  parameters:
                    - '-1'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '<ocs><meta><status>failure</status><statuscode>999</statuscode><message/></meta><data><message>Unknown error</message></data></ocs>'
                - type: XML_TO_JSON
              timeout: 10s
              url: '{$NEXTCLOUD.SCHEMA}://{$NEXTCLOUD.ADDRESS}/ocs/v1.php/cloud/users/{#NEXTCLOUD.USER}'
              status_codes: '200,401'
              http_proxy: '{$NEXTCLOUD.PROXY}'
              headers:
                - name: OCS-APIRequest
                  value: 'true'
              tags:
                - tag: component
                  value: raw
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: d69ff358ddfe4ef3b5cc2f4218495975
              name: 'User "{#NEXTCLOUD.USER}": Last login, days ago'
              type: DEPENDENT
              key: 'nextcloud.user.inactive[{#NEXTCLOUD.USER}]'
              value_type: FLOAT
              units: '!days ago'
              description: 'The number of days since the user has last logged in.'
              valuemap:
                name: 'Last activity'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      function getField(data, path) {
                      	var steps = path.split('.');
                      	for (var i = 0; i < steps.length; i++) {
                      		var step = steps[i];
                      		if (typeof data !== 'object' || typeof data[step] === 'undefined') {
                      			throw 'Required field was not found: ' + path;
                      		}
                      
                      		data = data[step];
                      	}
                      
                      	return data;
                      }
                      
                      var data = JSON.parse(value),
                      	lastlogin = getField(data,'ocs.data.lastLogin');
                      
                      if (lastlogin === '0')
                      	return -1
                      
                      return Math.floor((Date.now() - lastlogin) / 1000 / 86400);
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: environment
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
              trigger_prototypes:
                - uuid: d2392d1b6e974a2da32de3a1f20f54a6
                  expression: 'last(/Nextcloud by HTTP/nextcloud.user.inactive[{#NEXTCLOUD.USER}]) > {$NEXTCLOUD.USER.MAX.INACTIVE:"{#NEXTCLOUD.USER}"}'
                  name: 'Nextcloud: User "{#NEXTCLOUD.USER}": inactive'
                  event_name: 'Nextcloud: User "{#NEXTCLOUD.USER}": inactive over {$NEXTCLOUD.USER.MAX.INACTIVE:"{#NEXTCLOUD.USER}"} days'
                  priority: INFO
                  description: 'The user has not logged in for more than {$NEXTCLOUD.USER.MAX.INACTIVE:"{#NEXTCLOUD.USER}"} days.'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: ee0911775cb4404586aa38d95a4659a1
              name: 'User "{#NEXTCLOUD.USER}": Language'
              type: DEPENDENT
              key: 'nextcloud.user.language[{#NEXTCLOUD.USER}]'
              value_type: CHAR
              description: 'User language.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.language
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: environment
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: fbf8643740a748019950eddea3baa79d
              name: 'User "{#NEXTCLOUD.USER}": Last login'
              type: DEPENDENT
              key: 'nextcloud.user.lastLogin[{#NEXTCLOUD.USER}]'
              units: unixtime
              description: 'The time the user has last logged in.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.lastLogin
                  error_handler: DISCARD_VALUE
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: environment
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: 289504a5d93243ae8a8e1598c5568f25
              name: 'User "{#NEXTCLOUD.USER}": Quota free space'
              type: DEPENDENT
              key: 'nextcloud.user.quota.free[{#NEXTCLOUD.USER}]'
              units: B
              description: 'The size of the free available space in the user''s storage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.quota.free
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: storage
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: 3764a92e1b8b40a29da63202d435f648
              name: 'User "{#NEXTCLOUD.USER}": Quota used space, in %'
              type: DEPENDENT
              key: 'nextcloud.user.quota.pused[{#NEXTCLOUD.USER}]'
              value_type: FLOAT
              units: '%'
              description: 'Usage of the allocated storage space, in percent.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.quota.relative
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: storage
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
              trigger_prototypes:
                - uuid: e39849b5b7394bd88002441afa27907c
                  expression: 'min(/Nextcloud by HTTP/nextcloud.user.quota.pused[{#NEXTCLOUD.USER}],5m) > {$NEXTCLOUD.USER.QUOTA.PUSED.MAX:"{#NEXTCLOUD.USER}"}'
                  name: 'Nextcloud: User "{#NEXTCLOUD.USER}": High quota utilization'
                  event_name: 'Nextcloud: User "{#NEXTCLOUD.USER}" High quota utilization (>{$NEXTCLOUD.USER.QUOTA.PUSED.MAX:"{#NEXTCLOUD.USER}"}% for 5m)'
                  priority: WARNING
                  description: 'More than {$NEXTCLOUD.USER.QUOTA.PUSED.MAX:"{#NEXTCLOUD.USER}"} percent of the allocated storage space has been used.'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: 1d939132880f43438fcf84c46540e1cb
              name: 'User "{#NEXTCLOUD.USER}": Quota total space'
              type: DEPENDENT
              key: 'nextcloud.user.quota.total[{#NEXTCLOUD.USER}]'
              units: B
              description: 'The size of space available in the user''s storage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.quota.total
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: storage
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: f0ff887fde504a1f86c0d6c8c4fb1285
              name: 'User "{#NEXTCLOUD.USER}": Quota used space'
              type: DEPENDENT
              key: 'nextcloud.user.quota.used[{#NEXTCLOUD.USER}]'
              units: B
              description: 'The size of the used available space in the user storage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.quota.used
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: storage
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: ac6ec7674e544151a4c5457d203d1e90
              name: 'User "{#NEXTCLOUD.USER}": Quota'
              type: DEPENDENT
              key: 'nextcloud.user.quota[{#NEXTCLOUD.USER}]'
              value_type: FLOAT
              units: B
              description: 'The size of space available in the user''s storage.'
              valuemap:
                name: 'Quota type'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.quota.quota
                  error_handler: DISCARD_VALUE
                - type: STR_REPLACE
                  parameters:
                    - none
                    - '-99'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: storage
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
            - uuid: a1841e2a74dc4238842d1ec6643000ae
              name: 'User "{#NEXTCLOUD.USER}": Storage location'
              type: DEPENDENT
              key: 'nextcloud.user.storageLocation[{#NEXTCLOUD.USER}]'
              value_type: CHAR
              description: 'The location of the user''s store.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ocs.data.storageLocation
                  error_handler: DISCARD_VALUE
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'nextcloud.user.get_data[{#NEXTCLOUD.USER}]'
              tags:
                - tag: component
                  value: environment
                - tag: user
                  value: '{#NEXTCLOUD.USER}'
          graph_prototypes:
            - uuid: 54e9ed6ca0e44cbb9c7d309e5bc9aa1b
              name: 'Nextcloud: User "{#NEXTCLOUD.USER}": Quota'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: 81C784
                  item:
                    host: 'Nextcloud by HTTP'
                    key: 'nextcloud.user.quota.free[{#NEXTCLOUD.USER}]'
                - sortorder: '1'
                  color: FF5722
                  item:
                    host: 'Nextcloud by HTTP'
                    key: 'nextcloud.user.quota.used[{#NEXTCLOUD.USER}]'
            - uuid: 298d3eca259c47b28c03e25b007128fb
              name: 'Nextcloud: User "{#NEXTCLOUD.USER}": Quota, history'
              type: STACKED
              graph_items:
                - color: 81C784
                  item:
                    host: 'Nextcloud by HTTP'
                    key: 'nextcloud.user.quota.free[{#NEXTCLOUD.USER}]'
                - sortorder: '1'
                  color: FF5722
                  item:
                    host: 'Nextcloud by HTTP'
                    key: 'nextcloud.user.quota.used[{#NEXTCLOUD.USER}]'
          timeout: 10s
          url: '{$NEXTCLOUD.SCHEMA}://{$NEXTCLOUD.ADDRESS}/ocs/v1.php/cloud/users?format=json'
          http_proxy: '{$NEXTCLOUD.PROXY}'
          headers:
            - name: OCS-APIRequest
              value: 'true'
          lld_macro_paths:
            - lld_macro: '{#NEXTCLOUD.USER}'
              path: $.user_name
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.ocs.data.users
              error_handler: CUSTOM_VALUE
              error_handler_params: '[]'
            - type: JAVASCRIPT
              parameters:
                - 'return JSON.stringify(JSON.parse(value).map(function(user) {return {user_name: user}}));'
      tags:
        - tag: class
          value: application
        - tag: target
          value: nextcloud
      macros:
        - macro: '{$NEXTCLOUD.ADDRESS}'
          value: 127.0.0.1
          description: 'IP or DNS name of Nextcloud server.'
        - macro: '{$NEXTCLOUD.CPU.LOAD.MAX}'
          value: '95'
          description: 'CPU load threshold (the number of processes in the system run queue).'
        - macro: '{$NEXTCLOUD.LLD.FILTER.USER.MATCHES}'
          value: '.*'
          description: 'Filter of discoverable users by name.'
        - macro: '{$NEXTCLOUD.LLD.FILTER.USER.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered users by name.'
        - macro: '{$NEXTCLOUD.MEM.PUSED.MAX}'
          value: '90'
          description: 'Memory utilization threshold.'
        - macro: '{$NEXTCLOUD.PHP.MEM.PUSED.MAX}'
          value: '90'
          description: 'PHP memory utilization threshold.'
        - macro: '{$NEXTCLOUD.PROXY}'
          description: 'Proxy HTTP(S) address.'
        - macro: '{$NEXTCLOUD.SCHEMA}'
          value: https
          description: 'HTTP or HTTPS protocol of Nextcloud.'
        - macro: '{$NEXTCLOUD.STORAGE.FREE.MIN}'
          value: 1G
          description: 'Free space threshold.'
        - macro: '{$NEXTCLOUD.SWAP.PUSED.MAX}'
          value: '90'
          description: 'Swap utilization threshold.'
        - macro: '{$NEXTCLOUD.USER.MAX.INACTIVE}'
          value: '30'
          description: 'How many days a user can be inactive.'
        - macro: '{$NEXTCLOUD.USER.NAME}'
          value: root
          description: 'Nextcloud username.'
        - macro: '{$NEXTCLOUD.USER.PASSWORD}'
          type: SECRET_TEXT
          description: 'Nextcloud user password.'
        - macro: '{$NEXTCLOUD.USER.QUOTA.PUSED.MAX}'
          value: '90'
          description: 'Storage utilization threshold.'
      dashboards:
        - uuid: 580aef505caa41619a3296dda70b6512
          name: Nextcloud
          pages:
            - name: 'Nextcloud: Overview'
              widgets:
                - type: item
                  name: 'Nextcloud: Version'
                  width: '6'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        key: nextcloud.serverinfo.version
                    - type: INTEGER
                      name: show.0
                      value: '4'
                    - type: INTEGER
                      name: show.1
                      value: '3'
                    - type: INTEGER
                      name: show.2
                      value: '2'
                - type: graph
                  name: 'Nextcloud: Active users'
                  'y': '2'
                  width: '72'
                  height: '6'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        name: 'Nextcloud: Active users'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  name: 'Nextcloud: CPU load'
                  'y': '8'
                  width: '72'
                  height: '6'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        name: 'Nextcloud: CPU load'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  name: 'Nextcloud: Database size'
                  'y': '14'
                  width: '72'
                  height: '6'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        name: 'Nextcloud: Database: size'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graph
                  name: 'Nextcloud: Memory utilization'
                  'y': '20'
                  width: '72'
                  height: '6'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        name: 'Nextcloud: Memory utilization'
                    - type: STRING
                      name: reference
                      value: AAAAD
                - type: item
                  name: 'Nextcloud: Web server'
                  x: '6'
                  width: '18'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        key: nextcloud.serverinfo.apps.webserver
                    - type: INTEGER
                      name: show.0
                      value: '4'
                    - type: INTEGER
                      name: show.1
                      value: '3'
                    - type: INTEGER
                      name: show.2
                      value: '2'
                - type: item
                  name: 'Nextcloud: Free space'
                  x: '24'
                  width: '12'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        key: nextcloud.serverinfo.freespace
                    - type: INTEGER
                      name: show.0
                      value: '4'
                    - type: INTEGER
                      name: show.1
                      value: '3'
                    - type: INTEGER
                      name: show.2
                      value: '2'
                - type: item
                  name: 'Nextcloud: Database'
                  x: '36'
                  width: '36'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        key: nextcloud.serverinfo.db.version
                    - type: INTEGER
                      name: show.0
                      value: '4'
                    - type: INTEGER
                      name: show.1
                      value: '3'
                    - type: INTEGER
                      name: show.2
                      value: '2'
            - name: 'Nextcloud: Users'
              widgets:
                - type: graphprototype
                  name: 'Nextcloud: User quota usage'
                  width: '72'
                  height: '24'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Nextcloud by HTTP'
                        name: 'Nextcloud: User "{#NEXTCLOUD.USER}": Quota, history'
                    - type: STRING
                      name: reference
                      value: AAAAE
                    - type: INTEGER
                      name: rows
                      value: '4'
      valuemaps:
        - uuid: 19c5ab8f192d42f4bd35a969bef3c9d6
          name: 'Last activity'
          mappings:
            - value: '0'
              newvalue: Today
            - value: '1'
              newvalue: Yesterday
            - value: '-1'
              newvalue: Never
            - type: IN_RANGE
              value: 2-7
              newvalue: 'This week'
        - uuid: 18f5c94273b24b88a96bdf9d01b8d63b
          name: 'Quota type'
          mappings:
            - value: '-3'
              newvalue: Unlimited
            - value: '-99'
              newvalue: Unknown
        - uuid: 3265bb49d935495abbcf8b24fbe8ed91
          name: 'User status'
          mappings:
            - value: '0'
              newvalue: Disabled
            - value: '1'
              newvalue: Enabled
  graphs:
    - uuid: 46bd62563ab9414b868818271a8715ee
      name: 'Nextcloud: Active users'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 81C784
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.active_users.last5m
        - sortorder: '1'
          color: FFD54F
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.active_users.last1h
        - sortorder: '2'
          drawtype: BOLD_LINE
          color: FF5722
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.active_users.last24hours
    - uuid: 7dbbcf04d99842f39292a29b1b71b3de
      name: 'Nextcloud: CPU load'
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 81C784
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.cpu.avg.1m
        - sortorder: '1'
          color: FFD54F
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.cpu.avg.5m
        - sortorder: '2'
          drawtype: BOLD_LINE
          color: FF5722
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.cpu.avg.15m
    - uuid: fff2891ee9f04a9abc259a4cafd4a2a1
      name: 'Nextcloud: Database: size'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 81C784
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.db.size
    - uuid: ced411f851ea4c11805d6bbdd3f20c61
      name: 'Nextcloud: Memory utilization'
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 81C784
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.mem.pused
        - sortorder: '1'
          color: FFD54F
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.swap.pused
        - sortorder: '2'
          drawtype: BOLD_LINE
          color: FF5722
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.php.memory.pused
        - sortorder: '3'
          color: 64B5F6
          item:
            host: 'Nextcloud by HTTP'
            key: nextcloud.serverinfo.php.memory.wasted_percentage