INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43816','20','1.3.6.1.2.1.25.1.1.0','10444','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','2w','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe 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.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','5cd1e01b10f3482e9ec5907bd2e55c26','UPTIME (HARDWARE)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43817','20','1.3.6.1.2.1.25.1.1.0','10445','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','2w','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe 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.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','8026a919077f4373adf774a18beb95eb','UPTIME (HARDWARE)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43818','20','1.3.6.1.2.1.25.1.1.0','10446','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','2w','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe 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.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','437a251079a44869ba9b11b2184d85e7','UPTIME (HARDWARE)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43819','20','1.3.6.1.2.1.25.1.1.0','10256','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','2w','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe 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.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','02e21fa19e814d529ae24f89e3bbf947','UPTIME (HARDWARE)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43820','20','1.3.6.1.2.1.25.1.1.0','10258','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','2w','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe 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.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','81e5ed7d945d40f780eb9bd872ea1832','UPTIME (HARDWARE)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43821','20','1.3.6.1.2.1.25.1.1.0','10259','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','2w','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe 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.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','8b0320157a0144a0b2f1d7df7cbbe08a','UPTIME (HARDWARE)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43925','21','','10529','Meraki: Get data','meraki.get.data','1h','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);\r\n\r\nvar request = new HttpRequest();\r\n\r\nrequest.addHeader(\'X-Cisco-Meraki-API-Key:\' + params.token);\r\n\r\nvar response,\r\n    error_msg = \'\',\r\n    organizations = [],\r\n    devices = [];\r\n\r\nfunction getHttpData(url) {\r\n    response = request.get(url);\r\n    Zabbix.log(4, \'[ Meraki API ] [ \' + url + \' ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n    if (response !== null) {\r\n        try {\r\n            response = JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from Meraki API. Check debug log for more information.\';\r\n        }\r\n    }\r\n\r\n    if (request.getStatus() !== 200) {\r\n        if (response.errors) {\r\n            throw response.errors.join(\', \');\r\n        } else {\r\n            throw \'Failed to receive data: invalid response status code.\';\r\n        }\r\n    }\r\n\r\n    if (typeof (response) !== \'object\' || response === null) {\r\n        throw \'Cannot process response data: received data is not an object.\';\r\n    }\r\n\r\n    return response;\r\n};\r\n\r\ntry {\r\n\r\n    if (params.token === \'{\' + \'$MERAKI.TOKEN}\') {\r\n        throw \'Please change {\' + \'$MERAKI.TOKEN} macro with the proper value.\';\r\n    }\r\n\r\n    if (params.url.indexOf(\'http://\') === -1 && params.url.indexOf(\'https://\') === -1) {\r\n        params.url = \'https://\' + params.url;\r\n    }\r\n\r\n    if (!params.url.endsWith(\'/\')) {\r\n        params.url += \'/\';\r\n    }\r\n\r\n    if (typeof params.httpproxy !==  \'undefined\' && params.httpproxy !== \'\') {\r\n        request.setProxy(params.httpproxy);\r\n    }\r\n\r\n    organizations = getHttpData(params.url + \'organizations\');\r\n\r\n    if (Array.isArray(organizations) && organizations.length > 0) {\r\n        for (i in organizations) {\r\n            if (\'id\' in organizations[i]) {\r\n                organization_devices = getHttpData(params.url + \'organizations/\' + encodeURIComponent(organizations[i].id) + \'/devices\');\r\n\r\n                if (Array.isArray(organization_devices) && organization_devices.length > 0) {\r\n                    for (j in organization_devices) {\r\n                        organization_devices[j].organizationId = organizations[i].id;\r\n\r\n                        devices.push(organization_devices[j]);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n} catch (error) {\r\n    error_msg = error;\r\n};\r\n\r\nreturn JSON.stringify({\r\n  \'organizations\': organizations,\r\n  \'devices\': devices,\r\n  \'error\': error_msg.toString()\r\n});','','0','','','','','0',NULL,'Item for gathering all the organizations and devices from Meraki API.','0','30d','0','',NULL,'60s','','','','200','1','0','','0','0','0','0','0','0','0','d1a5f3c79a604bae98c314d2aed64ff4','MERAKI: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43926','21','','10530','Meraki: Get device data','meraki.get.device','3m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);\r\n\r\nvar request = new HttpRequest();\r\n\r\nrequest.addHeader(\'X-Cisco-Meraki-API-Key:\' + params.token);\r\n\r\nvar response,\r\n    error_msg = \'\',\r\n    device = [],\r\n    uplinksLL = [];\r\n\r\nfunction getHttpData(url) {\r\n    response = request.get(url);\r\n    Zabbix.log(4, \'[ Meraki API ] [ \' + url + \' ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n    if (response !== null) {\r\n        try {\r\n            response = JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from Meraki API. Check debug log for more information.\';\r\n        }\r\n    }\r\n\r\n    if (request.getStatus() !== 200) {\r\n        if (response.errors) {\r\n            throw response.errors.join(\', \');\r\n        } else {\r\n            throw \'Failed to receive data: invalid response status code.\';\r\n        }\r\n    }\r\n\r\n    if (typeof (response) !== \'object\' || response === null) {\r\n        throw \'Cannot process response data: received data is not an object.\';\r\n    }\r\n\r\n    return response;\r\n};\r\n\r\ntry {\r\n\r\n    if (params.token === \'{\' + \'$MERAKI.TOKEN}\') {\r\n        throw \'Please change {\' + \'$MERAKI.TOKEN} macro with the proper value.\';\r\n    }\r\n\r\n    if (params.url.indexOf(\'http://\') === -1 && params.url.indexOf(\'https://\') === -1) {\r\n        params.url = \'https://\' + params.url;\r\n    }\r\n\r\n    if (!params.url.endsWith(\'/\')) {\r\n        params.url += \'/\';\r\n    }\r\n\r\n    if (typeof params.httpproxy !==  \'undefined\' && params.httpproxy !== \'\') {\r\n        request.setProxy(params.httpproxy);\r\n    }\r\n\r\n    device = getHttpData(params.url + \'organizations/\' + encodeURIComponent(params.organizationId) + \'/devices/statuses?serials[]=\' + encodeURIComponent(params.serial));\r\n    uplinksLL = getHttpData(params.url + \'organizations/\' + encodeURIComponent(params.organizationId) + \'/devices/uplinksLossAndLatency?timespan=60\');\r\n\r\n    if (uplinksLL.length > 0) {\r\n        uplinks = uplinksLL.filter(function(device) {\r\n            return device.serial == params.serial;\r\n        });\r\n    }\r\n\r\n} catch (error) {\r\n    error_msg = error;\r\n};\r\n\r\nreturn JSON.stringify({\r\n    \'device\': device,\r\n    \'uplinksLL\': uplinks,\r\n    \'error\': error_msg.toString()\r\n});','','0','','','','','0',NULL,'Item for gathering device data from Meraki API.','0','30d','0','',NULL,'60s','','','','200','1','0','','0','0','0','0','0','0','0','e4963b68cdde453f91767ff9e3a31d16','MERAKI: GET DEVICE DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43927','19','','10531','Meraki: Get list of adaptive policy aggregate statistics','meraki.get.adaptive.policy','20m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for adaptive policy aggregate statistics for an organization.','0','30d','0','',NULL,'30s','https://{$MERAKI.API.URL}/organizations/{$ID}/adaptivePolicy/overview','','','200','1','0','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}','0','0','0','0','0','0','0','25f8f61ddf964f39b39cc38b23b017b9','MERAKI: GET LIST OF ADAPTIVE POLICY AGGREGATE STATISTICS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43928','19','','10531','Meraki: Get list of configuration changes','meraki.get.configuration.changes','{$MERAKI.CONFIG.CHANGE.TIMESPAN}','7d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Item for viewing the Change Log for your organization.\\nGathering once per 20m by default.','0','30d','0','',NULL,'30s','https://{$MERAKI.API.URL}/organizations/{$ID}/configurationChanges?timespan={$MERAKI.CONFIG.CHANGE.TIMESPAN}','','','200','1','0','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}','0','0','0','0','0','0','0','f2a65bce3adf4511a3f37ed4caa66b3d','MERAKI: GET LIST OF CONFIGURATION CHANGES');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43929','19','','10531','Meraki: Get licenses info','meraki.get.licenses','12h','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Return an overview of the license state for an organization.','0','30d','0','',NULL,'30s','https://{$MERAKI.API.URL}/organizations/{$ID}/licenses/overview','','','200','1','0','X-Cisco-Meraki-API-Key: {$MERAKI.TOKEN}','0','0','0','0','0','0','0','3306da0ec0d749829db2f5f42e4e7876','MERAKI: GET LICENSES INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43930','21','','10531','Meraki: Get list of the networks','meraki.get.networks','3m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);\r\n\r\nvar request = new HttpRequest();\r\n\r\nrequest.addHeader(\'X-Cisco-Meraki-API-Key:\' + params.token);\r\n\r\nvar response,\r\n    error_msg = \'\',\r\n    networks = [],\r\n    uplinks = [];\r\n\r\nfunction getHttpData(url) {\r\n    response = request.get(url);\r\n    Zabbix.log(4, \'[ Meraki API ] [ \' + url + \' ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n    if (response !== null) {\r\n        try {\r\n            response = JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from Meraki API. Check debug log for more information.\';\r\n        }\r\n    }\r\n\r\n    if (request.getStatus() !== 200) {\r\n        if (response.errors) {\r\n            throw response.errors.join(\', \');\r\n        } else {\r\n            throw \'Failed to receive data: invalid response status code.\';\r\n        }\r\n    }\r\n\r\n    if (typeof (response) !== \'object\' || response === null) {\r\n        throw \'Cannot process response data: received data is not an object.\';\r\n    }\r\n\r\n    return response;\r\n};\r\n\r\ntry {\r\n\r\n    if (params.token === \'{\' + \'$MERAKI.TOKEN}\') {\r\n        throw \'Please change {\' + \'$MERAKI.TOKEN} macro with the proper value.\';\r\n    }\r\n\r\n    if (params.url.indexOf(\'http://\') === -1 && params.url.indexOf(\'https://\') === -1) {\r\n        params.url = \'https://\' + params.url;\r\n    }\r\n\r\n    if (!params.url.endsWith(\'/\')) {\r\n        params.url += \'/\';\r\n    }\r\n\r\n    if (typeof params.httpproxy !==  \'undefined\' && params.httpproxy !== \'\') {\r\n        request.setProxy(params.httpproxy);\r\n    }\r\n\r\n    networks = getHttpData(params.url + \'organizations/\' + encodeURIComponent(params.organizationId) + \'/networks\');\r\n\r\n    responseUplinks = getHttpData(params.url + \'organizations/\' + encodeURIComponent(params.organizationId) + \'/appliance/uplink/statuses\');\r\n\r\n    if (typeof responseUplinks !== \'undefined\' && Array.isArray(responseUplinks)) {\r\n        for (var i in responseUplinks) {\r\n            if (\'networkId\' in responseUplinks[i] && typeof networks !== \'undefined\' && Array.isArray(networks)) {\r\n                network = networks.filter(function (x) { return x.id == responseUplinks[i].networkId; });\r\n            }\r\n\r\n            if (typeof responseUplinks[i].uplinks !== \'undefined\' && Array.isArray(responseUplinks[i].uplinks)) {\r\n                for (var p in responseUplinks[i].uplinks) {\r\n                    if (typeof network[0].name !== \'undefined\') {\r\n                        responseUplinks[i].uplinks[p].networkName = network[0].name;\r\n                    }\r\n                    if (typeof network[0].timeZone !== \'undefined\') {\r\n                        responseUplinks[i].uplinks[p].timeZone = network[0].timeZone;\r\n                    }\r\n                    if (\'highAvailability\' in responseUplinks[i] && \'role\' in responseUplinks[i].highAvailability) {\r\n                        responseUplinks[i].uplinks[p].role = responseUplinks[i].highAvailability.role;\r\n                    }\r\n                    if (\'serial\' in responseUplinks[i]) {\r\n                        responseUplinks[i].uplinks[p].serial = responseUplinks[i].serial;\r\n                    }\r\n\r\n                    uplinks.push(responseUplinks[i].uplinks[p]);\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n\r\n} catch (error) {\r\n    error_msg = error;\r\n};\r\n\r\nreturn JSON.stringify({\r\n    \'uplinks\': uplinks,\r\n    \'networks\': networks,\r\n    \'error\': error_msg.toString()\r\n});','','0','','','','','0',NULL,'Item for gathering all the networks of organization from Meraki API.','0','30d','0','',NULL,'30s','','','','200','1','0','','0','0','0','0','0','0','0','efe8853443d44eed8daeecee5ab9e481','MERAKI: GET LIST OF THE NETWORKS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43931','21','','10531','Meraki: Get list of the vpn stats','meraki.get.vpn.stats','3m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value);\r\n\r\nvar request = new HttpRequest();\r\n\r\nrequest.addHeader(\'X-Cisco-Meraki-API-Key:\' + params.token);\r\n\r\nvar response,\r\n    error_msg = \'\',\r\n    vpnStats = [],\r\n    result = [];\r\n\r\nfunction getHttpData(url) {\r\n    response = request.get(url);\r\n    Zabbix.log(4, \'[ Meraki API ] [ \' + url + \' ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n    if (response !== null) {\r\n        try {\r\n            response = JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from Meraki API. Check debug log for more information.\';\r\n        }\r\n    }\r\n\r\n    if (request.getStatus() !== 200) {\r\n        if (response.errors) {\r\n            throw response.errors.join(\', \');\r\n        } else {\r\n            throw \'Failed to receive data: invalid response status code.\';\r\n        }\r\n    }\r\n\r\n    if (typeof (response) !== \'object\' || response === null) {\r\n        throw \'Cannot process response data: received data is not an object.\';\r\n    }\r\n\r\n    return response;\r\n};\r\n\r\ntry {\r\n\r\n    if (params.token === \'{\' + \'$MERAKI.TOKEN}\') {\r\n        throw \'Please change {\' + \'$MERAKI.TOKEN} macro with the proper value.\';\r\n    }\r\n\r\n    if (params.url.indexOf(\'http://\') === -1 && params.url.indexOf(\'https://\') === -1) {\r\n        params.url = \'https://\' + params.url;\r\n    }\r\n\r\n    if (!params.url.endsWith(\'/\')) {\r\n        params.url += \'/\';\r\n    }\r\n\r\n    if (typeof params.httpproxy !==  \'undefined\' && params.httpproxy !== \'\') {\r\n        request.setProxy(params.httpproxy);\r\n    }\r\n\r\n    vpnStats = getHttpData(params.url + \'organizations/\' + encodeURIComponent(params.organizationId) + \'/appliance/vpn/stats\');\r\n\r\n    for (i in vpnStats) {\r\n        if (typeof vpnStats[i].merakiVpnPeers !== \'undefined\' && Array.isArray(vpnStats[i].merakiVpnPeers)) {\r\n            for (u in vpnStats[i].merakiVpnPeers) {\r\n                if (typeof vpnStats[i].merakiVpnPeers[u].latencySummaries !== \'undefined\' && Array.isArray(vpnStats[i].merakiVpnPeers[u].latencySummaries)) {\r\n                    for (l in vpnStats[i].merakiVpnPeers[u].latencySummaries) {\r\n                        result = vpnStats[i].merakiVpnPeers[u].latencySummaries.map(function (x) {\r\n\r\n                            lps = vpnStats[i].merakiVpnPeers[u].lossPercentageSummaries.filter(function (y) { return y.senderUplink == x.senderUplink && y.receiverUplink == x.receiverUplink; });\r\n                            js = vpnStats[i].merakiVpnPeers[u].jitterSummaries.filter(function (y) { return y.senderUplink == x.senderUplink && y.receiverUplink == x.receiverUplink; });\r\n                            ms = vpnStats[i].merakiVpnPeers[u].mosSummaries.filter(function (y) { return y.senderUplink == x.senderUplink && y.receiverUplink == x.receiverUplink; });\r\n                            Object.assign(x, lps[0], js[0], ms[0]);\r\n\r\n                            if (\'networkId\' in vpnStats[i]) {\r\n                                x.networkId = vpnStats[i].networkId;\r\n                            }\r\n                            if (\'networkName\' in vpnStats[i]) {\r\n                                x.networkName = vpnStats[i].networkName;\r\n                            }\r\n\r\n                            if (\'networkId\' in vpnStats[i].merakiVpnPeers[u]) {\r\n                                x.peerNetworkId = vpnStats[i].merakiVpnPeers[u].networkId;\r\n                            }\r\n                            if (\'networkName\' in vpnStats[i].merakiVpnPeers[u]) {\r\n                                x.peerNetworkName = vpnStats[i].merakiVpnPeers[u].networkName;\r\n                            }\r\n\r\n                            return x;\r\n                        });\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n\r\n} catch (error) {\r\n    error_msg = error;\r\n};\r\n\r\nreturn JSON.stringify({\r\n    \'vpnStats\': result,\r\n    \'error\': error_msg.toString()\r\n});','','0','','','','','0',NULL,'Item for gathering all the vpn stats of the organization.','0','30d','0','',NULL,'30s','','','','200','1','0','','0','0','0','0','0','0','0','bb653e6dba3f489494a7143b74fe8f4f','MERAKI: GET LIST OF THE VPN STATS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43971','21','','10534','AWS CloudWatch: Get instance alarms data','aws.ec2.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AwsEc2 = {\r\n   params: {},\r\n\r\n   setParams: function (params) {\r\n       [\'access_key\', \'secret_key\', \'region\', \'instance_id\'].forEach(function (field) {\r\n           if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n               throw \'Required param is not set: "\' + field + \'".\';\r\n           }\r\n       });\r\n\r\n       AwsEc2.params = params;\r\n   },\r\n\r\n   sign: function (key, message) {\r\n       var hex = hmac(\'sha256\', key, message);\r\n\r\n       if ((hex.length % 2) === 1) {\r\n           throw \'Invalid length of a hex string!\';\r\n       }\r\n\r\n       var result = new Int8Array(hex.length / 2);\r\n       for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n           result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n       }\r\n\r\n       return result;\r\n   },\r\n\r\n   prepareParams: function (params) {\r\n       var result = [];\r\n\r\n       Object.keys(params).sort().forEach(function (key) {\r\n           if (typeof params[key] !== \'object\') {\r\n               result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n           }\r\n           else {\r\n               result.push(prepareObject(key, params[key]));\r\n           }\r\n       });\r\n\r\n       return result.join(\'&\');\r\n   },\r\n\r\n   request: function (method, region, service, params, data) {\r\n       if (typeof data === \'undefined\' || data === null) {\r\n           data = \'\';\r\n       }\r\n\r\n       var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n           date = amzdate.replace(/T\\d+Z/, \'\'),\r\n           host = service + \'.\' + region + \'.amazonaws.com\',\r\n           canonical_uri = \'/\',\r\n           canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n           signed_headers = \'content-encoding;host;x-amz-date\',\r\n           canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n           credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n           request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n           key = AwsEc2.sign(\'AWS4\' + AwsEc2.params.secret_key, date);\r\n\r\n       key = AwsEc2.sign(key, region);\r\n       key = AwsEc2.sign(key, service);\r\n       key = AwsEc2.sign(key, \'aws4_request\');\r\n\r\n       var request = new HttpRequest(),\r\n           url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n       if (typeof AwsEc2.params.proxy !== \'undefined\' && AwsEc2.params.proxy !== \'\') {\r\n           request.setProxy(AwsEc2.params.proxy);\r\n       }\r\n       request.addHeader(\'x-amz-date: \' + amzdate);\r\n       request.addHeader(\'Accept: application/json\');\r\n       request.addHeader(\'Content-Type: application/json\');\r\n       request.addHeader(\'Content-Encoding: amz-1.0\');\r\n       request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsEc2.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n       Zabbix.log(4, \'[ AWS EC2  ] Sending request: \' + url);\r\n\r\n       response = request.get(url);\r\n\r\n       Zabbix.log(4, \'[ AWS EC2 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n       if (request.getStatus() !== 200) {\r\n           throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n       }\r\n\r\n       if (response[0] === \'<\') {\r\n           try {\r\n               response = XML.toJson(response);\r\n           }\r\n           catch (error) {\r\n               throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n           }\r\n       }\r\n\r\n       if (response !== null) {\r\n           try {\r\n               response = JSON.parse(response);\r\n           }\r\n           catch (error) {\r\n               throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n           }\r\n       }\r\n\r\n       return response;\r\n   },\r\n   getVolumes: function () {\r\n       var payload = {},\r\n           result = [];\r\n\r\n       payload[\'Action\'] = \'DescribeVolumes\',\r\n           payload[\'MaxResults\'] = 100,\r\n           payload[\'Version\'] = \'2016-11-15\',\r\n           payload[\'Filter.1.Name\'] = \'attachment.instance-id\',\r\n           payload[\'Filter.1.Value\'] = AwsEc2.params.instance_id;\r\n\r\n       while (payload.NextToken !== \'\') {\r\n           var volumes = AwsEc2.request(\'GET\', AwsEc2.params.region, \'ec2\', AwsEc2.prepareParams(payload));\r\n           if (typeof volumes !== \'object\'\r\n               || typeof volumes.DescribeVolumesResponse !== \'object\'\r\n               || typeof volumes.DescribeVolumesResponse.volumeSet !== \'object\'\r\n               || typeof volumes.DescribeVolumesResponse.volumeSet.item !== \'object\') {\r\n               throw \'Cannot get metrics data from AWS EC2 API. Check debug log for more information.\';\r\n           }\r\n           payload.NextToken = volumes.DescribeVolumesResponse.NextToken || \'\';\r\n           if (!Array.isArray(volumes.DescribeVolumesResponse.volumeSet.item))\r\n               volumes.DescribeVolumesResponse.volumeSet.item = [volumes.DescribeVolumesResponse.volumeSet.item]\r\n           volumes.DescribeVolumesResponse.volumeSet.item.forEach(function (volume) {\r\n               result.push(volume.volumeId)\r\n           });\r\n       }\r\n\r\n       return result;\r\n   },\r\n   getAlarms: function () {\r\n       var payload = {},\r\n           result = [],\r\n           volumes = AwsEc2.getVolumes()\r\n\r\n       payload[\'Action\'] = \'DescribeAlarms\';\r\n       payload[\'MaxRecords\'] = 100;\r\n       payload[\'Version\'] = \'2010-08-01\';\r\n\r\n       while (payload.NextToken !== \'\') {\r\n           var alarms = AwsEc2.request(\'GET\', AwsEc2.params.region, \'monitoring\', AwsEc2.prepareParams(payload));\r\n\r\n           if (typeof alarms !== \'object\'\r\n               || typeof alarms.DescribeAlarmsResponse !== \'object\'\r\n               || typeof alarms.DescribeAlarmsResponse.DescribeAlarmsResult !== \'object\'\r\n               || typeof alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms !== \'object\') {\r\n               throw \'Cannot get alarms from AWS CloudWatch API. Check debug log for more information.\';\r\n           }\r\n\r\n           payload.NextToken = alarms.DescribeAlarmsResponse.DescribeAlarmsResult.NextToken || \'\';\r\n\r\n           if (!Array.isArray(alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms))\r\n               alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms = [alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms]\r\n           alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms.forEach(function (alarm) {\r\n               var dimensions = alarm.Dimensions;\r\n\r\n               if (Array.isArray(alarm.Metrics)) {\r\n                   alarm.Metrics.forEach(function (metric) {\r\n                       if (typeof metric.MetricStat === \'object\' && metric.MetricStat !== null\r\n                           && typeof metric.MetricStat.Metric === \'object\' && metric.MetricStat.Metric !== null\r\n                           && Array.isArray(metric.MetricStat.Metric.Dimensions)) {\r\n                           dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);\r\n                       }\r\n                   });\r\n               }\r\n               for (var i in dimensions) {\r\n                   if (dimensions[i].Name === \'InstanceId\' && dimensions[i].Value === AwsEc2.params.instance_id) {\r\n                       result.push(alarm);\r\n                       break;\r\n                   }\r\n                   if (dimensions[i].Name === \'VolumeId\' && volumes.indexOf(dimensions[i].Value)) {\r\n                       result.push(alarm);\r\n                       break;\r\n                   }\r\n               }\r\n           });\r\n       }\r\n\r\n       return result;\r\n   }\r\n }\r\n\r\n try {\r\n     AwsEc2.setParams(JSON.parse(value));\r\n\r\n     return JSON.stringify(AwsEc2.getAlarms());\r\n }\r\n catch (error) {\r\n     error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n     Zabbix.log(3, \'[ AWS EC2 ] ERROR: \' + error);\r\n\r\n     return JSON.stringify({ \'error\': error });\r\n }','','0','','','','','0',NULL,'DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','4e0b2ed29500487092148b14245839d4','AWS CLOUDWATCH: GET INSTANCE ALARMS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43972','21','','10534','AWS EC2: Get metrics data','aws.ec2.get_metrics','0s;m/5','0','0','0','4','','','','',NULL,NULL,'var AwsEc2 = {\r\n      params: {},\r\n      request_period: 600,\r\n\r\n      setParams: function (params) {\r\n          [\'access_key\', \'secret_key\', \'region\', \'instance_id\'].forEach(function (field) {\r\n              if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                  throw \'Required param is not set: "\' + field + \'".\';\r\n              }\r\n          });\r\n\r\n          AwsEc2.params = params;\r\n      },\r\n\r\n      sign: function (key, message) {\r\n          var hex = hmac(\'sha256\', key, message);\r\n\r\n          if ((hex.length % 2) === 1) {\r\n              throw \'Invalid length of a hex string!\';\r\n          }\r\n\r\n          var result = new Int8Array(hex.length / 2);\r\n          for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n              result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n          }\r\n\r\n          return result;\r\n      },\r\n\r\n      prepareRecursive: function (prefix, param) {\r\n          var result = {};\r\n\r\n          if (typeof param === \'object\') {\r\n              if (Array.isArray(param)) {\r\n                  param.forEach(function (value, index) {\r\n                      var nested = AwsEc2.prepareRecursive(prefix + \'.member.\' + (index + 1), value);\r\n                      Object.keys(nested).forEach(function (key) {\r\n                          result[key] = nested[key];\r\n                      });\r\n                  });\r\n              }\r\n              else {\r\n                  Object.keys(param).forEach(function (k) {\r\n                      var nested = AwsEc2.prepareRecursive(prefix + \'.\' + k, param[k]);\r\n                      Object.keys(nested).forEach(function (key) {\r\n                          result[key] = nested[key];\r\n                      });\r\n                  });\r\n              }\r\n          }\r\n          else {\r\n              result[prefix] = param;\r\n          }\r\n\r\n          return result;\r\n      },\r\n\r\n      renderPayload: function (period, instance_id) {\r\n          var metrics_list = [\r\n              \'StatusCheckFailed:Count\',\r\n              \'StatusCheckFailed_Instance:Count\',\r\n              \'StatusCheckFailed_System:Count\',\r\n              \'CPUUtilization:Percent\',\r\n              \'NetworkIn:Bytes\',\r\n              \'NetworkOut:Bytes\',\r\n              \'NetworkPacketsIn:Count\',\r\n              \'NetworkPacketsOut:Count\',\r\n              \'DiskReadOps:Count\',\r\n              \'DiskWriteOps:Count\',\r\n              \'DiskReadBytes:Bytes\',\r\n              \'DiskWriteBytes:Bytes\',\r\n              \'MetadataNoToken:Count\',\r\n              \'CPUCreditUsage:Count\',\r\n              \'CPUCreditBalance:Count\',\r\n              \'CPUSurplusCreditBalance:Count\',\r\n              \'CPUSurplusCreditsCharged:Count\',\r\n              \'EBSReadOps:Count\',\r\n              \'EBSWriteOps:Count\',\r\n              \'EBSReadBytes:Bytes\',\r\n              \'EBSWriteBytes:Bytes\',\r\n              \'EBSIOBalance %:Percent\',\r\n              \'EBSByteBalance %:Percent\'\r\n          ];\r\n\r\n          var metric_payload = [];\r\n          metrics_list.forEach(function (metric) {\r\n              var parts = metric.split(\':\', 2);\r\n              var name = parts[0].replace(/[^a-zA-Z0-9]/g, \'\');\r\n              metric_payload.push({\r\n                  \'Id\': name.charAt(0).toLowerCase() + name.slice(1),\r\n                  \'MetricStat\': {\r\n                      \'Metric\': {\r\n                          \'MetricName\': parts[0],\r\n                          \'Namespace\': \'AWS/EC2\',\r\n                          \'Dimensions\': [\r\n                              {\r\n                                  \'Name\': \'InstanceId\',\r\n                                  \'Value\': instance_id\r\n                              }\r\n                          ]\r\n                      },\r\n                      \'Period\': period,\r\n                      \'Stat\': \'Average\',\r\n                      \'Unit\': parts[1]\r\n                  }\r\n              });\r\n          });\r\n\r\n          return metric_payload;\r\n      },\r\n\r\n      prepareParams: function (params) {\r\n          var result = [];\r\n\r\n          Object.keys(params).sort().forEach(function (key) {\r\n              if (typeof params[key] !== \'object\') {\r\n                  result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n              }\r\n              else {\r\n                  result.push(prepareObject(key, params[key]));\r\n              }\r\n          });\r\n\r\n          return result.join(\'&\');\r\n      },\r\n\r\n      request: function (method, region, service, params, data) {\r\n          if (typeof data === \'undefined\' || data === null) {\r\n              data = \'\';\r\n          }\r\n\r\n          var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n              date = amzdate.replace(/T\\d+Z/, \'\'),\r\n              host = service + \'.\' + region + \'.amazonaws.com\',\r\n              canonical_uri = \'/\',\r\n              canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n              signed_headers = \'content-encoding;host;x-amz-date\',\r\n              canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n              credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n              request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n              key = AwsEc2.sign(\'AWS4\' + AwsEc2.params.secret_key, date);\r\n\r\n          key = AwsEc2.sign(key, region);\r\n          key = AwsEc2.sign(key, service);\r\n          key = AwsEc2.sign(key, \'aws4_request\');\r\n\r\n          var request = new HttpRequest(),\r\n              url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n          if (typeof AwsEc2.params.proxy !== \'undefined\' && AwsEc2.params.proxy !== \'\') {\r\n              request.setProxy(AwsEc2.params.proxy);\r\n          }\r\n          request.addHeader(\'x-amz-date: \' + amzdate);\r\n          request.addHeader(\'Accept: application/json\');\r\n          request.addHeader(\'Content-Type: application/json\');\r\n          request.addHeader(\'Content-Encoding: amz-1.0\');\r\n          request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsEc2.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n          Zabbix.log(4, \'[ AWS EC2  ] Sending request: \' + url);\r\n\r\n          response = request.get(url);\r\n\r\n          Zabbix.log(4, \'[ AWS EC2 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n          if (request.getStatus() !== 200) {\r\n              throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n          }\r\n\r\n          if (response !== null) {\r\n              try {\r\n                  response = JSON.parse(response);\r\n              }\r\n              catch (error) {\r\n                  throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n              }\r\n          }\r\n\r\n          return response;\r\n      },\r\n\r\n      getMetricsData: function () {\r\n          var timestamp = new Date().getTime(),\r\n              end_time = new Date(timestamp).toISOString().replace(/\\.\\d+Z/, \'Z\'),\r\n              start_time = new Date(timestamp - AwsEc2.request_period * 1000).toISOString().replace(/\\.\\d+Z/, \'Z\'),\r\n              payload = AwsEc2.prepareRecursive(\'MetricDataQueries\', AwsEc2.renderPayload(AwsEc2.request_period, AwsEc2.params.instance_id));\r\n\r\n          payload[\'Action\'] = \'GetMetricData\';\r\n          payload[\'Version\'] = \'2010-08-01\';\r\n          payload[\'StartTime\'] = start_time;\r\n          payload[\'EndTime\'] = end_time;\r\n          payload[\'ScanBy\'] = \'TimestampDescending\';\r\n\r\n          result = AwsEc2.request(\'GET\', AwsEc2.params.region, \'monitoring\', AwsEc2.prepareParams(payload));\r\n\r\n          if (typeof result !== \'object\'\r\n                  || typeof result.GetMetricDataResponse !== \'object\'\r\n                  || typeof result.GetMetricDataResponse.GetMetricDataResult !== \'object\'\r\n                  || typeof result.GetMetricDataResponse.GetMetricDataResult.MetricDataResults !== \'object\') {\r\n              throw \'Cannot get metrics data from AWS CloudWatch API. Check debug log for more information.\';\r\n          }\r\n\r\n          return result.GetMetricDataResponse.GetMetricDataResult.MetricDataResults;\r\n      }\r\n  };\r\n\r\n  try {\r\n      AwsEc2.setParams(JSON.parse(value));\r\n\r\n      return JSON.stringify(AwsEc2.getMetricsData());\r\n  }\r\n  catch (error) {\r\n      error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n      Zabbix.log(3, \'[ AWS EC2 ] ERROR: \' + error);\r\n\r\n      return JSON.stringify({\'error\': error});\r\n  }','','0','','','','','0',NULL,'Get instance metrics.\r\nFull metrics list related to EC2: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','63ab011505f24885b843a9ac48b36a84','AWS EC2: GET METRICS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('43973','21','','10534','AWS EBS: Get volumes data','aws.ec2.get_volumes','5m','0','0','0','4','','','','',NULL,NULL,'var AwsEbs = {\r\n    params: {},\r\n    request_period: 600,\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'instance_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsEbs.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, params, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsEbs.sign(\'AWS4\' + AwsEbs.params.secret_key, date);\r\n\r\n        key = AwsEbs.sign(key, region);\r\n        key = AwsEbs.sign(key, service);\r\n        key = AwsEbs.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsEbs.params.proxy !== \'undefined\' && AwsEbs.params.proxy !== \'\') {\r\n            request.setProxy(AwsEbs.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsEbs.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS EBS ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS EBS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = XML.toJson(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n        response = JSON.parse(response)\r\n\r\n        return response;\r\n    },\r\n\r\n\r\n    getVolumesData: function () {\r\n          var payload = {},\r\n              volumes_list = [],\r\n              result = [];\r\n\r\n          payload[\'Action\'] = \'DescribeVolumes\',\r\n              payload[\'MaxResults\'] = 100,\r\n              payload[\'Version\'] = \'2016-11-15\',\r\n              payload[\'Filter.1.Name\'] = \'attachment.instance-id\',\r\n              payload[\'Filter.1.Value\'] = AwsEbs.params.instance_id;\r\n\r\n          while (payload.NextToken !== \'\') {\r\n              var volumes = AwsEbs.request(\'GET\', AwsEbs.params.region, \'ec2\', AwsEbs.prepareParams(payload));\r\n              if (typeof result !== \'object\'\r\n                  || typeof volumes.DescribeVolumesResponse !== \'object\'\r\n                  || typeof volumes.DescribeVolumesResponse.volumeSet !== \'object\'\r\n                  || typeof volumes.DescribeVolumesResponse.volumeSet.item !== \'object\') {\r\n                  throw \'Cannot get metrics data from AWS EC2 API. Check debug log for more information.\';\r\n              }\r\n              payload.NextToken = volumes.DescribeVolumesResponse.NextToken || \'\';\r\n              volumes_list = volumes.DescribeVolumesResponse.volumeSet.item\r\n\r\n              if (typeof volumes_list === \'object\'\r\n                  && volumes_list !== null\r\n                  && !Array.isArray(volumes_list)) {\r\n                  volumes_list = [volumes_list];\r\n              }\r\n\r\n          }\r\n\r\n          return volumes_list;\r\n      }\r\n  };\r\n\r\ntry {\r\n    AwsEbs.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsEbs.getVolumesData());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS EBS ] ERROR: \' + error);\r\n\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','0',NULL,'Get volumes attached to instance.\r\nDescribeVolumes API method: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','9ec4650b564c41bca9893eca279a8cc7','AWS EBS: GET VOLUMES DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44002','21','','10534','AWS EBS: ["{#VOLUME_ID}"]: Get metrics','aws.ec2.get_ebs_metrics["{#VOLUME_ID}"]','0s;m/5','0','0','0','4','','','','',NULL,NULL,'var AwsEbs = {\r\n    params: {},\r\n    request_period: 600,\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'volume_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsEbs.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareRecursive: function (prefix, param) {\r\n        var result = {};\r\n\r\n        if (typeof param === \'object\') {\r\n            if (Array.isArray(param)) {\r\n                param.forEach(function (value, index) {\r\n                    var nested = AwsEbs.prepareRecursive(prefix + \'.member.\' + (index + 1), value);\r\n                    Object.keys(nested).forEach(function (key) {\r\n                        result[key] = nested[key];\r\n                    });\r\n                });\r\n            }\r\n            else {\r\n                Object.keys(param).forEach(function (k) {\r\n                    var nested = AwsEbs.prepareRecursive(prefix + \'.\' + k, param[k]);\r\n                    Object.keys(nested).forEach(function (key) {\r\n                        result[key] = nested[key];\r\n                    });\r\n                });\r\n            }\r\n        }\r\n        else {\r\n            result[prefix] = param;\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    renderPayload: function (period, volume_id) {\r\n        var metrics_list = [\r\n            \'VolumeReadBytes:Bytes\',\r\n            \'VolumeWriteBytes:Bytes\',\r\n            \'VolumeReadOps:Count\',\r\n            \'VolumeWriteOps:Count\',\r\n            \'VolumeTotalReadTime:Seconds\',\r\n            \'VolumeTotalWriteTime:Seconds\',\r\n            \'VolumeIdleTime:Seconds\',\r\n            \'VolumeQueueLength:Count\',\r\n            \'VolumeThroughputPercentage:Percent\',\r\n            \'VolumeConsumedReadWriteOps:Count\',\r\n            \'BurstBalance:Percent\'\r\n        ];\r\n\r\n        var metric_payload = [];\r\n        metrics_list.forEach(function (metric) {\r\n            var parts = metric.split(\':\', 2);\r\n            var name = parts[0].replace(/[^a-zA-Z0-9]/g, \'\');\r\n            metric_payload.push({\r\n                \'Id\': name.charAt(0).toLowerCase() + name.slice(1),\r\n                \'MetricStat\': {\r\n                    \'Metric\': {\r\n                        \'MetricName\': parts[0],\r\n                        \'Namespace\': \'AWS/EBS\',\r\n                        \'Dimensions\': [\r\n                            {\r\n                                \'Name\': \'VolumeId\',\r\n                                \'Value\': volume_id\r\n                            }\r\n                        ]\r\n                    },\r\n                    \'Period\': period,\r\n                    \'Stat\': \'Average\',\r\n                    \'Unit\': parts[1]\r\n                }\r\n            });\r\n        });\r\n\r\n        return metric_payload;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, params, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsEbs.sign(\'AWS4\' + AwsEbs.params.secret_key, date);\r\n\r\n        key = AwsEbs.sign(key, region);\r\n        key = AwsEbs.sign(key, service);\r\n        key = AwsEbs.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsEbs.params.proxy !== \'undefined\' && AwsEbs.params.proxy !== \'\') {\r\n            request.setProxy(AwsEbs.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsEbs.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS EBS ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS EBS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    getMetricsData: function () {\r\n        var timestamp = new Date().getTime(),\r\n            end_time = new Date(timestamp).toISOString().replace(/\\.\\d+Z/, \'Z\'),\r\n            start_time = new Date(timestamp - AwsEbs.request_period * 1000).toISOString().replace(/\\.\\d+Z/, \'Z\'),\r\n            payload = AwsEbs.prepareRecursive(\'MetricDataQueries\', AwsEbs.renderPayload(AwsEbs.request_period, AwsEbs.params.volume_id));\r\n\r\n        payload[\'Action\'] = \'GetMetricData\';\r\n        payload[\'Version\'] = \'2010-08-01\';\r\n        payload[\'StartTime\'] = start_time;\r\n        payload[\'EndTime\'] = end_time;\r\n        payload[\'ScanBy\'] = \'TimestampDescending\';\r\n\r\n        result = AwsEbs.request(\'GET\', AwsEbs.params.region, \'monitoring\', AwsEbs.prepareParams(payload));\r\n\r\n        if (typeof result !== \'object\'\r\n                || typeof result.GetMetricDataResponse !== \'object\'\r\n                || typeof result.GetMetricDataResponse.GetMetricDataResult !== \'object\'\r\n                || typeof result.GetMetricDataResponse.GetMetricDataResult.MetricDataResults !== \'object\') {\r\n            throw \'Cannot get metrics data from AWS CloudWatch API. Check debug log for more information.\';\r\n        }\r\n\r\n        return result.GetMetricDataResponse.GetMetricDataResult.MetricDataResults;\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsEbs.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsEbs.getMetricsData());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS EBS ] ERROR: \' + error);\r\n\r\n    return JSON.stringify({\'error\': error});\r\n}','','0','','','','','2',NULL,'Get metrics of EBS volume.\r\nFull metrics list related to EBS: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','8b3b008f7f65408fbd49e46186b01cfb','AWS EBS: ["{#VOLUME_ID}"]: GET METRICS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44021','21','','10535','AWS CloudWatch: Get instance alarms data','aws.rds.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AwsRds = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'db_instance_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsRds.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, params, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsRds.sign(\'AWS4\' + AwsRds.params.secret_key, date);\r\n\r\n        key = AwsRds.sign(key, region);\r\n        key = AwsRds.sign(key, service);\r\n        key = AwsRds.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsRds.params.proxy !== \'undefined\' && AwsRds.params.proxy !== \'\') {\r\n            request.setProxy(AwsRds.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsRds.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response[0] === \'<\') {\r\n            try {\r\n                response = XML.toJson(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    getAlarms: function () {\r\n        var payload = {},\r\n            result = [];\r\n\r\n        payload[\'Action\'] = \'DescribeAlarms\';\r\n        payload[\'MaxRecords\'] = 100;\r\n        payload[\'Version\'] = \'2010-08-01\';\r\n\r\n        while (payload.NextToken !== \'\') {\r\n            var alarms = AwsRds.request(\'GET\', AwsRds.params.region, \'monitoring\', AwsRds.prepareParams(payload));\r\n\r\n            if (typeof alarms !== \'object\'\r\n                || typeof alarms.DescribeAlarmsResponse !== \'object\'\r\n                || typeof alarms.DescribeAlarmsResponse.DescribeAlarmsResult !== \'object\'\r\n                || typeof alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms !== \'object\') {\r\n                throw \'Cannot get alarms from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n\r\n            payload.NextToken = alarms.DescribeAlarmsResponse.DescribeAlarmsResult.NextToken || \'\';\r\n\r\n            if (!Array.isArray(alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms))\r\n                alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms = [alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms]\r\n            alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms.forEach(function (alarm) {\r\n                var dimensions = alarm.Dimensions;\r\n\r\n                if (Array.isArray(alarm.Metrics)) {\r\n                    alarm.Metrics.forEach(function (metric) {\r\n                        if (typeof metric.MetricStat === \'object\' && metric.MetricStat !== null\r\n                            && typeof metric.MetricStat.Metric === \'object\' && metric.MetricStat.Metric !== null\r\n                            && Array.isArray(metric.MetricStat.Metric.Dimensions)) {\r\n                            dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);\r\n                        }\r\n                    });\r\n                }\r\n                for (var i in dimensions) {\r\n                    if (dimensions[i].Name === \'DBInstanceIdentifier\' && dimensions[i].Value === AwsRds.params.db_instance_id) {\r\n                        result.push(alarm);\r\n                        break;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        return result;\r\n    }\r\n}\r\n\r\ntry {\r\n    AwsRds.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsRds.getAlarms());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS RDS ] ERROR: \' + error);\r\n\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','0',NULL,'DescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','a2f85e777eae4fe789446de21136c510','AWS CLOUDWATCH: GET INSTANCE ALARMS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44022','21','','10535','AWS RDS: Get instance events data','aws.rds.get_events','0s;m/10','0','0','0','4','','','','',NULL,NULL,'var AwsRds = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'db_instance_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsRds.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, params, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsRds.sign(\'AWS4\' + AwsRds.params.secret_key, date);\r\n\r\n        key = AwsRds.sign(key, region);\r\n        key = AwsRds.sign(key, service);\r\n        key = AwsRds.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsRds.params.proxy !== \'undefined\' && AwsRds.params.proxy !== \'\') {\r\n            request.setProxy(AwsRds.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsRds.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response[0] === \'<\') {\r\n            try {\r\n                response = XML.toJson(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS RDS API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS RDS API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    getEvents: function () {\r\n        var payload = {},\r\n            result = [];\r\n\r\n        payload[\'Action\'] = \'DescribeEvents\';\r\n        payload[\'MaxRecords\'] = 100;\r\n        payload[\'Version\'] = \'2014-09-01\';\r\n        payload[\'Duration\'] = 30;\r\n        payload[\'SourceType\'] = \'db-instance\';\r\n        payload[\'SourceIdentifier\'] = AwsRds.params.db_instance_id;\r\n\r\n        while (payload.NextToken !== \'\') {\r\n            var events = AwsRds.request(\'GET\', AwsRds.params.region, \'rds\', AwsRds.prepareParams(payload));\r\n\r\n            if (typeof events !== \'object\'\r\n                || typeof events.DescribeEventsResponse !== \'object\'\r\n                || typeof events.DescribeEventsResponse.DescribeEventsResult !== \'object\'\r\n                || typeof events.DescribeEventsResponse.DescribeEventsResult.Events !== \'object\') {\r\n                throw \'Cannot get events from AWS RDS API. Check debug log for more information.\';\r\n            }\r\n\r\n            if (!Array.isArray(events.DescribeEventsResponse.DescribeEventsResult.Events))\r\n                events.DescribeEventsResponse.DescribeEventsResult.Events = [events.DescribeEventsResponse.DescribeEventsResult.Events]\r\n            events.DescribeEventsResponse.DescribeEventsResult.Events.forEach(function (event) {\r\n                event.EventCategories = event.EventCategories.toString()\r\n                result.push(event)\r\n            });\r\n            payload.NextToken = events.DescribeEventsResponse.DescribeEventsResult.NextToken || \'\';\r\n\r\n        };\r\n\r\n        return result;\r\n        }\r\n      }\r\n\r\n    try {\r\n        AwsRds.setParams(JSON.parse(value));\r\n\r\n        return JSON.stringify(AwsRds.getEvents());\r\n      }\r\n    catch (error) {\r\n        error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n        Zabbix.log(3, \'[ AWS RDS ] ERROR: \' + error);\r\n\r\n        return JSON.stringify({ \'error\': error });\r\n    }','','0','','','','','0',NULL,'DescribeEvents API method: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','f0d1041fa09d4ba38c9d0b39c4b76b0b','AWS RDS: GET INSTANCE EVENTS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44023','21','','10535','AWS RDS: Get instance info','aws.rds.get_instance_info','5m','0','0','0','4','','','','',NULL,NULL,'var AwsRds = {\r\n    params: {},\r\n    request_period: 600,\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'db_instance_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsRds.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, params, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsRds.sign(\'AWS4\' + AwsRds.params.secret_key, date);\r\n\r\n        key = AwsRds.sign(key, region);\r\n        key = AwsRds.sign(key, service);\r\n        key = AwsRds.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsRds.params.proxy !== \'undefined\' && AwsRds.params.proxy !== \'\') {\r\n            request.setProxy(AwsRds.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsRds.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS RDS API. Check debug log for more information.\';\r\n            }\r\n        }\r\n        return response;\r\n    },\r\n\r\n    getInstanceData: function () {\r\n        var payload = {};\r\n\r\n        payload[\'Action\'] = \'DescribeDBInstances\',\r\n            payload[\'Version\'] = \'2014-10-31\',\r\n            payload[\'DBInstanceIdentifier\'] = AwsRds.params.db_instance_id;\r\n\r\n        result = AwsRds.request(\'GET\', AwsRds.params.region, \'rds\', AwsRds.prepareParams(payload));\r\n        if (typeof result !== \'object\'\r\n            || typeof result.DescribeDBInstancesResponse !== \'object\'\r\n            || typeof result.DescribeDBInstancesResponse.DescribeDBInstancesResult !== \'object\'\r\n            || typeof result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances !== \'object\') {\r\n            throw \'Cannot get metrics data from AWS RDS API. Check debug log for more information.\';\r\n        }\r\n\r\n        return result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances;\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsRds.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsRds.getInstanceData());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS RDS ] ERROR: \' + error);\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','0',NULL,'Get instance info.\r\nDescribeDBInstances API method: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','85ac4a5313994e0f94fe6480d3c85193','AWS RDS: GET INSTANCE INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44024','21','','10535','AWS RDS: Get metrics data','aws.rds.get_metrics','0s;m/5','0','0','0','4','','','','',NULL,NULL,'var AwsRds = {\r\n    params: {},\r\n    request_period: 600,\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'db_instance_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsRds.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    renderMetricQuery: function (period, db_instance_id) {\r\n        var metrics_list = [\r\n          \'AbortedClients:Count\',\r\n          \'ActiveTransactions:Count/Second\',\r\n          \'AuroraBinlogReplicaLag:Seconds\',\r\n          \'AuroraReplicaLag:Milliseconds\',\r\n          \'AuroraReplicaLagMaximum:Milliseconds\',\r\n          \'AuroraReplicaLagMinimum:Milliseconds\',\r\n          \'BacktrackWindowActual:Count\',\r\n          \'BacktrackWindowAlert:Count\',\r\n          \'BinLogDiskUsage:Bytes\',\r\n          \'BlockedTransactions:Count/Second\',\r\n          \'BufferCacheHitRatio:Percent\',\r\n          \'CheckpointLag:Seconds\',\r\n          \'CommitLatency:Milliseconds\',\r\n          \'CommitThroughput:Count/Second\',\r\n          \'CPUCreditBalance:Count\',\r\n          \'CPUCreditUsage:Count\',\r\n          \'CPUUtilization:Percent\',\r\n          \'DatabaseConnections:Count\',\r\n          \'DDLLatency:Milliseconds\',\r\n          \'DDLThroughput:Count/Second\',\r\n          \'Deadlocks:Count/Second\',\r\n          \'DeleteLatency:Milliseconds\',\r\n          \'DeleteThroughput:Count/Second\',\r\n          \'DiskQueueDepth:Count\',\r\n          \'DMLLatency:Milliseconds\',\r\n          \'DMLThroughput:Count/Second\',\r\n          \'EBSByteBalance%:Percent\',\r\n          \'EBSIOBalance%:Percent\',\r\n          \'EngineUptime:Seconds\',\r\n          \'FailedSQLServerAgentJobsCount:Count/Second\',\r\n          \'FreeableMemory:Bytes\',\r\n          \'FreeLocalStorage:Bytes\',\r\n          \'InsertLatency:Milliseconds\',\r\n          \'InsertThroughput:Count/Second\',\r\n          \'LoginFailures:Count/Second\',\r\n          \'MaximumUsedTransactionIDs:Count\',\r\n          \'NetworkReceiveThroughput:Bytes/Second\',\r\n          \'NetworkThroughput:Bytes/Second\',\r\n          \'NetworkTransmitThroughput:Bytes/Second\',\r\n          \'NumBinaryLogFiles:Count\',\r\n          \'Queries:Count/Second\',\r\n          \'RDSToAuroraPostgreSQLReplicaLag:Seconds\',\r\n          \'ReadIOPS:Count/Second\',\r\n          \'ReadLatency:Seconds\',\r\n          \'ReadLatencyLocalStorage:Seconds\',\r\n          \'ReadThroughput:Bytes/Second\',\r\n          \'ReadThroughputLocalStorage:Bytes/Second\',\r\n          \'ReplicationSlotDiskUsage:Bytes\',\r\n          \'ResultSetCacheHitRatio:Percent\',\r\n          \'RollbackSegmentHistoryListLength:Count\',\r\n          \'RowLockTime:Milliseconds\',\r\n          \'SelectLatency:Milliseconds\',\r\n          \'SelectThroughput:Count/Second\',\r\n          \'StorageNetworkReceiveThroughput:Bytes/Second\',\r\n          \'StorageNetworkThroughput:Bytes/Second\',\r\n          \'StorageNetworkTransmitThroughput:Bytes/Second\',\r\n          \'SumBinaryLogSize:Bytes\',\r\n          \'SwapUsage:Bytes\',\r\n          \'TransactionLogsDiskUsage:Bytes\',\r\n          \'UpdateLatency:Milliseconds\',\r\n          \'UpdateThroughput:Count/Second\',\r\n          \'WriteIOPS:Count/Second\',\r\n          \'WriteLatency:Seconds\',\r\n          \'WriteThroughput:Bytes/Second\',\r\n          \'BurstBalance:Percent\',\r\n          \'FreeStorageSpace:Percent\',\r\n          \'OldestReplicationSlotLag:Bytes\',\r\n          \'ReplicaLag:Seconds\',\r\n          \'TransactionLogsGeneration:Bytes/Second\'\r\n        ];\r\n\r\n        var metric_payload = [];\r\n        metrics_list.forEach(function (metric) {\r\n            var parts = metric.split(\':\', 2);\r\n            var name = parts[0].replace(/[^a-zA-Z0-9]/g, \'\');\r\n            metric_payload.push({\r\n                \'Id\': name.charAt(0).toLowerCase() + name.slice(1),\r\n                \'MetricStat\': {\r\n                    \'Metric\': {\r\n                        \'MetricName\': parts[0],\r\n                        \'Namespace\': \'AWS/RDS\',\r\n                        \'Dimensions\': [\r\n                            {\r\n                                \'Name\': \'DBInstanceIdentifier\',\r\n                                \'Value\': db_instance_id\r\n                            }\r\n                        ]\r\n                    },\r\n                    \'Period\': period,\r\n                    \'Stat\': \'Average\',\r\n                    \'Unit\': parts[1]\r\n                }\r\n            });\r\n        });\r\n\r\n        return metric_payload;\r\n\r\n    },\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, request_data) {\r\n        if (typeof request_data === \'undefined\' || request_data === null) {\r\n            request_data = \'\';\r\n        }\r\n        else {\r\n            request_data=  JSON.stringify(request_data)\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(request_data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsRds.sign(\'AWS4\' + AwsRds.params.secret_key, date);\r\n\r\n        key = AwsRds.sign(key, region);\r\n        key = AwsRds.sign(key, service);\r\n        key = AwsRds.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri;\r\n\r\n        if (typeof AwsRds.params.proxy !== \'undefined\' && AwsRds.params.proxy !== \'\') {\r\n            request.setProxy(AwsRds.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'X-Amz-Target: GraniteServiceVersion20100801.GetMetricData\')\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsRds.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n\r\n        response = request.post(url,request_data);\r\n        Zabbix.log(4, \'[ AWS RDS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    getMetricsData: function () {\r\n        var payload={},\r\n            end_time = Math.floor((new Date().getTime())/1000),\r\n            start_time = end_time - AwsRds.request_period;\r\n\r\n        payload[\'StartTime\'] = start_time;\r\n        payload[\'EndTime\'] = end_time;\r\n        payload[\'ScanBy\'] = \'TimestampDescending\';\r\n        payload[\'MetricDataQueries\'] = AwsRds.renderMetricQuery(AwsRds.request_period, AwsRds.params.db_instance_id);\r\n        result = AwsRds.request(\'POST\', AwsRds.params.region, \'monitoring\', payload);\r\n        if (typeof result !== \'object\' || typeof result.MetricDataResults !== \'object\') {\r\n            throw \'Cannot get metrics data from AWS CloudWatch API. Check debug log for more information.\';\r\n        }\r\n\r\n        return result.MetricDataResults;\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsRds.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsRds.getMetricsData());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS RDS ] ERROR: \' + error);\r\n\r\n    return JSON.stringify({\'error\': error});\r\n}','','0','','','','','0',NULL,'Get instance metrics.\r\nFull metrics list related to RDS: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html\r\nFull metrics list related to Amazon Aurora: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html#Aurora.AuroraMySQL.Monitoring.Metrics.instances','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','b22171fe7de44ac3952468ceb0c1a9b0','AWS RDS: GET METRICS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44113','21','','10536','AWS S3: Get alarms data','aws.s3.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AwsS3 = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'bucket_name\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsS3.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, params, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsS3.sign(\'AWS4\' + AwsS3.params.secret_key, date);\r\n\r\n        key = AwsS3.sign(key, region);\r\n        key = AwsS3.sign(key, service);\r\n        key = AwsS3.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsS3.params.proxy !== \'undefined\' && AwsS3.params.proxy !== \'\') {\r\n            request.setProxy(AwsS3.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsS3.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS S3 ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS S3 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response[0] === \'<\') {\r\n            try {\r\n                response = XML.toJson(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    getAlarms: function () {\r\n        var payload = {},\r\n            result = [];\r\n\r\n        payload[\'Action\'] = \'DescribeAlarms\';\r\n        payload[\'MaxRecords\'] = 100;\r\n        payload[\'Version\'] = \'2010-08-01\';\r\n\r\n        while (payload.NextToken !== \'\') {\r\n            var alarms = AwsS3.request(\'GET\', AwsS3.params.region, \'monitoring\', AwsS3.prepareParams(payload));\r\n\r\n            if (typeof alarms !== \'object\'\r\n                || typeof alarms.DescribeAlarmsResponse !== \'object\'\r\n                || typeof alarms.DescribeAlarmsResponse.DescribeAlarmsResult !== \'object\'\r\n                || typeof alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms !== \'object\') {\r\n                throw \'Cannot get alarms from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n\r\n            payload.NextToken = alarms.DescribeAlarmsResponse.DescribeAlarmsResult.NextToken || \'\';\r\n\r\n            if (!Array.isArray(alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms))\r\n                alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms = [alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms]\r\n            alarms.DescribeAlarmsResponse.DescribeAlarmsResult.MetricAlarms.forEach(function (alarm) {\r\n                var dimensions = alarm.Dimensions;\r\n\r\n                if (Array.isArray(alarm.Metrics)) {\r\n                    alarm.Metrics.forEach(function (metric) {\r\n                        if (typeof metric.MetricStat === \'object\' && metric.MetricStat !== null\r\n                            && typeof metric.MetricStat.Metric === \'object\' && metric.MetricStat.Metric !== null\r\n                            && Array.isArray(metric.MetricStat.Metric.Dimensions)) {\r\n                            dimensions = dimensions.concat(metric.MetricStat.Metric.Dimensions);\r\n                        }\r\n                    });\r\n                }\r\n                for (var i in dimensions) {\r\n                    if (dimensions[i].Name === \'BucketName\' && dimensions[i].Value === AwsS3.params.bucket_name) {\r\n                        result.push(alarm);\r\n                        break;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        return result;\r\n    }\r\n}\r\n\r\ntry {\r\n    AwsS3.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsS3.getAlarms());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS S3 ] ERROR: \' + error);\r\n\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','0',NULL,'Get alarms data.\r\nDescribeAlarms API method: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','6da0ea7130e64a7fb8ae32ee02290cbf','AWS S3: GET ALARMS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44114','21','','10536','AWS S3: Get metrics data','aws.s3.get_metrics','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AwsS3 = {\r\n    params: {},\r\n    request_period: 180,\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\', \'region\', \'bucket_name\', \'filter_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsS3.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    renderMetricQuery: function (period, bucket_name, filter_id) {\r\n        var metrics_list = [\r\n            \'BucketSizeBytes:Bytes:Average\',\r\n            \'NumberOfObjects:Count:Average\',\r\n            \'AllRequests:Count:Sum\',\r\n            \'GetRequests:Count:Sum\',\r\n            \'PutRequests:Count:Sum\',\r\n            \'DeleteRequests:Count:Sum\',\r\n            \'HeadRequests:Count:Sum\',\r\n            \'PostRequests:Count:Sum\',\r\n            \'SelectRequests:Count:Sum\',\r\n            \'SelectBytesScanned:Bytes:Average\',\r\n            \'SelectBytesReturned:Bytes:Average\',\r\n            \'ListRequests:Count:Sum\',\r\n            \'BytesDownloaded:Bytes:Average\',\r\n            \'BytesUploaded:Bytes:Average\',\r\n            \'4xxErrors:Count:Average\',\r\n            \'5xxErrors:Count:Average\',\r\n            \'FirstByteLatency:Milliseconds:p90\',\r\n            \'TotalRequestLatency:Milliseconds:p90\',\r\n            \'FirstByteLatency:Milliseconds:p90\',\r\n            \'ReplicationLatency:Seconds:Average\',\r\n            \'BytesPendingReplication:Bytes:Average\',\r\n            \'OperationsPendingReplication:Count:Average\',\r\n\r\n        ];\r\n\r\n        var metric_payload = [];\r\n        metrics_list.forEach(function (metric, index) {\r\n            var parts = metric.split(\':\', 3);\r\n            metric_payload.push({\r\n                \'Id\': \'m\' + index,\r\n                \'MetricStat\': {\r\n                    \'Metric\': {\r\n                        \'MetricName\': parts[0],\r\n                        \'Namespace\': \'AWS/S3\',\r\n                        \'Dimensions\': [\r\n                            {\r\n                                \'Name\': \'BucketName\',\r\n                                \'Value\': bucket_name\r\n                            },\r\n                            {\r\n                                \'Name\': \'FilterId\',\r\n                                \'Value\': filter_id\r\n                            }\r\n                        ]\r\n                    },\r\n                    \'Period\': period,\r\n                    \'Stat\': parts[2],\r\n                    \'Unit\': parts[1]\r\n                }\r\n            });\r\n        });\r\n\r\n        return metric_payload;\r\n\r\n    },\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, request_data) {\r\n        if (typeof request_data === \'undefined\' || request_data === null) {\r\n            request_data = \'\';\r\n        }\r\n        else {\r\n            request_data = JSON.stringify(request_data)\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n            host = service + \'.\' + region + \'.amazonaws.com\',\r\n            canonical_uri = \'/\',\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(request_data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsS3.sign(\'AWS4\' + AwsS3.params.secret_key, date);\r\n\r\n        key = AwsS3.sign(key, region);\r\n        key = AwsS3.sign(key, service);\r\n        key = AwsS3.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri;\r\n\r\n        if (typeof AwsS3.params.proxy !== \'undefined\' && AwsS3.params.proxy !== \'\') {\r\n            request.setProxy(AwsS3.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'X-Amz-Target: GraniteServiceVersion20100801.GetMetricData\')\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsS3.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS S3 ] Sending request: \' + url);\r\n\r\n        response = request.post(url, request_data);\r\n        Zabbix.log(4, \'[ AWS S3 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        if (response !== null) {\r\n            try {\r\n                response = JSON.parse(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    getMetricsData: function () {\r\n        var payload = {},\r\n            end_time = Math.floor((new Date().getTime()) / 1000),\r\n            start_time = end_time - AwsS3.request_period;\r\n\r\n        payload[\'StartTime\'] = start_time;\r\n        payload[\'EndTime\'] = end_time;\r\n        payload[\'ScanBy\'] = \'TimestampDescending\';\r\n        payload[\'MetricDataQueries\'] = AwsS3.renderMetricQuery(60, AwsS3.params.bucket_name, AwsS3.params.filter_id);\r\n        result = AwsS3.request(\'POST\', AwsS3.params.region, \'monitoring\', payload);\r\n        if (typeof result !== \'object\' || typeof result.MetricDataResults !== \'object\') {\r\n            throw \'Cannot get metrics data from AWS CloudWatch API. Check debug log for more information.\';\r\n        }\r\n\r\n        return result.MetricDataResults;\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsS3.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsS3.getMetricsData());\r\n}\r\ncatch (error) {\r\n    return error\r\n    // error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    // Zabbix.log(3, \'[ AWS S3 ] ERROR: \' + error);\r\n\r\n    // return JSON.stringify({\'error\': error});\r\n}','','0','','','','','0',NULL,'Get bucket metrics.\r\nFull metrics list related to S3: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html','0','30d','0','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','598e9dc563334ad6b1d72245a6f8679f','AWS S3: GET METRICS DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44143','21','','10537','EC2 instances discovery','aws.ec2.discovery','12h','90d','0','0','4','','','','',NULL,NULL,'var AwsEC2 = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'region\', \'secret_key\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsEC2.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, host, params, data, uri) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n\r\n            canonical_uri = \'/\' + uri,\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsEC2.sign(\'AWS4\' + AwsEC2.params.secret_key, date);\r\n\r\n        key = AwsEC2.sign(key, region);\r\n        key = AwsEC2.sign(key, service);\r\n        key = AwsEC2.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsEC2.params.proxy !== \'undefined\' && AwsEC2.params.proxy !== \'\') {\r\n            request.setProxy(AwsEC2.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'x-amz-content-sha256:\' + sha256(data));\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsEC2.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS EC2 ] Sending request: \' + url);\r\n\r\n        response = request.post(url, data);\r\n\r\n        Zabbix.log(4, \'[ AWS EC2 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n        if (response !== null) {\r\n            try {\r\n                response = XML.toJson(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return JSON.parse(response);\r\n    },\r\n\r\n    tagToNameInstances: function (instance) {\r\n        if (!Array.isArray(instance))\r\n            instance = [instance];\r\n        instance.forEach(function (item, index, instance_array) {\r\n            if (typeof item !== \'object\'\r\n                || typeof item.instancesSet !== \'object\'\r\n                || typeof item.instancesSet.item !== \'object\'\r\n                || item.instancesSet.item.hasOwnProperty(\'instanceId\') === false)\r\n                throw \'Failed response parse. Check debug log for more information.\';\r\n            var instanceName = item.instancesSet.item.instanceId\r\n            if (typeof item.instancesSet.item.tagSet === \'object\'\r\n                && typeof item.instancesSet.item.tagSet.item === \'object\') {\r\n                if (!Array.isArray(item.instancesSet.item.tagSet.item))\r\n                  item.instancesSet.item.tagSet.item = [item.instancesSet.item.tagSet.item];\r\n                item.instancesSet.item.tagSet.item.forEach(\r\n                    function (tag) {\r\n                        if (tag.hasOwnProperty(\'key\') && tag.key === \'Name\') {\r\n                            instanceName = tag.value;\r\n                        }\r\n                    }\r\n                );\r\n            }\r\n            instance_array[index][\'instanceName\'] = instanceName;\r\n        });\r\n\r\n        return instance;\r\n    },\r\n\r\n    listInstances: function () {\r\n        var payload = {};\r\n\r\n        payload[\'Action\'] = \'DescribeInstances\',\r\n            payload[\'Version\'] = \'2016-11-15\'\r\n\r\n        result = AwsEC2.request(\'POST\', AwsEC2.params.region, \'ec2\', \'ec2.\' + AwsEC2.params.region + \'.amazonaws.com\', AwsEC2.prepareParams(payload), \'\', \'\');\r\n\r\n        if (typeof result !== \'object\'\r\n            || typeof result.DescribeInstancesResponse !== \'object\'\r\n            || typeof result.DescribeInstancesResponse.reservationSet !== \'object\') {\r\n            throw \'Cannot get EC2 instance list from AWS API. Check debug log for more information.\';\r\n        }\r\n\r\n        if (result.DescribeInstancesResponse.reservationSet === null)\r\n            return [];\r\n\r\n        if (typeof result.DescribeInstancesResponse.reservationSet.item !== \'object\')\r\n            throw \'Cannot get EC2 instance list from AWS API. Check debug log for more information.\';\r\n\r\n        return AwsEC2.tagToNameInstances(result.DescribeInstancesResponse.reservationSet.item);\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsEC2.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsEC2.listInstances());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS EC2 ] ERROR: \' + error);\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','1',NULL,'Get EC2 instances.','0','30d','1','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','c651911bad9244ad9c8d2dad5b0d70e4','EC2 INSTANCES DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44144','21','','10537','RDS instances discovery','aws.rds.discovery','12h','90d','0','0','4','','','','',NULL,NULL,'var AwsRDS = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'region\', \'secret_key\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsRDS.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, host, params, data, uri) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n\r\n            canonical_uri = \'/\' + uri,\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsRDS.sign(\'AWS4\' + AwsRDS.params.secret_key, date);\r\n\r\n        key = AwsRDS.sign(key, region);\r\n        key = AwsRDS.sign(key, service);\r\n        key = AwsRDS.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsRDS.params.proxy !== \'undefined\' && AwsRDS.params.proxy !== \'\') {\r\n            request.setProxy(AwsRDS.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'x-amz-content-sha256:\' + sha256(data));\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsRDS.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n\r\n        response = request.post(url, data);\r\n\r\n        Zabbix.log(4, \'[ AWS RDS ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            response = JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from AWS API. Check debug log for more information.\';\r\n        }\r\n\r\n        return response;\r\n    },\r\n\r\n    listInstances: function () {\r\n        var payload = {};\r\n\r\n        payload[\'Action\'] = \'DescribeDBInstances\',\r\n            payload[\'Version\'] = \'2014-10-31\'\r\n\r\n        result = AwsRDS.request(\'POST\', AwsRDS.params.region, \'rds\', \'rds.\' + AwsRDS.params.region + \'.amazonaws.com\', AwsRDS.prepareParams(payload), \'\', \'\');\r\n\r\n        if (typeof result !== \'object\'\r\n            || typeof result.DescribeDBInstancesResponse !== \'object\'\r\n            || typeof result.DescribeDBInstancesResponse.DescribeDBInstancesResult !== \'object\'\r\n            || typeof result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances !== \'object\') {\r\n            throw \'Cannot get DB instance list from AWS RDS API. Check debug log for more information.\';\r\n        }\r\n        if (Array.isArray(result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances))\r\n            return result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances;\r\n        else\r\n            return [result.DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances];\r\n\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsRDS.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsRDS.listInstances());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS RDS ] ERROR: \' + error);\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','1',NULL,'Get RDS instances.','0','30d','1','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','c1127e674b7548b2802cd8771f3a4768','RDS INSTANCES DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44145','21','','10537','S3 buckets discovery','aws.s3.discovery','12h','90d','0','0','4','','','','',NULL,NULL,'var AwsS3 = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'access_key\', \'secret_key\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: "\' + field + \'".\';\r\n            }\r\n        });\r\n\r\n        AwsS3.params = params;\r\n    },\r\n\r\n    sign: function (key, message) {\r\n        var hex = hmac(\'sha256\', key, message);\r\n\r\n        if ((hex.length % 2) === 1) {\r\n            throw \'Invalid length of a hex string!\';\r\n        }\r\n\r\n        var result = new Int8Array(hex.length / 2);\r\n        for (var i = 0, b = 0; i < hex.length; i += 2, b++) {\r\n            result[b] = parseInt(hex.substring(i, i + 2), 16);\r\n        }\r\n\r\n        return result;\r\n    },\r\n\r\n    prepareParams: function (params) {\r\n        var result = [];\r\n\r\n        Object.keys(params).sort().forEach(function (key) {\r\n            if (typeof params[key] !== \'object\') {\r\n                result.push(key + \'=\' + encodeURIComponent(params[key]));\r\n            }\r\n            else {\r\n                result.push(prepareObject(key, params[key]));\r\n            }\r\n        });\r\n\r\n        return result.join(\'&\');\r\n    },\r\n\r\n    request: function (method, region, service, host, params, data, uri) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var amzdate = (new Date()).toISOString().replace(/\\.\\d+Z/, \'Z\').replace(/[-:]/g, \'\'),\r\n            date = amzdate.replace(/T\\d+Z/, \'\'),\r\n\r\n            canonical_uri = \'/\' + uri,\r\n            canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\',\r\n            signed_headers = \'content-encoding;host;x-amz-date\',\r\n            canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data),\r\n            credential_scope = date + \'/\' + region + \'/\' + service + \'/\' + \'aws4_request\',\r\n            request_string = \'AWS4-HMAC-SHA256\' + \'\\n\' + amzdate + \'\\n\' + credential_scope + \'\\n\' + sha256(canonical_request),\r\n            key = AwsS3.sign(\'AWS4\' + AwsS3.params.secret_key, date);\r\n\r\n        key = AwsS3.sign(key, region);\r\n        key = AwsS3.sign(key, service);\r\n        key = AwsS3.sign(key, \'aws4_request\');\r\n\r\n        var request = new HttpRequest(),\r\n            url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n        if (typeof AwsS3.params.proxy !== \'undefined\' && AwsS3.params.proxy !== \'\') {\r\n            request.setProxy(AwsS3.params.proxy);\r\n        }\r\n        request.addHeader(\'x-amz-date: \' + amzdate);\r\n        request.addHeader(\'x-amz-content-sha256:\' + sha256(data));\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Content-Type: application/json\');\r\n        request.addHeader(\'Content-Encoding: amz-1.0\');\r\n        request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AwsS3.params.access_key + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n\r\n        Zabbix.log(4, \'[ AWS S3 ] Sending request: \' + url);\r\n\r\n        response = request.get(url);\r\n\r\n        Zabbix.log(4, \'[ AWS S3 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n        if (response !== null) {\r\n            try {\r\n                response = XML.toJson(response);\r\n            }\r\n            catch (error) {\r\n                throw \'Failed to parse response received from AWS CloudWatch API. Check debug log for more information.\';\r\n            }\r\n        }\r\n\r\n        return JSON.parse(response);\r\n    },\r\n\r\n    getBucketLocation: function (bucket_name) {\r\n        var payload = {};\r\n\r\n        payload[\'location\'] = \'\',\r\n\r\n            result = AwsS3.request(\'GET\', \'us-east-1\', \'s3\', \'s3.amazonaws.com\', AwsS3.prepareParams(payload), \'\', bucket_name);\r\n\r\n        if (typeof result !== \'object\'\r\n            || result.hasOwnProperty(\'LocationConstraint\') === false\r\n        ) {\r\n            throw \'Cannot get buckets region location data from AWS S3 API. Check debug log for more information.\';\r\n        }\r\n\r\n        return result.LocationConstraint !== null ? result.LocationConstraint : \'us-east-1\';\r\n    },\r\n\r\n    listBuckets: function () {\r\n        var payload = {};\r\n\r\n        payload[\'Action\'] = \'ListBuckets\',\r\n            payload[\'Version\'] = \'2006-03-01\',\r\n\r\n            result = AwsS3.request(\'GET\', \'us-east-1\', \'s3\', \'s3.us-east-1.amazonaws.com\', AwsS3.prepareParams(payload), \'\', \'\');\r\n        if (typeof result !== \'object\'\r\n            || typeof result.ListAllMyBucketsResult !== \'object\'\r\n            || typeof result.ListAllMyBucketsResult.Buckets !== \'object\') {\r\n            throw \'Cannot get buckets list from AWS S3 API. Check debug log for more information.\';\r\n        }\r\n        if (result.ListAllMyBucketsResult.Buckets === null)\r\n            return []\r\n        if (typeof result.ListAllMyBucketsResult.Buckets.Bucket !== \'object\') {\r\n            throw \'Cannot get buckets list from AWS S3 API. Check debug log for more information.\';\r\n        }\r\n\r\n        var buckets = [];\r\n        if (!Array.isArray(result.ListAllMyBucketsResult.Buckets.Bucket))\r\n            buckets = [result.ListAllMyBucketsResult.Buckets.Bucket]\r\n        else\r\n            buckets = result.ListAllMyBucketsResult.Buckets.Bucket\r\n        buckets.forEach(\r\n            function (bucket, index, buckets_array) {\r\n                if (!bucket.hasOwnProperty(\'Name\'))\r\n                    throw \'Cannot get location for bucket. Check debug log for more information.\';\r\n                buckets_array[index][\'location\'] = AwsS3.getBucketLocation(bucket[\'Name\']);\r\n            });\r\n\r\n        return buckets;\r\n    }\r\n};\r\n\r\ntry {\r\n    AwsS3.setParams(JSON.parse(value));\r\n\r\n    return JSON.stringify(AwsS3.listBuckets());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ AWS S3 ] ERROR: \' + error);\r\n    return JSON.stringify({ \'error\': error });\r\n}','','0','','','','','1',NULL,'Get S3 bucket instances.','0','30d','1','',NULL,'15s','','','','200','1','0','','0','0','0','0','0','0','0','ab6a97a108fb4dbc9fd1e07378721ffe','S3 BUCKETS DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44146','21','','10541','Azure: Get resources','azure.get.resources','10m','0d','0','0','4','','','','',NULL,NULL,'var Azure = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        Azure.params = params;\r\n    },\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n        if (Azure.token) {\r\n            request.addHeader(\'Accept: application/json\');\r\n            request.addHeader(\'Authorization: Bearer \' + Azure.token);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n    },\r\n\r\n    nextlink: function (data) {\r\n        next_data = data;\r\n        while (\'nextLink\' in next_data) {\r\n            next_data = Azure.request(next_data.nextLink);\r\n            next_data.value.forEach(function (value) {\r\n                data.value.push(value);\r\n            });\r\n        }\r\n\r\n        return data;\r\n    }\r\n};\r\n\r\nvar result,\r\n    data = {},\r\n    types = [\r\n        {"method": "Microsoft.Compute/virtualMachines", "version": "2022-03-01"}, \r\n        {"method": "Microsoft.DBforMySQL/flexibleServers", "version": "2021-05-01"}, \r\n        {"method": "Microsoft.DBforMySQL/servers", "version": "2017-12-01"},\r\n        {"method": "Microsoft.DBforPostgreSQL/flexibleServers", "version": "2021-06-01"},\r\n        {"method": "Microsoft.DBforPostgreSQL/servers", "version": "2017-12-01"},\r\n        {"method": "Microsoft.Sql/servers", "version": "2022-05-01-preview"}\r\n    ];\r\n    data[\'errors\'] = {},\r\n    data[\'resources\'] = {};\r\n    data.resources.value = [];\r\n\r\ntry {\r\n    Azure.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = Azure.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(Azure.params.tenant_id) +\'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(Azure.params.app_id) + \'&client_secret=\' + encodeURIComponent(Azure.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            Azure.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            for (var i in types) {\r\n                if (types[i].method === "Microsoft.Sql/servers") {\r\n                    mssql_servers = Azure.request(\'https://management.azure.com/subscriptions/\' + encodeURIComponent(Azure.params.subscription_id) + \'/providers/\' + types[i].method + \'?api-version=\' + types[i].version);\r\n                    \r\n                    if (\'nextLink\' in mssql_servers) {\r\n                        mssql_servers = Azure.nextlink(mssql_servers);\r\n                    }\r\n                \r\n                    if (\'value\' in mssql_servers && mssql_servers.value.length > 0) {\r\n                        for (j in mssql_servers.value) {\r\n                            mssql_dbs = Azure.request(\'https://management.azure.com\' + mssql_servers.value[j].id + \'/databases?api-version=\' + types[i].version);\r\n\r\n                            if (\'nextLink\' in mssql_dbs) {\r\n                                mssql_dbs = Azure.nextlink(mssql_dbs);\r\n                            }\r\n                        \r\n                            mssql_dbs.value.forEach(function (value) {\r\n                                raw_data.value.push(value);\r\n                            });\r\n                        }\r\n                    }\r\n                }\r\n                else {\r\n                    raw_data = Azure.request(\'https://management.azure.com/subscriptions/\' + encodeURIComponent(Azure.params.subscription_id) + \'/providers/\' + types[i].method + \'?api-version=\' + types[i].version);\r\n\r\n                    if (\'nextLink\' in raw_data) {\r\n                        raw_data = Azure.nextlink(raw_data);\r\n                    }\r\n                }\r\n\r\n                raw_data.value.forEach(function (value) {\r\n                    value.resourceGroup = value.id.split("/")[4];\r\n                    data.resources.value.push(value);\r\n                });\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.resources = error.toString();\r\n        }\r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','fb6abf3631b240b08357ea9ce9ba89a4','AZURE: GET RESOURCES');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44147','21','','10542','Azure Microsoft SQL: Get data','azure.db.mssql.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureDB = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureDB.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureDB.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureDB.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'cpu_percent\',\r\n    \'physical_data_read_percent\',\r\n    \'log_write_percent\',\r\n    \'storage\',\r\n    \'connection_successful\',\r\n    \'connection_failed\',\r\n    \'blocked_by_firewall\',\r\n    \'deadlock\',\r\n    \'storage_percent\',\r\n    \'xtp_storage_percent\',\r\n    \'workers_percent\',\r\n    \'sessions_percent\',\r\n    \'sessions_count\',\r\n    \'cpu_limit\',\r\n    \'cpu_used\',\r\n    \'sqlserver_process_core_percent\',\r\n    \'sqlserver_process_memory_percent\',\r\n    \'tempdb_data_size\',\r\n    \'tempdb_log_size\',\r\n    \'tempdb_log_used_percent\',\r\n    \'allocated_data_storage\'\r\n],\r\n    day_metrics = \'full_backup_size_bytes,diff_backup_size_bytes,log_backup_size_bytes\',\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureDB.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureDB.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureDB.params.tenant_id) + \'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureDB.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureDB.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureDB.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {\r\n                            data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        }\r\n        start_date = new Date((new Date().getTime()) - 86400000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        try {\r\n            metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + day_metrics + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n            if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                for (l in metrics_data.value) {\r\n                    if (\'name\' in metrics_data.value[l] && typeof metrics_data.value[l].name === \'object\' && \'value\' in metrics_data.value[l].name && typeof metrics_data.value[l].name.value === \'string\' && \'timeseries\' in metrics_data.value[l] && Array.isArray(metrics_data.value[l].timeseries) && metrics_data.value[l].timeseries.length > 0 && \'data\' in metrics_data.value[l].timeseries[0] && Array.isArray(metrics_data.value[l].timeseries[0].data) && metrics_data.value[l].timeseries[0].data.length > 0) {\r\n                        data.metrics[metrics_data.value[l].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[l].timeseries[0].data[metrics_data.value[l].timeseries[0].data.length - 1];\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors[day_metrics] = error.toString();\r\n        }\r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','741cc1ec6a824e429f06b3d12a8a7082','AZURE MICROSOFT SQL: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44148','21','','10543','Azure Microsoft SQL: Get data','azure.db.mssql.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureDB = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureDB.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureDB.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureDB.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'cpu_percent\',\r\n    \'physical_data_read_percent\',\r\n    \'log_write_percent\',\r\n    \'storage\',\r\n    \'connection_successful\',\r\n    \'connection_failed\',\r\n    \'blocked_by_firewall\',\r\n    \'deadlock\',\r\n    \'storage_percent\',\r\n    \'xtp_storage_percent\',\r\n    \'workers_percent\',\r\n    \'sessions_percent\',\r\n    \'cpu_limit\',\r\n    \'cpu_used\',\r\n    \'sqlserver_process_core_percent\',\r\n    \'sqlserver_process_memory_percent\',\r\n    \'tempdb_data_size\',\r\n    \'tempdb_log_size\',\r\n    \'tempdb_log_used_percent\',\r\n    \'app_cpu_billed\',\r\n    \'app_cpu_percent\',\r\n    \'app_memory_percent\',\r\n    \'allocated_data_storage\'\r\n],\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureDB.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureDB.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureDB.params.tenant_id) + \'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureDB.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureDB.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureDB.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {\r\n                            data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        }\r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','e1c668773b974deeaf64c0d51d1cb02d','AZURE MICROSOFT SQL: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44149','21','','10544','Azure MySQL: Get data','azure.db.mysql.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureDB = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureDB.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureDB.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureDB.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'cpu_percent\',\r\n    \'memory_percent\',\r\n    \'network_bytes_egress\',\r\n    \'network_bytes_ingress\',\r\n    \'active_connections\',\r\n    \'total_connections\',\r\n    \'aborted_connections\',\r\n    \'Queries\',\r\n    \'io_consumption_percent\',\r\n    \'storage_percent\',\r\n    \'storage_used\',\r\n    \'storage_limit\',\r\n    \'backup_storage_used\',\r\n    \'replication_lag\',\r\n    \'cpu_credits_remaining\',\r\n    \'cpu_credits_consumed\'\r\n],\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureDB.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureDB.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureDB.params.tenant_id) + \'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureDB.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureDB.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureDB.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {\r\n                            data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        } \r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','de712334db1440309fa68f9252d4f9bc','AZURE MYSQL: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44150','21','','10545','Azure MySQL: Get data','azure.db.mysql.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureDB = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureDB.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureDB.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureDB.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'cpu_percent\',\r\n    \'memory_percent\',\r\n    \'io_consumption_percent\',\r\n    \'storage_percent\',\r\n    \'storage_used\',\r\n    \'storage_limit\',\r\n    \'serverlog_storage_percent\',\r\n    \'serverlog_storage_usage\',\r\n    \'serverlog_storage_limit\',\r\n    \'active_connections\',\r\n    \'connections_failed\',\r\n    \'seconds_behind_master\',\r\n    \'backup_storage_used\',\r\n    \'network_bytes_egress\',\r\n    \'network_bytes_ingress\'\r\n],\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureDB.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureDB.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureDB.params.tenant_id) + \'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureDB.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureDB.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureDB.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {\r\n                            data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        } \r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','cd62d92ef0384ea9acf0cae71c88ebc6','AZURE MYSQL: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44151','21','','10546','Azure PostgreSQL: Get data','azure.db.pgsql.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureDB = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureDB.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureDB.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureDB.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'cpu_percent\',\r\n    \'memory_percent\',\r\n    \'iops\',\r\n    \'disk_queue_depth\',\r\n    \'read_throughput\',\r\n    \'write_throughput\',\r\n    \'read_iops\',\r\n    \'write_iops\',\r\n    \'network_bytes_egress\',\r\n    \'network_bytes_ingress\',\r\n    \'active_connections\',\r\n    \'connections_failed\',\r\n    \'connections_succeeded\',\r\n    \'storage_percent\',\r\n    \'storage_used\',\r\n    \'storage_free\',\r\n    \'txlogs_storage_used\',\r\n    \'backup_storage_used\',\r\n    \'maximum_used_transactionIDs\',\r\n    \'cpu_credits_remaining\',\r\n    \'cpu_credits_consumed\'\r\n],\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureDB.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureDB.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureDB.params.tenant_id) + \'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureDB.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureDB.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureDB.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 600000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {\r\n                            if (metrics_data.value[k].name.value === \'disk_queue_depth\' ||\r\n                                metrics_data.value[k].name.value === \'read_throughput\' ||\r\n                                metrics_data.value[k].name.value === \'write_throughput\' ||\r\n                                metrics_data.value[k].name.value === \'read_iops\' ||\r\n                                metrics_data.value[k].name.value === \'write_iops\') {\r\n                                    data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 6];\r\n                            } else {\r\n                                data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        } \r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','1792c0566e8a438dad5e299d8f5b9094','AZURE POSTGRESQL: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44152','21','','10547','Azure PostgreSQL: Get data','azure.db.pgsql.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureDB = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureDB.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureDB.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureDB.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'cpu_percent\',\r\n    \'memory_percent\',\r\n    \'io_consumption_percent\',\r\n    \'storage_percent\',\r\n    \'storage_used\',\r\n    \'storage_limit\',\r\n    \'serverlog_storage_percent\',\r\n    \'serverlog_storage_usage\',\r\n    \'serverlog_storage_limit\',\r\n    \'active_connections\',\r\n    \'connections_failed\',\r\n    \'backup_storage_used\',\r\n    \'network_bytes_egress\',\r\n    \'network_bytes_ingress\',\r\n    \'pg_replica_log_delay_in_seconds\',\r\n    \'pg_replica_log_delay_in_bytes\'\r\n],\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureDB.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureDB.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureDB.params.tenant_id) + \'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureDB.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureDB.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureDB.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureDB.request(\'https://management.azure.com\' + AzureDB.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 0) {\r\n                            data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 1];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        } \r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','e47d863822e64e6292bfa3e684bc2839','AZURE POSTGRESQL: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44153','21','','10548','Azure: Get data','azure.vm.data.get','1m','0d','0','0','4','','','','',NULL,NULL,'var AzureVM = {\r\n    params: {},\r\n    token: null,\r\n\r\n    setParams: function (params) {\r\n        [\'app_id\', \'password\', \'tenant_id\', \'subscription_id\', \'resource_id\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        AzureVM.params = params;\r\n    },\r\n\r\n\r\n    request: function (url, data) {\r\n        if (typeof data === \'undefined\' || data === null) {\r\n            data = \'\';\r\n        }\r\n\r\n        var response, request = new HttpRequest();\r\n            if (AzureVM.token) {\r\n                request.addHeader(\'Accept: application/json\');\r\n                request.addHeader(\'Authorization: Bearer \' + AzureVM.token);\r\n            }\r\n    \r\n        Zabbix.log(4, \'[ Azure ] Sending request: \' + url);\r\n\r\n        if (data !== \'\') {\r\n            request.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n            response = request.post(url, data);\r\n        }\r\n        else {\r\n            response = request.get(url);\r\n        }\r\n\r\n        Zabbix.log(4, \'[ Azure ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n}\r\n\r\n};\r\n\r\nvar metrics = [\r\n    \'Percentage CPU\',\r\n    \'Network In\',\r\n    \'Network Out\',\r\n    \'Disk Read Bytes\',\r\n    \'Disk Write Bytes\',\r\n    \'Disk Read Operations/Sec\',\r\n    \'Disk Write Operations/Sec\',\r\n    \'CPU Credits Remaining\',\r\n    \'CPU Credits Consumed\',\r\n    \'Data Disk Read Bytes/sec\',\r\n    \'Data Disk Write Bytes/sec\',\r\n    \'Data Disk Read Operations/Sec\',\r\n    \'Data Disk Write Operations/Sec\',\r\n    \'Data Disk Queue Depth\',\r\n    \'Data Disk Bandwidth Consumed Percentage\',\r\n    \'Data Disk IOPS Consumed Percentage\',\r\n    \'Data Disk Target Bandwidth\',\r\n    \'Data Disk Target IOPS\',\r\n    \'Data Disk Max Burst Bandwidth\',\r\n    \'Data Disk Max Burst IOPS\',\r\n    \'Data Disk Used Burst BPS Credits Percentage\',\r\n    \'Data Disk Used Burst IO Credits Percentage\',\r\n    \'OS Disk Read Bytes/sec\',\r\n    \'OS Disk Write Bytes/sec\',\r\n    \'OS Disk Read Operations/Sec\',\r\n    \'OS Disk Write Operations/Sec\',\r\n    \'OS Disk Queue Depth\',\r\n    \'OS Disk Bandwidth Consumed Percentage\',\r\n    \'OS Disk IOPS Consumed Percentage\',\r\n    \'OS Disk Target Bandwidth\',\r\n    \'OS Disk Target IOPS\',\r\n    \'OS Disk Max Burst Bandwidth\',\r\n    \'OS Disk Max Burst IOPS\',\r\n    \'OS Disk Used Burst BPS Credits Percentage\',\r\n    \'OS Disk Used Burst IO Credits Percentage\',\r\n    \'Inbound Flows\',\r\n    \'Outbound Flows\',\r\n    \'Inbound Flows Maximum Creation Rate\',\r\n    \'Outbound Flows Maximum Creation Rate\',\r\n    \'Premium Data Disk Cache Read Hit\',\r\n    \'Premium Data Disk Cache Read Miss\',\r\n    \'Premium OS Disk Cache Read Hit\',\r\n    \'Premium OS Disk Cache Read Miss\',\r\n    \'VM Cached Bandwidth Consumed Percentage\',\r\n    \'VM Cached IOPS Consumed Percentage\',\r\n    \'VM Uncached Bandwidth Consumed Percentage\',\r\n    \'VM Uncached IOPS Consumed Percentage\',\r\n    \'Network In Total\',\r\n    \'Network Out Total\',\r\n    \'Available Memory Bytes\'\r\n],\r\n    prepared_metrics = [],\r\n    data = {};\r\n    data[\'errors\'] = {};\r\n    data[\'metrics\'] = {};\r\n\r\ntry {\r\n    AzureVM.setParams(JSON.parse(value));\r\n\r\n    try {\r\n        result = AzureVM.request(\r\n                \'https://login.microsoftonline.com/\' + encodeURIComponent(AzureVM.params.tenant_id) +\'/oauth2/token\',\r\n                \'grant_type=client_credentials&resource=\' + encodeURIComponent(\'https://management.azure.com/\') + \'&client_id=\' + encodeURIComponent(AzureVM.params.app_id) + \'&client_secret=\' + encodeURIComponent(AzureVM.params.password)\r\n        );\r\n\r\n        if (\'access_token\' in result) {\r\n            AzureVM.token = result[\'access_token\'];\r\n        } else {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n    }\r\n    catch (error) {\r\n        data.errors.auth = error.toString();\r\n    }\r\n\r\n    if (!(\'auth\' in data.errors)) {\r\n        try {\r\n            health = AzureVM.request(\'https://management.azure.com\' + AzureVM.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\');\r\n            if (\'value\' in health && Array.isArray(health.value) && health.value.length > 0 && \'properties\' in health.value[0] && typeof health.value[0].properties === \'object\') {\r\n                data.health = health.value[0].properties;\r\n            }\r\n        }\r\n        catch (error) {\r\n            data.errors.health = error.toString();\r\n        }\r\n\r\n        for (var i = 0; i < metrics.length; i += 20) {\r\n            var chunk = metrics.slice(i, i + 20);\r\n\r\n            prepared_metrics.push(\r\n                chunk.map(function(element) {\r\n                    return encodeURIComponent(element);\r\n                }).join(\',\')\r\n            );\r\n        }\r\n\r\n        start_date = new Date((new Date().getTime()) - 300000).toISOString().replace(/\\.\\d+/, \'\');\r\n        end_date = new Date().toISOString().replace(/\\.\\d+/, \'\');\r\n        \r\n        for (var j in prepared_metrics) {\r\n            try {\r\n                metrics_data = AzureVM.request(\'https://management.azure.com\' + AzureVM.params.resource_id + \'/providers/Microsoft.Insights/metrics?metricnames=\' + prepared_metrics[j] + \'&timespan=\' + encodeURIComponent(start_date) + \'/\' + encodeURIComponent(end_date) + \'&api-version=2021-05-01\');\r\n                if (\'value\' in metrics_data && Array.isArray(metrics_data.value) && metrics_data.value.length > 0) {\r\n                    for (k in metrics_data.value) {\r\n                        if (\'name\' in metrics_data.value[k] && typeof metrics_data.value[k].name === \'object\' && \'value\' in metrics_data.value[k].name && typeof metrics_data.value[k].name.value === \'string\' && \'timeseries\' in metrics_data.value[k] && Array.isArray(metrics_data.value[k].timeseries) && metrics_data.value[k].timeseries.length > 0 && \'data\' in metrics_data.value[k].timeseries[0] && Array.isArray(metrics_data.value[k].timeseries[0].data) && metrics_data.value[k].timeseries[0].data.length > 2) {\r\n                            data.metrics[metrics_data.value[k].name.value.replace(/(\\s|\\/)+/g, \'\')] = metrics_data.value[k].timeseries[0].data[metrics_data.value[k].timeseries[0].data.length - 3];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            catch (error) {\r\n                data.errors[prepared_metrics[j]] = error.toString();\r\n            }\r\n        } \r\n    }\r\n}\r\ncatch (error) {\r\n    data.errors.params = error.toString();\r\n}\r\n\r\nif (Object.keys(data.errors).length !== 0) {\r\n    errors = \'Failed to receive data:\';\r\n    for (var error in data.errors) {\r\n        errors += \'\\n\' + error + \' : \' + data.errors[error];\r\n    }\r\n    data.errors = errors;\r\n}\r\nelse {\r\n    data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','cff54514d795495da8bc1152e02631aa','AZURE: GET DATA');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44343','19','','10553','Control-M: Get Control-M servers','controlm.servers','10m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets a list of servers.','0','30d','0','',NULL,'3s','{$API.URI.ENDPOINT}/config/servers','','','200','1','0','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','7d9ed576aeb045798b78414c89f3e597','CONTROL-M: GET CONTROL-M SERVERS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44344','19','','10553','Control-M: Get SLA services','controlm.services','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets all the SLA active services.','0','30d','0','',NULL,'3s','{$API.URI.ENDPOINT}/run/services/sla','','','200','1','0','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','2bd2c27b8dc74656a00f6d2006399388','CONTROL-M: GET SLA SERVICES');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44345','19','','10554','Control-M: Get agents','controlm.agents','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets agents for the server.','0','30d','0','',NULL,'3s','{$API.URI.ENDPOINT}/config/server/{$SERVER.NAME}/agents','','','200','1','0','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','94e45567531543119d6e36b4463684c7','CONTROL-M: GET AGENTS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44346','19','','10554','Control-M: Get jobs','controlm.jobs','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets the status of jobs.','0','30d','0','',NULL,'3s','{$API.URI.ENDPOINT}/run/jobs/status','[{"ctm":"{$SERVER.NAME}"}]','','200','1','0','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','1f60be3e3fe543d697047ffcad7b0a7f','CONTROL-M: GET JOBS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44347','19','','10554','Control-M: Get Control-M server stats','controlm.server.stats','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Gets the statistics of the server.','0','30d','0','',NULL,'3s','{$API.URI.ENDPOINT}/config/servers','','','200','1','0','x-api-key: {$API.TOKEN}','0','0','0','0','0','0','0','67ca527f452b43aab2e3171e49f96194','CONTROL-M: GET CONTROL-M SERVER STATS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44384','21','','10556','Veeam: Get metrics','veeam.get.metrics','5m','0d','0','0','4','','','','',NULL,NULL,'var Veeam = {\r\n    params: {},\r\n    token: \'\',\r\n\r\n    setParams: function (params) {\r\n        [\'api_endpoint\', \'user\', \'password\', \'created_after\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        Veeam.params = params;\r\n        if (typeof Veeam.params.api_endpoint === \'string\' && !Veeam.params.api_endpoint.endsWith(\'/\')) {\r\n            Veeam.params.api_endpoint += \'/\';\r\n        }\r\n        if (Veeam.params.created_after >= 365 || Veeam.params.created_after <= 1) {\r\n            throw \'Incorrect "created_after" parameter given: \' + Veeam.params.created_after + \'\\nMust be between 1 and 365 days.\';\r\n        }\r\n    },\r\n\r\n    login: function () {\r\n\r\n        var resp, login = new HttpRequest();\r\n        if (typeof Veeam.params.http_proxy !== \'undefined\' && Veeam.params.http_proxy !== \'\') {\r\n            login.setProxy(Veeam.params.http_proxy);\r\n        }\r\n        login.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n        login.addHeader(\'x-api-version: 1.0-rev2\');\r\n        resp = login.post(Veeam.params.api_endpoint+ \'api/oauth2/token\', \r\n        \'grant_type=password&username=\' + encodeURIComponent(Veeam.params.user) + \'&password=\'+ encodeURIComponent(Veeam.params.password));\r\n\r\n        if (login.getStatus() !== 200 || resp === null) {\r\n            throw \'Login failed with status code \' + login.getStatus() + \': \' + resp;\r\n        }\r\n\r\n        try {\r\n            resp =  JSON.parse(resp);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse authentication token for the logon session.\'; \r\n        }\r\n        if (!resp.hasOwnProperty(\'access_token\')) {\r\n            throw \'Auth response does not contain access token.\';\r\n        }\r\n        Veeam.token = resp[\'access_token\']\r\n\r\n    },\r\n\r\n    request: function (url) {\r\n  \r\n        var response, request = new HttpRequest();\r\n        if (typeof Veeam.params.http_proxy !== \'undefined\' && Veeam.params.http_proxy !== \'\') {\r\n            request.setProxy(Veeam.params.http_proxy);\r\n        }\r\n        if (Veeam.token) {\r\n            request.addHeader(\'Authorization: Bearer \' + Veeam.token);\r\n            request.addHeader(\'x-api-version: 1.0-rev2\');\r\n            response = request.get(url);\r\n        }\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        } \r\n    },\r\n\r\n    getMetricsData: function() {\r\n        var data = {};\r\n        ms = 86400000;\r\n        start_date = new Date((new Date().getTime()) - ms * Veeam.params.created_after).toISOString().replace(/\\.\\d+/, \'\');\r\n        endpoints = {\r\n            \'proxies\': \'api/v1/backupInfrastructure/proxies\',\r\n            \'repositories\': \'api/v1/backupInfrastructure/repositories\',\r\n            \'managedServers\': \'api/v1/backupInfrastructure/managedServers\',\r\n            \'repositories_states\': \'api/v1/backupInfrastructure/repositories/states\',\r\n            \'services\': \'api/v1/services\',\r\n            \'jobs_states\': \'api/v1/jobs/states\',\r\n            \'backups\': \'api/v1/backups\',\r\n            \'backupObjects\': \'api/v1/backupObjects\',\r\n            \'objectRestorePoints\': \'api/v1/objectRestorePoints\',\r\n            \'sessions\': \'api/v1/sessions?createdAfterFilter=\' + encodeURIComponent(start_date)\r\n        };\r\n\r\n        Object.keys(endpoints).forEach(function (key) {\r\n            data[key] = Veeam.request(Veeam.params.api_endpoint + endpoints[key]);\r\n        });\r\n\r\n        return data;\r\n    }\r\n};\r\n\r\ntry {\r\n    Veeam.setParams(JSON.parse(value));\r\n    Veeam.login();\r\n    return JSON.stringify(Veeam.getMetricsData());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ VEEAM ] ERROR: \' + error);\r\n    return JSON.stringify({\'error\': error});\r\n}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$VEEAM.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','f8ef587e6d204e7da6e27e56b1131ca4','VEEAM: GET METRICS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44406','21','','10557','Veeam Manager: Get metrics','veeam.manager.get.metrics','5m','0d','0','0','4','','','','',NULL,NULL,'var Veeam = {\r\n    params: {},\r\n\r\n    setParams: function (params) {\r\n        [\'api_endpoint\', \'user\', \'password\'].forEach(function (field) {\r\n            if (typeof params !== \'object\' || typeof params[field] === \'undefined\' || params[field] === \'\') {\r\n                throw \'Required param is not set: \' + field + \'.\';\r\n            }\r\n        });\r\n\r\n        Veeam.params = params;\r\n        if (typeof Veeam.params.api_endpoint === \'string\' && !Veeam.params.api_endpoint.endsWith(\'/\')) {\r\n            Veeam.params.api_endpoint += \'/\';\r\n        }\r\n    },\r\n\r\n    request: function (url) {\r\n        var response, request = new HttpRequest();\r\n        if (typeof Veeam.params.http_proxy !== \'undefined\' && Veeam.params.http_proxy !== \'\') {\r\n            request.setProxy(Veeam.params.http_proxy);\r\n        }\r\n        request.addHeader(\'Accept: application/json\');\r\n        request.addHeader(\'Authorization: Basic \' + btoa(Veeam.params.user + \':\' + Veeam.params.password));\r\n        request.post(Veeam.params.api_endpoint + \'api/sessionMngr\');\r\n        response = request.get(url);\r\n        if (request.getStatus() !== 200 || response === null) {\r\n            throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n        }\r\n        try {\r\n            return JSON.parse(response);\r\n        }\r\n        catch (error) {\r\n            throw \'Failed to parse response received from API.\';\r\n        }\r\n    },\r\n\r\n    getMetricsData: function() {\r\n        var data = {};\r\n        endpoints = {\r\n            \'backupFiles\': \'api/backupFiles\',\r\n        };\r\n        reports_summary = Veeam.request(Veeam.params.api_endpoint + \'api/reports/summary\')\r\n        if (typeof reports_summary !== \'object\' || reports_summary.hasOwnProperty(\'Links\') === false)\r\n            throw \'Failed response parse. Check debug log for more information.\';\r\n        reports_summary.Links.forEach(function (field)  {\r\n                data[field.Name] = Veeam.request(field.Href)\r\n            })\r\n        Object.keys(endpoints).forEach(function (key) {\r\n            data[key] = Veeam.request(Veeam.params.api_endpoint + endpoints[key]);\r\n            if (typeof data[key] !== \'object\' || data[key].hasOwnProperty(\'Refs\') === false)\r\n                throw \'Failed response parse. Check debug log for more information.\';\r\n            data[key].Refs.forEach(function (field) {\r\n                data[field.Name] = Veeam.request(field.Href)\r\n            })\r\n        \r\n        })\r\n        return data;\r\n    }\r\n\r\n};  \r\ntry {\r\n    Veeam.setParams(JSON.parse(value));\r\n    return JSON.stringify(Veeam.getMetricsData());\r\n}\r\ncatch (error) {\r\n    error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n    Zabbix.log(3, \'[ VEEAM MANAGER ] ERROR: \' + error);\r\n    return JSON.stringify({\'error\': error});\r\n}','','0','','','','','0',NULL,'The result of API requests is expressed in the JSON.','0','30d','0','',NULL,'{$VEEAM.MANAGER.DATA.TIMEOUT}','','','','200','1','0','','0','0','0','0','0','0','0','525a61ff4fb747efab6ac58d1ac8b7c4','VEEAM MANAGER: GET METRICS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44420','0','','10335','Archivelog \'{#DEST_NAME}\': Get archive log info','oracle.archive.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DEST_NAME}"]','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'It gets the archivelog statistics.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','1ad93880e4314d68b9e1aa4e00f03b6e','ARCHIVELOG \'{#DEST_NAME}\': GET ARCHIVE LOG INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44421','0','','10335','Oracle Database \'{#DBNAME}\': Get CDB and No-CDB info','oracle.cdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'It gets the information about the container database (CDB) and non-CDB database on an instance.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','1bad65e85d8b482d9cd83b1d202f8d8c','ORACLE DATABASE \'{#DBNAME}\': GET CDB AND NO-CDB INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44422','0','','10335','ASM \'{#DGNAME}\': Get ASM stats','oracle.diskgroups.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DGNAME}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'It gets the ASM disk group statistics.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','cb703b07fc514ce5aedc561896bcd53f','ASM \'{#DGNAME}\': GET ASM STATS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44423','0','','10335','Oracle Database \'{#DBNAME}\': Get PDB info','oracle.pdb.info["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#DBNAME}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'It gets the information about the PDB database on an instance.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','ca4452418d2641bd87fa75e946c2bf98','ORACLE DATABASE \'{#DBNAME}\': GET PDB INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44424','0','','10335','Oracle TBS \'{#TABLESPACE}\': Get tablespaces stats','oracle.ts.stats["{$ORACLE.CONNSTRING}","{$ORACLE.USER}","{$ORACLE.PASSWORD}","{$ORACLE.SERVICE}","{#TABLESPACE}","{#CONTENTS}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'It gets the statistics of the tablespace.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','97ac4acedcde465b8d004a8ac476dd99','ORACLE TBS \'{#TABLESPACE}\': GET TABLESPACES STATS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44443','11','','10328','Archivelog \'{#DEST_NAME}\': Get archive log info','db.odbc.get[get_archivelog_{#DEST_NAME}_stat,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','5m','0','0','0','4','','','','',NULL,NULL,'SELECT\r\nd.dest_name, DECODE (d.status, \'VALID\',3, \'DEFERRED\', 2, \'ERROR\', 1, 0) AS status,\r\nd.log_sequence,\r\nd.error\r\nFROM v$archive_dest d , v$database db\r\nWHERE d.dest_name = \'{#DEST_NAME}\' AND d.status != \'INACTIVE\' AND db.log_mode = \'ARCHIVELOG\';','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','2',NULL,'It gets the archivelog statistics.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','1a6e01f90dca47459975632c14ce5a39','ARCHIVELOG \'{#DEST_NAME}\': GET ARCHIVE LOG INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44444','11','','10328','ASM \'{#DGNAME}\': Get ASM stats','db.odbc.get[get_asm_{#DGNAME}_stat,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT\r\nname AS dgname,\r\nROUND(total_mb / DECODE(TYPE, \'NORMAL\', 2, \'HIGH\', 3, \'EXTERN\', 1)*1024*1024) AS size_byte,\r\nROUND(usable_file_mb*1024*1024 ) AS free_size_byte,\r\nROUND(100-(usable_file_mb /(total_mb / DECODE(TYPE, \'NORMAL\', 2, \'HIGH\', 3, \'EXTERN\', 1)))* 100, 2) AS used_percent\r\nFROM v$asm_diskgroup\r\nWHERE name = \'{#DGNAME}\';','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','2',NULL,'It gets the ASM disk group statistics.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','63fad55a2ced487aa30017b33bf1692e','ASM \'{#DGNAME}\': GET ASM STATS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44445','11','','10328','Oracle Database \'{#DBNAME}\': Get CDB and No-CDB info','db.odbc.get[get_cdb_{#DBNAME}_info,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT name as DBNAME,\r\nDECODE(open_mode, \'MOUNTED\', 1, \'READ ONLY\', 2, \'READ WRITE\', 3, \'READ ONLY WITH APPLY\', 4, \'MIGRATE\', 5, 0) AS open_mode,\r\nDECODE(database_role, \'SNAPSHOT STANDBY\', 1, \'LOGICAL STANDBY\', 2, \'PHYSICAL STANDBY\', 3, \'PRIMARY\', 4, \'FAR SYNC\', 5, 0) AS ROLE,\r\nDECODE(force_logging, \'YES\',1,\'NO\',0,0) AS force_logging,\r\nDECODE(log_mode, \'MANUAL\',2 ,\'ARCHIVELOG\',1,\'NOARCHIVELOG\',0,0) AS log_mode\r\nFROM v$database\r\nWHERE name = \'{#DBNAME}\';','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','2',NULL,'It gets the information about the container database (CDB) and non-CDB database on an instance.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','5de7c786988d49d0b50f28d2d622db62','ORACLE DATABASE \'{#DBNAME}\': GET CDB AND NO-CDB INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44446','11','','10328','Oracle Database \'{#DBNAME}\': Get PDB info','db.odbc.get[get_pdb_{#DBNAME}_info,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT\r\nname as DBNAME,\r\nDECODE(open_mode, \'MOUNTED\', 1, \'READ ONLY\', 2, \'READ WRITE\', 3, \'READ ONLY WITH APPLY\', 4, \'MIGRATE\', 5, 0) AS open_mode\r\nFROM v$pdbs\r\nWHERE name = \'{#DBNAME}\';','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','2',NULL,'It gets the information about the PDB database on an instance.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','cedcebd0b7ce474c9681022fcc75df1c','ORACLE DATABASE \'{#DBNAME}\': GET PDB INFO');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44447','11','','10328','Oracle TBS \'{#TABLESPACE}\': Get tablespaces stats','db.odbc.get[get_tablespace_{#TABLESPACE}_stats,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"]','1m','0','0','0','4','','','','',NULL,NULL,'SELECT df.tablespace_name                                                                         AS TABLESPACE,\r\n       df.type                                                                                    AS TYPE,\r\n       NVL(SUM(df.BYTES), 0)                                                                      AS FILE_BYTES,\r\n       NVL(SUM(df.MAX_BYTES), 0)                                                                  AS MAX_BYTES,\r\n       NVL(SUM(f.FREE), 0)                                                                        AS FREE_BYTES,\r\n       SUM(df.BYTES) - SUM(f.FREE)                                                                AS USED_BYTES,\r\n       ROUND(DECODE(SUM(df.MAX_BYTES), 0, 0, (SUM(df.BYTES) / SUM(df.MAX_BYTES) * 100)), 2)       AS USED_PCT_MAX,\r\n       ROUND(DECODE(SUM(df.BYTES), 0, 0, (SUM(df.BYTES) - SUM(f.FREE)) / SUM(df.BYTES) * 100), 2) AS USED_FILE_PCT,\r\n       DECODE(df.STATUS, \'ONLINE\', 1, \'OFFLINE\', 2, \'READ ONLY\', 3, 0)                            AS STATUS\r\nFROM (SELECT ddf.file_id,\r\n             dt.contents                              AS TYPE,\r\n             dt.STATUS,\r\n             ddf.file_name,\r\n             ddf.tablespace_name,\r\n             TRUNC(ddf.bytes)                         AS bytes,\r\n             TRUNC(GREATEST(ddf.bytes, ddf.maxbytes)) AS max_bytes\r\n      FROM dba_data_files ddf,\r\n           dba_tablespaces dt\r\n      WHERE ddf.tablespace_name = \'{#TABLESPACE}\'\r\n          AND dt.contents = \'{#CONTENTS}\'\r\n      ) df,\r\n     (SELECT TRUNC(SUM(bytes)) AS FREE, file_id\r\n      FROM dba_free_space\r\n      GROUP BY file_id) f\r\nWHERE df.file_id = f.file_id (+)\r\nGROUP BY df.tablespace_name, df.TYPE, df.status\r\nUNION ALL\r\nSELECT Y.name                                                                                        AS TABLESPACE,\r\n       Y.type                                                                                        AS TYPE,\r\n       NVL(SUM(Y.BYTES), 0)                                                                          AS FILE_BYTES,\r\n       NVL(SUM(Y.MAX_BYTES), 0)                                                                      AS MAX_BYTES,\r\n       NVL(MAX(NVL(Y.FREE_BYTES, 0)), 0)                                                             AS FREE,\r\n       SUM(Y.BYTES) - MAX(Y.FREE_BYTES)                                                              AS USED_BYTES,\r\n       ROUND(DECODE(SUM(Y.MAX_BYTES), 0, 0, (SUM(Y.BYTES) / SUM(Y.MAX_BYTES) * 100)), 2)             AS USED_PCT_MAX,\r\n       ROUND(DECODE(SUM(Y.BYTES), 0, 0, (SUM(Y.BYTES) - MAX(Y.FREE_BYTES)) / SUM(Y.BYTES) * 100), 2) AS USED_FILE_PCT,\r\n       DECODE(Y.TBS_STATUS, \'ONLINE\', 1, \'OFFLINE\', 2, \'READ ONLY\', 3, 0)                            AS STATUS\r\nFROM (SELECT dtf.tablespace_name                             AS name,\r\n             dt.contents                                     AS TYPE,\r\n             dt.STATUS                                       AS tbs_status,\r\n             dtf.status                                      AS status,\r\n             dtf.bytes                                       AS bytes,\r\n             (SELECT ((f.total_blocks - s.tot_used_blocks) * vp.value)\r\n              FROM (SELECT tablespace_name, SUM(used_blocks) tot_used_blocks\r\n                    FROM gv$sort_segment\r\n                    WHERE tablespace_name != \'DUMMY\'\r\n                    GROUP BY tablespace_name) s,\r\n                   (SELECT tablespace_name, SUM(blocks) total_blocks\r\n                    FROM dba_temp_files\r\n                    WHERE tablespace_name != \'DUMMY\'\r\n                    GROUP BY tablespace_name) f,\r\n                   (SELECT value FROM v$parameter WHERE name = \'db_block_size\') vp\r\n              WHERE f.tablespace_name = s.tablespace_name\r\n                AND f.tablespace_name = dtf.tablespace_name) AS free_bytes,\r\n             CASE\r\n                 WHEN dtf.maxbytes = 0 THEN dtf.bytes\r\n                 ELSE dtf.maxbytes END                       AS max_bytes\r\n      FROM sys.dba_temp_files dtf,\r\n           sys.dba_tablespaces dt\r\n      WHERE dtf.tablespace_name = \'{#TABLESPACE}\'\r\n          AND dt.contents = \'{#CONTENTS}\'\r\n      ) Y\r\nGROUP BY Y.name, Y.TYPE, Y.tbs_status;','','0','{$ORACLE.USER}','{$ORACLE.PASSWORD}','','','2',NULL,'It gets the statistics of the tablespace.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','972be2e777e44c539d0ddd7918b79e88','ORACLE TBS \'{#TABLESPACE}\': GET TABLESPACES STATS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44466','3','','10558','ICMP ping','icmpping','1m','7d','365d','0','3','','','','',NULL,'1061','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','8eff7e6fc12c45f6b98a4fb89c44f03d','ICMP PING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44467','3','','10558','ICMP loss','icmppingloss','1m','7d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','cb04f67d7ea04894a9f143a7d27db09a','ICMP LOSS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44468','3','','10558','ICMP response time','icmppingsec','1m','7d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','be862a0f8625484ebccb8a4e5255b683','ICMP RESPONSE TIME');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44469','17','','10558','SNMP traps (fallback)','snmptrap.fallback','1m','7d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all the SNMP traps unmatched by the other snmptrap items.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','027bb218006e46238392afbb12d96ec6','SNMP TRAPS (FALLBACK)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44470','20','1.3.6.1.2.1.1.4.0','10558','System contact details','system.contact','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.\r\nThe textual identification of the contact person for the managed node (or: this node), together with the contact information of this person. If no contact information is known, the value is a zero-length string.','23','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','566c78f548bc4d1c9157b4a3f41f083b','SYSTEM CONTACT DETAILS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44471','20','1.3.6.1.2.1.1.1.0','10558','System description','system.descr','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.\r\nThe textual description of the entity. This value should include the full name and version identification number of the system\'s hardware type, software operating-system, and the networking software.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','bc245084de0047aaa7bc62234970e827','SYSTEM DESCRIPTION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44472','20','1.3.6.1.2.1.47.1.1.1.1.13.149','10558','Hardware model name','system.hw.model','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB.','29','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','34022f907faa4a3e8a02c5e5f5c8c43a','HARDWARE MODEL NAME');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44473','20','1.3.6.1.2.1.47.1.1.1.1.11.149','10558','Hardware serial number','system.hw.serialnumber','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: ENTITY-MIB.','8','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','9d42a842c591489bb984faad26cd7e63','HARDWARE SERIAL NUMBER');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44474','20','1.3.6.1.2.1.1.6.0','10558','System location','system.location','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.\r\nThe physical location of this node (e.g., telephone closet, the third floor).\r\nIf the location is unknown, the value is a zero-length string.','24','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','5f109dce62c942f794fecaf7038d691e','SYSTEM LOCATION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44475','20','1.3.6.1.2.1.1.5.0','10558','System name','system.name','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.\r\nThe administratively-assigned name for this node. By convention, this is the node\'s fully-qualified domain name. If the name is unknown, the value is a zero-length string.','3','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','31ff1ef55d69461bbc5b4416c7a040be','SYSTEM NAME');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44476','20','1.3.6.1.2.1.1.2.0','10558','System object ID','system.objectid','1m','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB.\r\nThe vendor\'s authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprise\'s subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining "what kind of box" is being managed.\r\nFor example, if the vendor "Flintstones, Inc." was assigned the subtree 1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its "Fred Router".','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','a60cce9cf0464d6292d6b7934e9cfcd6','SYSTEM OBJECT ID');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44477','20','1.3.6.1.4.1.9.9.25.1.1.1.2.5','10558','Operating system','system.sw.os','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: CISCO-IMAGE-MIB','5','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','e02a0a8de70547e4895b395b616919dd','OPERATING SYSTEM');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44478','20','1.3.6.1.6.3.10.2.1.3.0','10558','Uptime (snmp)','system.uptime','1m','7d','0d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMP-FRAMEWORK-MIB::snmpEngineTime.\r\nThe number of seconds since the value of the `snmpEngineBoots` object has had a last change.\r\nWhen incrementing this object\'s value would cause it to exceed its maximum, the `snmpEngineBoots` is incremented as if a re-initialization had occurred,\r\nand this object\'s value consequently reverts to zero.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','83405503b84d4af292e6846ccbd8a877','UPTIME (SNMP)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44479','5','','10558','SNMP agent availability','zabbix[host,snmp,available]','1m','7d','365d','0','3','','','','',NULL,'1062','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','edb1d93d5fda47928dcb62223ada8b16','SNMP AGENT AVAILABILITY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44480','20','discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.109.1.1.1.1.2]','10558','CPU discovery','cpu.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'You must use CISCO-PROCESS-MIB and its object `cpmCPUTotal5minRev` from the table called `cpmCPUTotalTable`, and indexed with `cpmCPUTotalPhysicalIndex`.\r\nThe table `cpmCPUTotalTable` allows CISCO-PROCESS-MIB to keep the CPU statistics for different physical entities in the router, such as different CPU chips, a group of CPUs, or CPUs in different modules/cards.\r\nIn the case of a single CPU, the `cpmCPUTotalTable` has only one entry.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','d1d6b8c10e83484e82e37b58c7004d9e','CPU DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44481','20','discovery[{#ENT_CLASS},1.3.6.1.2.1.47.1.1.1.1.5,{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7,{#ENT_SN},1.3.6.1.2.1.47.1.1.1.1.11]','10558','Entity serial numbers discovery','entity_sn.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of serial numbers of the entities from ENTITY-MIB.','0','30d','1','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','b0c97bd2037f405ba2b183456d01973e','ENTITY SERIAL NUMBERS DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44482','20','discovery[{#SNMPVALUE},1.3.6.1.2.1.47.1.1.1.1.7]','10558','Fan status discovery','fan.status.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of metrics for the fan\'s status from ENTITY-MIB and CISCO-ENTITY-FRU-CONTROL-MIB.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','a323e6f090e043058e2e932ed2456cba','FAN STATUS DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44483','20','discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.221.1.1.1.1.3]','10558','Memory discovery','memory.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of `ciscoMemoryPoolTable` - the table that contains monitoring entries of the memory pool.\r\nFor more details see "How to Get Free and Largest Block of Contiguous Memory Using SNMP":\r\nhttp://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','2714f855584347329b2f175a85198f80','MEMORY DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44484','20','discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]','10558','Network interfaces discovery','net.if.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of interfaces from IF-MIB.','0','30d','1','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','cd6bc93993e44b61aca57f0486e61756','NETWORK INTERFACES DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44485','20','discovery[{#SNMPVALUE},1.3.6.1.2.1.10.7.2.1.19,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2]','10558','EtherLike discovery','net.if.duplex.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of interfaces from IF-MIB and EtherLike-MIB. The interfaces that have up (1) operational status are discovered.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','73133517383046b58c8039363a907fe4','ETHERLIKE DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44486','20','discovery[{#SNMPVALUE},1.3.6.1.2.1.47.1.1.1.1.7]','10558','PSU discovery','psu.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of power supplies from ENTITY-MIB and CISCO-ENTITY-FRU-CONTROL-MIB.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','8a6f70d8eaa94e1dbd45f199c231d770','PSU DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44487','20','discovery[{#SENSOR_TYPE},1.3.6.1.4.1.9.9.91.1.1.1.1.1,{#SENSOR_SCALE},1.3.6.1.4.1.9.9.91.1.1.1.1.2,{#SNMPVALUE},1.3.6.1.2.1.47.1.1.1.1.7]','10558','Temperature sensors discovery','temperature.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of temperature sensors from CISCO-ENTITY-SENSOR-MIB and ENTITY-MIB. The sensors that have celsius (8) `entSensorType` are discovered. The scale of gathered values is taken from the `entSensorScale` and applied in item preprocessing.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','bb7d48018f8044ec9bb4fd20d6c52106','TEMPERATURE SENSORS DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44488','20','1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}','10558','#{#SNMPINDEX}: CPU utilization','system.cpu.util[{#SNMPINDEX}]','5m','7d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: CISCO-PROCESS-MIB\r\nThe object name: `cpmCPUTotal5minRev`\r\n\r\nThe MIB object `cpmCPUTotal5minRev` provides a more accurate view of the performance of the router over time than the MIB objects `cpmCPUTotal1minRev` and `cpmCPUTotal5secRev`. These MIB objects are not accurate because they look at the CPU with an interval of one minute and five seconds, respectively. These MIBs enable to monitor the trends and plan the capacity of your network. The recommended baseline rising threshold for the `cpmCPUTotal5minRev` is 90 percent. Depending on the platform, some routers that run at 90 percent, for example, 2500 series can exhibit performance degradation versus a high-end router, for example, the 7500 series, which can operate fine.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','0196f6b4431b4823860b89c712b2e5a8','#{#SNMPINDEX}: CPU UTILIZATION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44489','20','1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}','10558','{#ENT_NAME}: Hardware serial number','system.hw.serialnumber[{#SNMPINDEX}]','1h','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: ENTITY-MIB.\r\nThe object name: `entPhysicalSerialNum`.\r\nThe vendor-specific serial number string for the physical entity. The preferred value is the serial number string actually printed on the component itself (if present).','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','873d648619bf45168d8008ea32596838','{#ENT_NAME}: HARDWARE SERIAL NUMBER');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44490','20','1.3.6.1.4.1.9.9.117.1.4.1.1.1.{#SNMPINDEX}','10558','{#SNMPVALUE}: Fan operational status','sensor.fan.status[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,'1055','','','0','','','','','2',NULL,'MIB: CISCO-ENTITY-FRU-CONTROL-MIB.\r\nThe object name: `cefcFanTrayOperStatus`.\r\nThe operational state of the fan or a fan tray.\r\nPossible values:\r\n-  unknown (1) - unknown;\r\n-  up (2) - powered on;\r\n-  down (3) - powered down;\r\n-  warning (4) - partial failure; needs replacement as soon as possible.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','16047f29242444f284e81f6b87a22c50','{#SNMPVALUE}: FAN OPERATIONAL STATUS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44491','20','1.3.6.1.4.1.9.9.221.1.1.1.1.8.{#SNMPINDEX}','10558','{#SNMPVALUE}: Free memory','vm.memory.free[{#SNMPINDEX}]','1m','7d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: CISCO-ENHANCED-MEMPOOL-MIB.\r\nThe object name: `cempMemPoolFree`.\r\nIt indicates the number of bytes from the memory pool that are currently unused on the physical entity.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','566a28e0151f4e54a8dd7fceae39ffab','{#SNMPVALUE}: FREE MEMORY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44492','20','1.3.6.1.4.1.9.9.221.1.1.1.1.7.{#SNMPINDEX}','10558','{#SNMPVALUE}: Used memory','vm.memory.used[{#SNMPINDEX}]','1m','7d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: CISCO-ENHANCED-MEMPOOL-MIB.\r\nThe object name: `cempMemPoolUsed`.\r\nIt indicates the number of bytes from the memory pool that are currently in use by applications on the physical entity.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','e1d336ee79b6448ea9d6a28107314a42','{#SNMPVALUE}: USED MEMORY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44493','15','','10558','{#SNMPVALUE}: Memory utilization','vm.memory.util[{#SNMPINDEX}]','1m','7d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.used[{#SNMPINDEX}])/(last(//vm.memory.free[{#SNMPINDEX}])+last(//vm.memory.used[{#SNMPINDEX}]))*100','','0','','','','','2',NULL,'The memory utilization expressed in %.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','a56f71ab5bc64aa8884dc540baefe91a','{#SNMPVALUE}: MEMORY UTILIZATION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44494','20','1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded','net.if.in.discards[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nThe 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.\r\nOne possible reason for discarding such a packet could be the necessity to free up the buffer space.\r\nDiscontinuities 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 the ifCounterDiscontinuityTime.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','ad58c092ed604092a06ba518779c3294','INTERFACE {#IFNAME}({#IFALIAS}): INBOUND PACKETS DISCARDED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44495','20','1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors','net.if.in.errors[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nFor packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.\r\nFor 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.\r\nDiscontinuities 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 the ifCounterDiscontinuityTime.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','cbf3ec76d241416caf812eccdf91ec1b','INTERFACE {#IFNAME}({#IFALIAS}): INBOUND PACKETS WITH ERRORS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44496','20','1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Bits received','net.if.in[{#SNMPINDEX}]','1m','7d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nThe total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets.\r\nDiscontinuities 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 the ifCounterDiscontinuityTime.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','7bce2682f482489c8c27aafc9ddcb205','INTERFACE {#IFNAME}({#IFALIAS}): BITS RECEIVED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44497','20','1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded','net.if.out.discards[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nThe 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.\r\nOne possible reason for discarding such a packet could be to free up buffer space.\r\nDiscontinuities 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 the ifCounterDiscontinuityTime.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','4751c9b0380d465799b013906e404e14','INTERFACE {#IFNAME}({#IFALIAS}): OUTBOUND PACKETS DISCARDED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44498','20','1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors','net.if.out.errors[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nFor packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.\r\nFor 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.\r\nDiscontinuities 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 the ifCounterDiscontinuityTime.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','36185d5b8239434ba2c85706cd890148','INTERFACE {#IFNAME}({#IFALIAS}): OUTBOUND PACKETS WITH ERRORS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44499','20','1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Bits sent','net.if.out[{#SNMPINDEX}]','1m','7d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nThe total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of the ifOutOctets.\r\nDiscontinuities 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 the ifCounterDiscontinuityTime.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','669337baef364a46bc8ad34bd4c97494','INTERFACE {#IFNAME}({#IFALIAS}): BITS SENT');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44500','20','1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Speed','net.if.speed[{#SNMPINDEX}]','1m','7d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nAn 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 from n-500,000 to n+499,999.\r\nFor the interfaces, which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.\r\nFor a sub-layer, which has no concept of bandwidth, this object should be zero.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','2d7507061f1e49debfbbd78e5e666a13','INTERFACE {#IFNAME}({#IFALIAS}): SPEED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44501','20','1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Operational status','net.if.status[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,'1059','','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nThe current operational state of the interface:\r\n-  The testing (3) state indicates that no operational packet scan be passed.\r\n-  If ifAdminStatus is down (2), then ifOperStatus should be down (2).\r\n-  If ifAdminStatus is changed to up (1), then ifOperStatus should change to up (1), provided the interface is ready to transmit and receive network traffic.\r\n-  It should change to dormant (5) if the interface is waiting for external actions, such as a serial line waiting for an incoming connection.\r\n-  It should remain in the down (2) state if and only when there is a fault that prevents it from going to the up (1) state.\r\n-  It should remain in the notPresent (6) state if the interface has missing components (typically, hardware).','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','07cf5068d5584affa0b35aea5f63e17c','INTERFACE {#IFNAME}({#IFALIAS}): OPERATIONAL STATUS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44502','20','1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Interface type','net.if.type[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,'1060','','','0','','','','','2',NULL,'MIB: IF-MIB.\r\nThe type of an interface.\r\nAdditional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA)\r\nthrough updating the syntax of the IANAifType textual convention.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','f2353404b957494683ade2d0c0a24e05','INTERFACE {#IFNAME}({#IFALIAS}): INTERFACE TYPE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44503','20','1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}','10558','Interface {#IFNAME}({#IFALIAS}): Duplex status','net.if.duplex[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,'1058','','','0','','','','','2',NULL,'MIB: EtherLike-MIB.\r\nThe object name: dot3StatsDuplexStatus.\r\nThe current mode of operation of the MAC entity \'unknown\' indicates that the current duplex mode could not be determined.\r\nThe management control of the duplex mode is accomplished through the MAU MIB. \r\nWhen the interface does not support autonegotiation, or when autonegotiation is not enabled, the duplex mode is controlled using ifMauDefaultType.\r\nWhen autonegotiation is supported and enabled, duplex mode is controlled using ifMauAutoNegAdvertisedBits.\r\nIn either case, the currently operating duplex mode is reflected in both: in this object and in ifMauType.\r\nNote that this object provides redundant information with ifMauType.\r\nNormally, redundant objects are discouraged. \r\nHowever, in this instance, it allows the management application to determine the duplex status of an interface without having to know every possible value of ifMauType.\r\nThis was felt to be sufficiently valuable to justify the redundancy.\r\nFor the reference see: [IEEE 802.3 Std.], 30.3.1.1.32, aDuplexStatus.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','17792bed5be34b21a4c8a4069374d7f7','INTERFACE {#IFNAME}({#IFALIAS}): DUPLEX STATUS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44504','20','1.3.6.1.4.1.9.9.117.1.1.2.1.2.{#SNMPINDEX}','10558','{#SNMPVALUE}: Power supply status','sensor.psu.status[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,'1056','','','0','','','','','2',NULL,'MIB: CISCO-ENTITY-FRU-CONTROL-MIB.\r\nThe object name: cefcFRUPowerOperStatus.\r\nThe Operational field-replaceable unit (FRU) Status types.\r\nThe valid values are:\r\n-  offEnvOther (1): FRU is powered off because of a problem not listed below;\r\n-  on (2): FRU is powered on;\r\n-  offAdmin (3): administratively off;\r\n-  offDenied (4): FRU is powered off because available system power is insufficient;\r\n-  offEnvPower (5): FRU is powered off because of a power problem in the FRU. For example, the FRU\'s power translation (DC-DC converter) or distribution failed;\r\n-  offEnvTemp (6): FRU is powered off because of temperature problem;\r\n-  offEnvFan (7): FRU is powered off because of fan problems;\r\n-  failed (8): FRU is in failed state;\r\n-  onButFanFail (9): FRU is on but fan has failed;\r\n-  offCooling (10): FRU is powered off because of the system\'s insufficient cooling capacity;\r\n-  offConnectorRating (11): FRU is powered off because of the system\'s connector rating exceeded;\r\n-  onButInlinePowerFail (12): The FRU is on but no inline power is being delivered as the data/inline power component of the FRU has failed.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','8a083945d7e244099095b022169de86c','{#SNMPVALUE}: POWER SUPPLY STATUS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44505','20','1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}','10558','{#SNMPVALUE}: Temperature sensor status','sensor.temp.status[{#SNMPINDEX}]','1m','7d','365d','0','3','','','','',NULL,'1057','','','0','','','','','2',NULL,'MIB: CISCO-ENTITY-SENSOR-MIB.\r\nThe object name: entSensorStatus.\r\nThis variable indicates the present operational status of the sensor.\r\nPossible values:\r\n-  ok (1): means the agent can read the sensor value;\r\n-  unavailable (2): means that the agent presently can not report the sensor value;\r\n-  nonoperational (3) means that the agent believes the sensor is broken. The sensor could have a hard failure (e.g., disconnected wire), or a soft failure (e.g., out-of-range, jittery, or wildly fluctuating readings).','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','d4e13b5e26164a2ca240bfb93fdd9b77','{#SNMPVALUE}: TEMPERATURE SENSOR STATUS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('44506','20','1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}','10558','{#SNMPVALUE}: Temperature','sensor.temp.value[{#SNMPINDEX}]','1m','7d','365d','0','0','','!°C','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: CISCO-ENTITY-SENSOR-MIB.\r\nThe object name: entSensorValue.\r\nThis variable reports the most recent measurement seen by the sensor.','0','30d','0','',NULL,'3s','','','','200','1','0','','0','0','0','0','0','0','0','87bb149a7c464318be942011b678a704','{#SNMPVALUE}: TEMPERATURE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28306','18','','10254','Temperature discovery','temp.discovery','0','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'ENTITY-SENSORS-MIB::EntitySensorDataType discovery with temperature filter','0','30d','1','','33181','3s','','','','200','1','0','','0','0','0','0','0','0','0','50d834b15d7f4755b1ff89ddba90fa4d','TEMPERATURE DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28307','18','','10254','Fan discovery','fan.discovery','0','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'ENTITY-SENSORS-MIB::EntitySensorDataType discovery with rpm filter','0','30d','2','','33181','3s','','','','200','1','0','','0','0','0','0','0','0','0','c78a9f82601847338d687ed01577e958','FAN DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28542','18','','10261','Remote Zabbix server: History index cache, % used','wcache.index.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used history index buffer.\r\nThe history index cache is used to index values stored in the history cache.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','b1add70210a44b668f06cc3e062173ad','REMOTE ZABBIX SERVER: HISTORY INDEX CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28543','18','','10261','Remote Zabbix server: Configuration cache, % used','rcache.buffer.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix configuration cache. The percentage of used data buffer.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','750964513e1d44d7b138980d6cac2188','REMOTE ZABBIX SERVER: CONFIGURATION CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28544','18','','10261','Remote Zabbix server: Value cache, % used','vcache.buffer.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix value cache. The percentage of used data buffer.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','9f9d8d1fcd08498698e37b5889502b47','REMOTE ZABBIX SERVER: VALUE CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28545','18','','10261','Remote Zabbix server: Value cache hits','vcache.cache.hits','0','1w','365d','0','0','','vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The effectiveness statistics of Zabbix value cache. The number of cache hits (history values taken from the cache).','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','9bd0079126974bf2a61f552de2cdf880','REMOTE ZABBIX SERVER: VALUE CACHE HITS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28546','18','','10261','Remote Zabbix server: Value cache misses','vcache.cache.misses','0','1w','365d','0','0','','vps','','',NULL,NULL,'','','0','','','','','0',NULL,'The effectiveness statistics of Zabbix value cache. The number of cache misses (history values taken from the database).','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','e8c372778d4e434e98d3fba5ea603a50','REMOTE ZABBIX SERVER: VALUE CACHE MISSES');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28547','18','','10261','Remote Zabbix server: Value cache operating mode','vcache.cache.mode','0','1w','365d','0','3','','','','',NULL,'56','','','0','','','','','0',NULL,'The operating mode of the value cache.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','1a1daeb7267f4ed4bf75c70699d487b6','REMOTE ZABBIX SERVER: VALUE CACHE OPERATING MODE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28548','18','','10261','Remote Zabbix server: VMware cache, % used','vmware.buffer.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The availability statistics of Zabbix vmware cache. The percentage of used data buffer.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','9e2b2133916e4ce29ed4e9ca07c74123','REMOTE ZABBIX SERVER: VMWARE CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28549','18','','10261','Remote Zabbix server: History write cache, % used','wcache.history.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used history buffer.\r\nThe history cache is used to store item values. A high number indicates performance problems on the database side.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','98f47a07e2ba4294a9eb2aa1df2ba9f3','REMOTE ZABBIX SERVER: HISTORY WRITE CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28550','18','','10261','Remote Zabbix server: Number of processed values per second','wcache.values','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe total number of values processed by Zabbix server or Zabbix proxy, except unsupported items.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','34fe014843974248a98a45596ce43e1a','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28551','18','','10261','Remote Zabbix server: Trend write cache, % used','wcache.trend.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache. The percentage of used trend buffer.\r\nThe trend cache stores the aggregate of all items that have receive data for the current hour.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','1f79208bb2ec4e4eb26e6e1b95c3635e','REMOTE ZABBIX SERVER: TREND WRITE CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28552','18','','10261','Remote Zabbix server: Utilization of unreachable poller data collector processes, in %','process.unreachable_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the unreachable poller processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','8d43954f6b9843009353c560a4f84157','REMOTE ZABBIX SERVER: UTILIZATION OF UNREACHABLE POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28553','18','','10261','Remote Zabbix server: Number of processed numeric (float) values per second','wcache.values.float','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe number of processed float values.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','206f4fcb1e6d4e468a172e330f56b8aa','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED NUMERIC (FLOAT) VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28554','18','','10261','Remote Zabbix server: Number of processed log values per second','wcache.values.log','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe number of processed log values.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','e2f3dc320d54446b80862eabe6fa0be5','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED LOG VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28555','18','','10261','Remote Zabbix server: Number of processed not supported values per second','wcache.values.not_supported','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe number of times the item processing resulted in an item becoming unsupported or keeping that state.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','82e088caf6e14c1cab700ad7fcc96263','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED NOT SUPPORTED VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28556','18','','10261','Remote Zabbix server: Number of processed character values per second','wcache.values.str','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe number of processed character/string values.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','99415cd1920a4e7f8b99f3c71e7eba97','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED CHARACTER VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28557','18','','10261','Remote Zabbix server: Number of processed text values per second','wcache.values.text','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe number of processed text values.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','7172378f31a44a36a095a2c2afed763b','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED TEXT VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28558','18','','10261','Remote Zabbix server: Number of processed numeric (unsigned) values per second','wcache.values.uint','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The statistics and availability of Zabbix write cache.\r\nThe number of processed numeric (unsigned) values.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','7865ba7a928945f4a148acf623b72537','REMOTE ZABBIX SERVER: NUMBER OF PROCESSED NUMERIC (UNSIGNED) VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28559','18','','10261','Remote Zabbix server: Utilization of vmware data collector processes, in %','process.vmware_collector.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the vmware collector processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','9f02a181362b42b882d869353fae93ce','REMOTE ZABBIX SERVER: UTILIZATION OF VMWARE DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28560','18','','10261','Remote Zabbix server: Preprocessing queue','preprocessing_queue','0','1w','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The count of values enqueued in the preprocessing queue.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','9881f258f69d459195b5a19c56c523a8','REMOTE ZABBIX SERVER: PREPROCESSING QUEUE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28561','18','','10261','Remote Zabbix server: Utilization of alerter internal processes, in %','process.alerter.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the alerter processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','d8071d9c280c468cb70b19be50c756a5','REMOTE ZABBIX SERVER: UTILIZATION OF ALERTER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28562','18','','10261','Remote Zabbix server: Utilization of ipmi manager internal processes, in %','process.ipmi_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ipmi manager processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','52a05106bc5e4e05b04142827f394662','REMOTE ZABBIX SERVER: UTILIZATION OF IPMI MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28563','18','','10261','Remote Zabbix server: Utilization of alert manager internal processes, in %','process.alert_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the alert manager processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','14347f8309934849a2ac13974e4b66d1','REMOTE ZABBIX SERVER: UTILIZATION OF ALERT MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28564','18','','10261','Remote Zabbix server: Utilization of configuration syncer internal processes, in %','process.configuration_syncer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the configuration syncer processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','439e81aed41e4fd7ba7f2e4a97ca1a91','REMOTE ZABBIX SERVER: UTILIZATION OF CONFIGURATION SYNCER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28565','18','','10261','Remote Zabbix server: Utilization of discoverer data collector processes, in %','process.discoverer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the discoverer processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','396cdd296a3a4ee4a247afaa0f64e41c','REMOTE ZABBIX SERVER: UTILIZATION OF DISCOVERER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28566','18','','10261','Remote Zabbix server: Utilization of escalator internal processes, in %','process.escalator.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the escalator processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','d8110a23217142b9b10f2eda00a96f39','REMOTE ZABBIX SERVER: UTILIZATION OF ESCALATOR INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28567','18','','10261','Remote Zabbix server: Utilization of history syncer internal processes, in %','process.history_syncer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the history syncer processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','2b651866c6f04880888a770e9a08a167','REMOTE ZABBIX SERVER: UTILIZATION OF HISTORY SYNCER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28568','18','','10261','Remote Zabbix server: Utilization of housekeeper internal processes, in %','process.housekeeper.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the housekeeper processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','8eb5b40740a349fbb14ed39dd840fc85','REMOTE ZABBIX SERVER: UTILIZATION OF HOUSEKEEPER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28569','18','','10261','Remote Zabbix server: Utilization of http poller data collector processes, in %','process.http_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the http poller processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','02371dc53214403dbf34ff9e970408ef','REMOTE ZABBIX SERVER: UTILIZATION OF HTTP POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28570','18','','10261','Remote Zabbix server: Utilization of icmp pinger data collector processes, in %','process.icmp_pinger.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the icmp pinger processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','3a2dfedfac164b69a01105137eefd5e9','REMOTE ZABBIX SERVER: UTILIZATION OF ICMP PINGER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28571','18','','10261','Remote Zabbix server: Utilization of ipmi poller data collector processes, in %','process.ipmi_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the ipmi poller processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','849f8b11cc984c758c4947fe256e3310','REMOTE ZABBIX SERVER: UTILIZATION OF IPMI POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28572','18','','10261','Remote Zabbix server: Utilization of timer internal processes, in %','process.timer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the timer processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','105eae2d56d34d91b540f93009a575aa','REMOTE ZABBIX SERVER: UTILIZATION OF TIMER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28573','18','','10261','Remote Zabbix server: Utilization of java poller data collector processes, in %','process.java_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the java poller processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','e55654715f8143c597c858d7eb522e31','REMOTE ZABBIX SERVER: UTILIZATION OF JAVA POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28574','18','','10261','Remote Zabbix server: Utilization of poller data collector processes, in %','process.poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the poller processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','61df12fa054b46f4b50596807dbc90c3','REMOTE ZABBIX SERVER: UTILIZATION OF POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28575','18','','10261','Remote Zabbix server: Utilization of preprocessing manager internal processes, in %','process.preprocessing_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the preprocessing manager processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','42e9efb8e5e54b26b84372dc53e823b3','REMOTE ZABBIX SERVER: UTILIZATION OF PREPROCESSING MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28576','18','','10261','Remote Zabbix server: Utilization of preprocessing worker internal processes, in %','process.preprocessing_worker.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the preprocessing worker processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','90bd4b46d63845b98a2c430aac157ea5','REMOTE ZABBIX SERVER: UTILIZATION OF PREPROCESSING WORKER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28577','18','','10261','Remote Zabbix server: Utilization of proxy poller data collector processes, in %','process.proxy_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the proxy poller processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','4c5eb5acc8a447afa47d732988dafbd9','REMOTE ZABBIX SERVER: UTILIZATION OF PROXY POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28578','18','','10261','Remote Zabbix server: Utilization of self-monitoring internal processes, in %','process.self-monitoring.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the self-monitoring processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','044bb995bcae42568979fd958383fc60','REMOTE ZABBIX SERVER: UTILIZATION OF SELF-MONITORING INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28579','18','','10261','Remote Zabbix server: Utilization of snmp trapper data collector processes, in %','process.snmp_trapper.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the snmp trapper processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','643036d74a10414f94dc357efbbd42b2','REMOTE ZABBIX SERVER: UTILIZATION OF SNMP TRAPPER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28580','18','','10261','Remote Zabbix server: Utilization of task manager internal processes, in %','process.task_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the task manager processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','7fad0515db154228b5baabb51d647a9f','REMOTE ZABBIX SERVER: UTILIZATION OF TASK MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28581','18','','10261','Remote Zabbix server: Utilization of trapper data collector processes, in %','process.trapper.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the trapper processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','9c90b3a087e1495caa17a00bebb70145','REMOTE ZABBIX SERVER: UTILIZATION OF TRAPPER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28582','18','','10261','Remote Zabbix server: Utilization of LLD manager internal processes, in %','process.lld_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the lld manager processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','b8504e03317649399dabfffc2758d77c','REMOTE ZABBIX SERVER: UTILIZATION OF LLD MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28583','18','','10261','Remote Zabbix server: Utilization of LLD worker internal processes, in %','process.lld_worker.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The average percentage of the time during which the lld worker processes have been busy for the last minute.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','c4d708a59d314de6814f4936ec6b0a99','REMOTE ZABBIX SERVER: UTILIZATION OF LLD WORKER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28584','18','','10261','Remote Zabbix server: LLD queue','lld_queue','0','1w','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The count of values enqueued in the low-level discovery processing queue.','0','30d','0','','28539','3s','','','','200','1','0','','0','0','0','0','0','0','0','adcf44e5179644b0bee34103d3d3688e','REMOTE ZABBIX SERVER: LLD QUEUE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28588','18','','10262','Remote Zabbix proxy: Utilization of vmware data collector processes, in %','process.vmware_collector.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time vmware collector processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','54d7e2578b594022ad406b40c9dd57fe','REMOTE ZABBIX PROXY: UTILIZATION OF VMWARE DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28589','18','','10262','Remote Zabbix proxy: Number of processed numeric (unsigned) values per second','wcache.values.uint','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nNumber of processed numeric (unsigned) values.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','c53f480b861249c4a1ca12571faa4487','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED NUMERIC (UNSIGNED) VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28590','18','','10262','Remote Zabbix proxy: Number of processed text values per second','wcache.values.text','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nNumber of processed text values.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','35b053f8ce89430b989387eb3075b582','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED TEXT VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28591','18','','10262','Remote Zabbix proxy: Number of processed character values per second','wcache.values.str','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nNumber of processed character/string values.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','334584cfea704011b8ae70436e47e2ff','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED CHARACTER VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28592','18','','10262','Remote Zabbix proxy: Number of processed not supported values per second','wcache.values.not_supported','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nNumber of times item processing resulted in item becoming unsupported or keeping that state.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','927b1387d969466eba000855837887c7','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED NOT SUPPORTED VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28593','18','','10262','Remote Zabbix proxy: Number of processed log values per second','wcache.values.log','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nNumber of processed log values.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','b20b00f97a424b8e9c69ebb749a94d65','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED LOG VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28594','18','','10262','Remote Zabbix proxy: Number of processed numeric (float) values per second','wcache.values.float','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nNumber of processed float values.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','f20ff449693a479895b7f3b450b93787','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED NUMERIC (FLOAT) VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28595','18','','10262','Remote Zabbix proxy: Number of processed values per second','wcache.values','0','1w','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache.\r\nTotal number of values processed by Zabbix server or Zabbix proxy, except unsupported items.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','0238a93001a3438988b9b5cc4cbcc68e','REMOTE ZABBIX PROXY: NUMBER OF PROCESSED VALUES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28596','18','','10262','Remote Zabbix proxy: History index cache, % used','wcache.index.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache. Percentage of used history index buffer.\r\nHistory index cache is used to index values stored in history cache.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','a907ff2d6d8e4389b116eb3ec01dacfe','REMOTE ZABBIX PROXY: HISTORY INDEX CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28597','18','','10262','Remote Zabbix proxy: History write cache, % used','wcache.history.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Statistics and availability of Zabbix write cache. Percentage of used history buffer.\r\nHistory cache is used to store item values. A high number indicates performance problems on the database side.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','2abf18f2a9c9412ca81d615f45d4ca5f','REMOTE ZABBIX PROXY: HISTORY WRITE CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28598','18','','10262','Remote Zabbix proxy: VMware cache, % used','vmware.buffer.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Availability statistics of Zabbix vmware cache. Percentage of used buffer.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','7e6ffd55fe6842219f6e0d3c81ffa309','REMOTE ZABBIX PROXY: VMWARE CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28599','18','','10262','Remote Zabbix proxy: Configuration cache, % used','rcache.buffer.pused','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Availability statistics of Zabbix configuration cache. Percentage of used buffer.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','72dd891d7ced4cefb7de988dadf81f3b','REMOTE ZABBIX PROXY: CONFIGURATION CACHE, % USED');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28600','18','','10262','Remote Zabbix proxy: Utilization of configuration syncer internal processes, in %','process.configuration_syncer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time configuration syncer processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','457a086236ab40eda5c9758eabacb73d','REMOTE ZABBIX PROXY: UTILIZATION OF CONFIGURATION SYNCER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28601','18','','10262','Remote Zabbix proxy: Utilization of data sender internal processes, in %','process.data_sender.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time data sender processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','ff9c1cb7fb234ad2b793c4f296b79834','REMOTE ZABBIX PROXY: UTILIZATION OF DATA SENDER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28602','18','','10262','Remote Zabbix proxy: Utilization of trapper data collector processes, in %','process.trapper.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time trapper processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','d37a6ebb128d4221a34c8d78736ea90b','REMOTE ZABBIX PROXY: UTILIZATION OF TRAPPER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28603','18','','10262','Remote Zabbix proxy: Utilization of task manager internal processes, in %','process.task_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time task manager processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','48ab13daaf0541bdbf317226c753472c','REMOTE ZABBIX PROXY: UTILIZATION OF TASK MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28604','18','','10262','Remote Zabbix proxy: Utilization of snmp trapper data collector processes, in %','process.snmp_trapper.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time snmp trapper processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','3c06aed8f9ca4790b23132498e32701f','REMOTE ZABBIX PROXY: UTILIZATION OF SNMP TRAPPER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28605','18','','10262','Remote Zabbix proxy: Utilization of self-monitoring internal processes, in %','process.self-monitoring.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time self-monitoring processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','fbfe2a05b2914c9d8b1b39aa7320aaf3','REMOTE ZABBIX PROXY: UTILIZATION OF SELF-MONITORING INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28606','18','','10262','Remote Zabbix proxy: Utilization of poller data collector processes, in %','process.poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time poller processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','e44b8cc43d5c49c5a81ed33c5cc44c82','REMOTE ZABBIX PROXY: UTILIZATION OF POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28607','18','','10262','Remote Zabbix proxy: Utilization of java poller data collector processes, in %','process.java_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time java poller processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','c37b027a671449dca92cfbf1b15e711f','REMOTE ZABBIX PROXY: UTILIZATION OF JAVA POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28608','18','','10262','Remote Zabbix proxy: Utilization of ipmi poller data collector processes, in %','process.ipmi_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time ipmi poller processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','c4ff983246e7450f96af03da274df151','REMOTE ZABBIX PROXY: UTILIZATION OF IPMI POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28609','18','','10262','Remote Zabbix proxy: Utilization of ipmi manager internal processes, in %','process.ipmi_manager.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time ipmi manager processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','fb560cce51714f9c8b5164f7587930e5','REMOTE ZABBIX PROXY: UTILIZATION OF IPMI MANAGER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28610','18','','10262','Remote Zabbix proxy: Utilization of icmp pinger data collector processes, in %','process.icmp_pinger.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time icmp pinger processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','f03927fd354a490e95521e5922a19ad3','REMOTE ZABBIX PROXY: UTILIZATION OF ICMP PINGER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28611','18','','10262','Remote Zabbix proxy: Utilization of http poller data collector processes, in %','process.http_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time http poller processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','4f335477bd654368a7870dc5cd21e114','REMOTE ZABBIX PROXY: UTILIZATION OF HTTP POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28612','18','','10262','Remote Zabbix proxy: Utilization of housekeeper internal processes, in %','process.housekeeper.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time housekeeper processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','50c3587febc14c118ca2868c24e42770','REMOTE ZABBIX PROXY: UTILIZATION OF HOUSEKEEPER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28613','18','','10262','Remote Zabbix proxy: Utilization of history syncer internal processes, in %','process.history_syncer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time history syncer processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','c710e445710b4d98bd4ebcd5770c7d5a','REMOTE ZABBIX PROXY: UTILIZATION OF HISTORY SYNCER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28614','18','','10262','Remote Zabbix proxy: Utilization of heartbeat sender internal processes, in %','process.heartbeat_sender.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time heartbeat sender processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','9ca58c0a87f54733ae9794d052092944','REMOTE ZABBIX PROXY: UTILIZATION OF HEARTBEAT SENDER INTERNAL PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28615','18','','10262','Remote Zabbix proxy: Utilization of discoverer data collector processes, in %','process.discoverer.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time discoverer processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','504c144b92d5435b91c2c0c120bd9439','REMOTE ZABBIX PROXY: UTILIZATION OF DISCOVERER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28616','18','','10262','Remote Zabbix proxy: Utilization of unreachable poller data collector processes, in %','process.unreachable_poller.avg.busy','0','1w','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Average percentage of time unreachable poller processes have been busy in the last minute.','0','30d','0','','28585','3s','','','','200','1','0','','0','0','0','0','0','0','0','a0c56d8570eb4cb39e119fc61d7092d1','REMOTE ZABBIX PROXY: UTILIZATION OF UNREACHABLE POLLER DATA COLLECTOR PROCESSES, IN %');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28778','18','','10265','Apache: Workers starting up','apache.workers.starting','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in starting state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','ae21ea113e8840349aff81ab582d92b4','APACHE: WORKERS STARTING UP');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28779','18','','10265','Apache: Workers slot with no current process','apache.workers.slot','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of slots with no current process','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','1c90055e02a244fc8d18e73b23daa0f1','APACHE: WORKERS SLOT WITH NO CURRENT PROCESS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28780','18','','10265','Apache: Workers sending reply','apache.workers.sending','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in sending state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','379ac66397b94463ad17b24fbd20c615','APACHE: WORKERS SENDING REPLY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28781','18','','10265','Apache: Workers reading request','apache.workers.reading','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in reading state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','78b0bd7d8bec49549fc003d460af9177','APACHE: WORKERS READING REQUEST');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28782','18','','10265','Apache: Workers logging','apache.workers.logging','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in logging state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','7fc0002a279b4541af569a03c1aca2ac','APACHE: WORKERS LOGGING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28783','18','','10265','Apache: Workers keepalive (read)','apache.workers.keepalive','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in keepalive state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','cb81a6a77395444283bc5e065fcbfc2e','APACHE: WORKERS KEEPALIVE (READ)');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28784','18','','10265','Apache: Workers idle cleanup','apache.workers.cleanup','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in cleanup state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','f74ffb92e30e48958b5b82f7dfbe5147','APACHE: WORKERS IDLE CLEANUP');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28785','18','','10265','Apache: Workers finishing','apache.workers.finishing','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in finishing state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','fcf771f2a9b64a81a37db679f0494ed3','APACHE: WORKERS FINISHING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28786','18','','10265','Apache: Workers closing connection','apache.workers.closing','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in closing state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','d664bee9a330480bbaee7273b871a8d3','APACHE: WORKERS CLOSING CONNECTION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28787','18','','10265','Apache: Workers DNS lookup','apache.workers.dnslookup','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in dnslookup state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','a6fb3444585749be998ec840cd8e4511','APACHE: WORKERS DNS LOOKUP');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28788','18','','10265','Apache: Total workers idle','apache.workers_total.idle','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total number of idle worker threads/processes','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','b1b1c86a12964ae2813c63481e464ec7','APACHE: TOTAL WORKERS IDLE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28789','18','','10265','Apache: Total workers busy','apache.workers_total.busy','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Total number of busy worker threads/processes','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','1752b9bcf7b34abbaf105f5261638271','APACHE: TOTAL WORKERS BUSY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28790','18','','10265','Apache: Version','apache.version','0','7d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Service version','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','fe0de2eb1478482f99b38c13bd20564c','APACHE: VERSION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28791','18','','10265','Apache: Uptime','apache.uptime','0','7d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'Service uptime in seconds','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','3dd8ba505d584b028c7ac08d8b959eb3','APACHE: UPTIME');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28792','18','','10265','Apache: Total requests','apache.requests','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'A total number of accesses','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','5fb5101de70a43fab50d55f418462255','APACHE: TOTAL REQUESTS');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28793','18','','10265','Apache: Requests per second','apache.requests.rate','0','7d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as change rate for \'Total requests\' stat.\r\nReqPerSec is not used, as it counts average since last Apache server start.','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','ee15f4958040459da53251cc3561ed39','APACHE: REQUESTS PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28794','18','','10265','Apache: Bytes per second','apache.bytes.rate','0','7d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as change rate for \'Total bytes\' stat.\r\nBytesPerSec is not used, as it counts average since last Apache server start.','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','b36010be10874cf188eeacc81f2c366f','APACHE: BYTES PER SECOND');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28795','18','','10265','Apache: Total bytes','apache.bytes','0','7d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total bytes served','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','b9fe6f0bbe174e9f81af84a3bc0b0e7c','APACHE: TOTAL BYTES');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28796','18','','10265','Apache: Workers waiting for connection','apache.workers.waiting','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of workers in waiting state','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','be1a05a6eab84b64ac4d51c966ea91e8','APACHE: WORKERS WAITING FOR CONNECTION');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28797','18','','10265','Event MPM discovery','apache.mpm.event.discovery','0','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Additional metrics if event MPM is used\r\nhttps://httpd.apache.org/docs/current/mod/event.html','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','eee8abd3174d426092e8bca9b3ba982e','EVENT MPM DISCOVERY');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28798','18','','10265','Apache: Connections async closing','apache.connections[async_closing{#SINGLETON}]','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Number of async connections in closing state (only applicable to event MPM)','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','062d7c941f0c468d8b63fa76ae0610f6','APACHE: CONNECTIONS ASYNC CLOSING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28799','18','','10265','Apache: Connections async keep alive','apache.connections[async_keep_alive{#SINGLETON}]','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Number of async connections in keep-alive state (only applicable to event MPM)','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','6cb8b255ad8343a48e622912bc298366','APACHE: CONNECTIONS ASYNC KEEP ALIVE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28800','18','','10265','Apache: Connections async writing','apache.connections[async_writing{#SINGLETON}]','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Number of async connections in writing state (only applicable to event MPM)','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','997b3452aac24ad6afbad775d649c727','APACHE: CONNECTIONS ASYNC WRITING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28801','18','','10265','Apache: Connections total','apache.connections[total{#SINGLETON}]','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Number of total connections','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','31cb044eed904ca19150921fe36f3285','APACHE: CONNECTIONS TOTAL');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28802','18','','10265','Apache: Bytes per request','apache.bytes[per_request{#SINGLETON}]','0','7d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'Average number of client requests per second','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','f52700379f9a4ee8b378a2eb9caea070','APACHE: BYTES PER REQUEST');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28803','18','','10265','Apache: Number of async processes','apache.process[num{#SINGLETON}]','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Number of async processes','0','30d','0','','28775','3s','','','','200','1','0','','0','0','0','0','0','0','0','34555340f3ad4b878504df188f54a9c9','APACHE: NUMBER OF ASYNC PROCESSES');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28811','18','','10266','Nginx: Connections waiting','nginx.connections.waiting','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The current number of idle client connections waiting for a request.','0','30d','0','','28804','3s','','','','200','1','0','','0','0','0','0','0','0','0','d6cfa828ba344ffe948d8d985b849316','NGINX: CONNECTIONS WAITING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28812','18','','10266','Nginx: Connections writing','nginx.connections.writing','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The current number of connections where nginx is writing the response back to the client.','0','30d','0','','28804','3s','','','','200','1','0','','0','0','0','0','0','0','0','c038a572f73f4a418ddcc5aeb8b0a547','NGINX: CONNECTIONS WRITING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28813','18','','10266','Nginx: Connections active','nginx.connections.active','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The current number of active client connections including Waiting connections.','0','30d','0','','28804','3s','','','','200','1','0','','0','0','0','0','0','0','0','436f2dc87cda418eb8f19ed6910c7bd0','NGINX: CONNECTIONS ACTIVE');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28814','18','','10266','Nginx: Connections reading','nginx.connections.reading','0','7d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The current number of connections where nginx is reading the request header.','0','30d','0','','28804','3s','','','','200','1','0','','0','0','0','0','0','0','0','f5925c78389143c7924432483a5c716c','NGINX: CONNECTIONS READING');
INSERT INTO `items` (`itemid`,`type`,`snmp_oid`,`hostid`,`name`,`key_`,`delay`,`history`,`trends`,`status`,`value_type`,`trapper_hosts`,`units`,`formula`,`logtimefmt`,`templateid`,`valuemapid`,`params`,`ipmi_sensor`,`authtype`,`username`,`password`,`publickey`,`privatekey`,`flags`,`interfaceid`,`description`,`inventory_link`,`lifetime`,`evaltype`,`jmx_endpoint`,`master_itemid`,`timeout`,`url`,`query_fields`,`posts`,`status_codes`,`follow_redirects`,`post_type`,`headers`,`retrieve_mode`,`request_method`,`output_format`,`verify_peer`,`verify_host`,`allow_traps`,`discover`,`uuid`,`name_upper`) values ('28815','18','','10266','Nginx: Connections handled per second','nginx.connections.handled.rate','0','7d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit).','0','30d','0','','28804','3s','','','','200','1','0','','0','0','0','0','0','0','0','06191636a7104e1bb40d197493b80958','NGINX: CONNECTIONS HANDLED PER SECOND');
