('42173','20','1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}','10237','Interface {#IFNAME}({#IFALIAS}): Operational status','net.if.status[ifOperStatus.{#SNMPINDEX}]','1m','31d','0','0','3','','','','',NULL,'895','','','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) if the interface is ready to transmit and receive network traffic\r\n- It should change todormant(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 if 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(typically, hardware) components.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ec9624acd1d940e49f6cb996551ec66b','0','2','0'),
('42174','20','1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}','10237','Interface {#IFNAME}({#IFALIAS}): Interface type','net.if.type[ifType.{#SNMPINDEX}]','1h','31d','0','0','3','','','','',NULL,'896','','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe type of 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,'','','','','200','1','0','','','0','0','0','0','0','0','0','435d93d378d646c388ddccb22bb43dc9','0','2','0'),
('42175','0','','10076','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4c80c15f5741464882aa238f27bec1bd','0','2','0'),
('42176','0','','10076','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'900','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05849e0fb6504d339f2aebe159427bec','0','2','0'),
('42177','0','','10076','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe4731720ba64eebbf125929e499209b','0','2','0'),
('42178','5','','10076','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'899','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','304a3e9bb7594c83b027a32c34aeab28','0','2','0'),
('42179','0','','10075','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74bc1a15ef314d5f9b26332531885c0d','0','2','0'),
('42180','0','','10075','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'902','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da59d099f7614653b37b8eaaa518ebd2','0','2','0'),
('42181','0','','10075','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e2b84269401e41acb973bc29666b9e7a','0','2','0'),
('42182','5','','10075','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'901','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cbfaa94dc7bc4606a792aaf357054075','0','2','0'),
('42183','0','','10077','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27949a6910304d39b3d2a68c90525581','0','2','0'),
('42184','0','','10077','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'904','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','98507eac4f70420698dc234c2a6e3198','0','2','0'),
('42185','0','','10077','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3f456ce86b284b089f545d8c72c64405','0','2','0'),
('42186','5','','10077','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'903','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b0a1ce4ca4a441484eea38724eaf24d','0','2','0'),
('42187','0','','10001','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df561a0cece94760a78704edf7da7326','0','2','0'),
('42188','0','','10001','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','160b82c121b147cbbf18c34dbb01d3ce','0','2','0'),
('42189','0','','10001','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d93097ed5ce74d35b6041ef2b5ba18e8','0','2','0'),
('42190','0','','10001','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users\' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','57f9e2e34fab41e18e2bc93e786c92c6','0','2','0'),
('42191','0','','10001','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','207341f390134e37ad431e2823666eb9','0','2','0'),
('42192','0','','10001','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6072902361404672a444841c786875e6','0','2','0'),
('42193','0','','10001','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd21580a151246b0a340bf924c326aa8','0','2','0'),
('42194','0','','10001','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e4c3d14634843e9b7b182e8fc08efbe','0','2','0'),
('42195','0','','10001','Number of installed packages','system.sw.packages.get','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','58818005e76d46dda14d6592f601ab00','0','2','0'),
('42196','0','','10001','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca423242172f4b20ba47c26f4a61aee7','0','2','0'),
('42197','0','','10001','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'908','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f94f9f4699e94c369e6c98b2a2f485ce','0','2','0'),
('42198','0','','10001','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','102c81b5523c4be0b4beae3cb88ebde1','0','2','0'),
('42199','0','','10001','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The information as normally returned by `uname -a`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc6898682f904c57ba28bcb3748b237f','0','2','0'),
('42200','0','','10001','System uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8537f6c6ac6b438c80caf227946df891','0','2','0'),
('42201','0','','10001','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88056b3d2e424d5aba7cabcd4b043c9e','0','2','0'),
('42202','0','','10001','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b93d3590df24a46b29f6eb06f5e2446','0','2','0'),
('42203','0','','10001','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory:\r\n- in Linux = free + buffers + cache;\r\n- on other platforms calculation may vary.\r\n\r\nSee also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e811e6e2ae84461294e121f12e767b40','0','2','0'),
('42204','0','','10001','Available memory in %','vm.memory.size[pavailable]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20779a4c43374e5f9bea2584e93b85ef','0','2','0'),
('42205','0','','10001','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5c3541a7c0949ce812df1beb0732941','0','2','0'),
('42206','0','','10001','CPU steal time','system.cpu.util[,steal]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3161dbd18e874e69b729c8e903cf7390','0','2','0'),
('42207','0','','10001','CPU softirq time','system.cpu.util[,softirq]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been servicing software interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a949a36004a449c58bef0cdc9d3fafd6','0','2','0'),
('42208','0','','10001','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users\' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8ee6e54c86ba44ab88bb9e83c632c1ed','0','2','0'),
('42209','0','','10001','Load average (1m avg)','system.cpu.load[all,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','48528aa936a04c8189375a6eae4033da','0','2','0'),
('42210','0','','10001','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27c42cf180b44632b5d9b8b5788165b3','0','2','0'),
('42211','0','','10001','Maximum number of open file descriptors','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef386d03ff2c42ffa236acd5215ad547','0','2','0'),
('42212','0','','10001','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','678d70c041954ac8982fb5118b49f6e7','0','2','0'),
('42213','0','','10001','Number of processes','proc.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab7d0471092544a6a950184d1bac906d','0','2','0'),
('42214','0','','10001','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2637293884d40108f41b11767dd5be0','0','2','0'),
('42215','0','','10001','System boot time','system.boottime','15m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','27cb0f66bb624146acfdd81b58f108a3','0','2','0'),
('42216','0','','10001','Interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d186a46867b4eaaafd6396d3239dd3b','0','2','0'),
('42217','0','','10001','Load average (5m avg)','system.cpu.load[all,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','953beb580df8418cb88b667b9dd37259','0','2','0'),
('42218','0','','10001','CPU iowait time','system.cpu.util[,iowait]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been waiting for I/O to complete.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5df67d9162cc437585990cc8708be894','0','2','0'),
('42219','0','','10001','Load average (15m avg)','system.cpu.load[all,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5716000e38e24dae8ead4ed98ede024b','0','2','0'),
('42220','0','','10001','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f72e115544eb4079b09fec8c3539241c','0','2','0'),
('42221','0','','10001','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','73e85aa10a704fc7950d2d077f0c54ee','0','2','0'),
('42222','0','','10001','CPU guest time','system.cpu.util[,guest]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a virtual CPU for a guest operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','69b187838fb74f319e47c2ff4f99ef54','0','2','0'),
('42223','0','','10001','CPU guest nice time','system.cpu.util[,guest_nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2b07497f2f343a99d26ad77e65bb54f','0','2','0'),
('42224','0','','10001','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7aad6d159baa4a24901847144f0d231b','0','2','0'),
('42225','0','','10001','CPU interrupt time','system.cpu.util[,interrupt]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc4bc7693ae84f9bb18cee38d0814195','0','2','0'),
('42226','5','','10001','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'907','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ca48c53be1bf46ae9dd2707158a55139','0','2','0'),
('42271','0','','10001','Network interface discovery','net.if.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of network interfaces.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','acfdea9c46ef48c68e6636f43b8f96a2','0','2','0'),
('42272','0','','10001','Block devices discovery','vfs.dev.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2bbdc79f082d4c618e01bec625e9c90a','0','2','0'),
('42277','0','','10001','Interface {#IFNAME}: Inbound packets discarded','net.if.in["{#IFNAME}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d66608e190e4be7a438ea5d0d26e353','0','2','0'),
('42278','0','','10001','Interface {#IFNAME}: Inbound packets with errors','net.if.in["{#IFNAME}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed79960ca91f4e2ca45fed014a02c50b','0','2','0'),
('42279','0','','10001','Interface {#IFNAME}: Bits received','net.if.in["{#IFNAME}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9941a1f8d904309b581cae5ccc1660c','0','2','0'),
('42280','0','','10001','Interface {#IFNAME}: Outbound packets discarded','net.if.out["{#IFNAME}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0795a375a41d46a2b5c89547061cec8e','0','2','0'),
('42281','0','','10001','Interface {#IFNAME}: Outbound packets with errors','net.if.out["{#IFNAME}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8e8bbc069414e928a5da9817f4599a5','0','2','0'),
('42282','0','','10001','Interface {#IFNAME}: Bits sent','net.if.out["{#IFNAME}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82897d99b0114c67b0f5b449c768c8e7','0','2','0'),
('42283','0','','10001','Interface {#IFNAME}: Operational status','vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"]','1m','31d','0','0','3','','','','',NULL,'905','','','0','','','','','2',NULL,'Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3efd24ad36b04eb995cfeab82721c2fe','0','2','0'),
('42284','0','','10001','Interface {#IFNAME}: Interface type','vfs.file.contents["/sys/class/net/{#IFNAME}/type"]','1h','31d','0','0','3','','','','',NULL,'906','','','0','','','','','2',NULL,'It indicates the interface protocol type as a decimal value.\r\nSee `include/uapi/linux/if_arp.h` for all possible values.\r\nReference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d537e74070c74e4385ad241e8514dd3a','0','2','0'),
('42285','15','','10001','{#DEVNAME}: Disk read request avg waiting time (r_await)','vfs.dev.read.await[{#DEVNAME}]','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//vfs.dev.read.time.rate[{#DEVNAME}])/(last(//vfs.dev.read.rate[{#DEVNAME}])+(last(//vfs.dev.read.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.read.rate[{#DEVNAME}]) > 0)','','0','','','','','2',NULL,'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9600208af80e4a6abe55bb5a2240ea8e','0','2','0'),
('42286','15','','10001','{#DEVNAME}: Disk write request avg waiting time (w_await)','vfs.dev.write.await[{#DEVNAME}]','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//vfs.dev.write.time.rate[{#DEVNAME}])/(last(//vfs.dev.write.rate[{#DEVNAME}])+(last(//vfs.dev.write.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.write.rate[{#DEVNAME}]) > 0)','','0','','','','','2',NULL,'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5907708cf4854d48ae3ebf8f0bc41eef','0','2','0'),
('42287','0','','10001','{#DEVNAME}: Get stats','vfs.file.contents[/sys/block/{#DEVNAME}/stat]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The contents of get `/sys/block/{#DEVNAME}/stat` to get the disk statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8309fd01a5864ad68866717d0fe67080','0','2','0'),
('42319','7','','10343','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a31cfdf92de04535adb957e0c72f54bd','0','2','0'),
('42320','7','','10343','Free swap space','system.swap.size[,free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f08e1de57cbd4b08b9fd3294d0d95906','0','2','0'),
('42321','7','','10343','CPU system time','system.cpu.util[,system]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','75622323ae4447e8a21a04ef191fdc2d','0','2','0'),
('42322','7','','10343','CPU user time','system.cpu.util[,user]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users\' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c74b64926aae4a8e8c2299d8bfe2e188','0','2','0'),
('42323','7','','10343','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fdf4eb1b98d04b229a1c9a3c0b5837ba','0','2','0'),
('42324','7','','10343','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8fa467600ab48ce8cec353bab6c3a54','0','2','0'),
('42325','7','','10343','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','627cbcb2432a4aeda6e90363d9b0c1db','0','2','0'),
('42326','7','','10343','Operating system','system.sw.os','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','5','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d8c633f2fd1947028079a5939835dcd8','0','2','0'),
('42327','7','','10343','Number of installed packages','system.sw.packages.get','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16b1e5ab950040ef8c29139e0649d622','0','2','0'),
('42328','7','','10343','Free swap space in %','system.swap.size[,pfree]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','56b8f84d22264b92b70a6ab0c3c70f19','0','2','0'),
('42329','7','','10343','CPU softirq time','system.cpu.util[,softirq]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been servicing software interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ff77e25f0fe45238c64a6532735cdd5','0','2','0'),
('42330','7','','10343','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a9fb924ab1d47168ffcab9d237d808a','0','2','0'),
('42331','7','','10343','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The information as normally returned by `uname -a`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3d73dcc92b34511971eddf956dc4c0f','0','2','0'),
('42332','7','','10343','System uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','51bdea745e0547ad92a74fefaea54e39','0','2','0'),
('42333','7','','10343','Number of logged in users','system.users.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of users who are currently logged in.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ea1cfb5813a422b98caebcd870959ef','0','2','0'),
('42334','7','','10343','Checksum of /etc/passwd','vfs.file.cksum[/etc/passwd,sha256]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','87f35de24ba74a8d8f70430c8da85261','0','2','0'),
('42335','7','','10343','Available memory','vm.memory.size[available]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory:\r\n- in Linux = free + buffers + cache;\r\n- on other platforms calculation may vary.\r\n\r\nSee also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bf94ec3debc459fa3e13449199052ee','0','2','0'),
('42336','7','','10343','Available memory in %','vm.memory.size[pavailable]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99efd95a41b34457a2ec0d8c96324e7c','0','2','0'),
('42337','7','','10343','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','013fe8b15c86442eadc10763706ec594','0','2','0'),
('42338','7','','10343','CPU steal time','system.cpu.util[,steal]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','434c154ba392476f9ad8a94968840e19','0','2','0'),
('42339','7','','10343','CPU nice time','system.cpu.util[,nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent running users\' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d965fa68eea3454e83179116c5483322','0','2','0'),
('42340','7','','10343','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'912','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c266646bfa843dabfe4ba5a3fd9026e','0','2','0'),
('42341','7','','10343','Load average (1m avg)','system.cpu.load[all,avg1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c692df07acc44b4ea1f4f88cd4ee64eb','0','2','0'),
('42342','7','','10343','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','91dbe302bd8e4954b91e9ce3a795b4eb','0','2','0'),
('42343','7','','10343','Maximum number of open file descriptors','kernel.maxfiles','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','66ed2ffc888c40c6b80dcc259c087d08','0','2','0'),
('42344','7','','10343','Maximum number of processes','kernel.maxproc','1h','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d60cc4367893424d9671b1f05ba83599','0','2','0'),
('42345','7','','10343','Number of processes','proc.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ccb6fdbe1267475780e978c0c5de986c','0','2','0'),
('42346','7','','10343','Number of running processes','proc.num[,,run]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','436bf5615731425a97fdcdbaac5f4000','0','2','0'),
('42347','7','','10343','System boot time','system.boottime','15m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','42bb6cbed08a4884a99328b38e4c1654','0','2','0'),
('42348','7','','10343','Interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a2218b9d9124c7284962f84bdefaab8','0','2','0'),
('42349','7','','10343','Load average (5m avg)','system.cpu.load[all,avg5]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','18862acd219e4259a9b9665c32550fa5','0','2','0'),
('42350','7','','10343','CPU iowait time','system.cpu.util[,iowait]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has been waiting for I/O to complete.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4859bb1b6e21469a917aa56fbfbe1698','0','2','0'),
('42351','7','','10343','Load average (15m avg)','system.cpu.load[all,avg15]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Calculated as the system CPU load divided by the number of CPU cores.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61040b6d85df4a2087e562f0216e723d','0','2','0'),
('42352','7','','10343','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e98a6a53c1a44c09b5e3c19971b834c','0','2','0'),
('42353','7','','10343','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','47e3a1d3955d4bccb07a0e32f768273d','0','2','0'),
('42354','7','','10343','CPU guest time','system.cpu.util[,guest]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a virtual CPU for a guest operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4ef463cc12da45e6b5a97cee93fd5ba0','0','2','0'),
('42355','7','','10343','CPU guest nice time','system.cpu.util[,guest_nice]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0cb7f1c9774241968208724ab56f4d86','0','2','0'),
('42356','7','','10343','CPU idle time','system.cpu.util[,idle]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a20c7edef6d449e8771ff57cebb87d8','0','2','0'),
('42357','7','','10343','CPU interrupt time','system.cpu.util[,interrupt]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Time the CPU has spent servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9329b55874bb4de7a52f941f382ba9ce','0','2','0'),
('42360','7','','10343','Network interface discovery','net.if.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'The discovery of network interfaces.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0b47631fb1334f78a7fe5207194a5476','0','2','0'),
('42361','7','','10343','Block devices discovery','vfs.dev.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff825e7028c24138a7ea6625353a1790','0','2','0'),
('42363','7','','10343','Interface {#IFNAME}: Inbound packets discarded','net.if.in["{#IFNAME}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f1a4f18b78754e669d1ddc593765f2e4','0','2','0'),
('42364','7','','10343','Interface {#IFNAME}: Inbound packets with errors','net.if.in["{#IFNAME}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0eb218780ce44128117d73d65d412a9','0','2','0'),
('42365','7','','10343','Interface {#IFNAME}: Bits received','net.if.in["{#IFNAME}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37dd13afa2b84b0e906a80016b9b2bf5','0','2','0'),
('42366','7','','10343','Interface {#IFNAME}: Outbound packets discarded','net.if.out["{#IFNAME}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12a56bb72eef43648293ce1d6c8f9c42','0','2','0'),
('42367','7','','10343','Interface {#IFNAME}: Outbound packets with errors','net.if.out["{#IFNAME}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','90362d020e82429d87b0b1688355831d','0','2','0'),
('42368','7','','10343','Interface {#IFNAME}: Bits sent','net.if.out["{#IFNAME}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','63616a66fb5e4fd7a725c5186b47e516','0','2','0'),
('42369','7','','10343','Interface {#IFNAME}: Operational status','vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"]','1m','31d','0','0','3','','','','',NULL,'909','','','0','','','','','2',NULL,'Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83b33479fd774915b100b69c527519c8','0','2','0'),
('42370','7','','10343','Interface {#IFNAME}: Interface type','vfs.file.contents["/sys/class/net/{#IFNAME}/type"]','1h','31d','0','0','3','','','','',NULL,'910','','','0','','','','','2',NULL,'It indicates the interface protocol type as a decimal value.\r\nSee `include/uapi/linux/if_arp.h` for all possible values.\r\nReference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e675114e23414b9dbc2d19d00f32bc70','0','2','0'),
('42371','15','','10343','{#DEVNAME}: Disk read request avg waiting time (r_await)','vfs.dev.read.await[{#DEVNAME}]','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//vfs.dev.read.time.rate[{#DEVNAME}])/(last(//vfs.dev.read.rate[{#DEVNAME}])+(last(//vfs.dev.read.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.read.rate[{#DEVNAME}]) > 0)','','0','','','','','2',NULL,'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b3559f0d90948f0a72c2fdfdc80930b','0','2','0'),
('42372','15','','10343','{#DEVNAME}: Disk write request avg waiting time (w_await)','vfs.dev.write.await[{#DEVNAME}]','1m','31d','365d','0','0','','!ms','','',NULL,NULL,'(last(//vfs.dev.write.time.rate[{#DEVNAME}])/(last(//vfs.dev.write.rate[{#DEVNAME}])+(last(//vfs.dev.write.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.write.rate[{#DEVNAME}]) > 0)','','0','','','','','2',NULL,'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8422c37735774134996be62580e7bf0f','0','2','0'),
('42373','7','','10343','{#DEVNAME}: Get stats','vfs.file.contents[/sys/block/{#DEVNAME}/stat]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The contents of get `/sys/block/{#DEVNAME}/stat` to get the disk statistics.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','39877664726f4886aa88f3d1592bbcb1','0','2','0'),
('42384','3','','10248','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'916','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','28f98683b9af4558813287cfa151719b','0','2','0'),
('42385','20','1.3.6.1.2.1.1.2.0','10248','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b17833c4646423d8fd4115fa19d2ffe','0','2','0'),
('42386','15','','10248','Memory utilization','vm.memory.util[snmp]','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total[memTotalReal.0])-(last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])))/last(//vm.memory.total[memTotalReal.0])*100','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','640d893d48d44f2ebe2c9e9bb0158f76','0','2','0'),
('42387','20','1.3.6.1.4.1.2021.4.5.0','10248','Total memory','vm.memory.total[memTotalReal.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nTotal memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','de35484e53b24894aa050f15e1941106','0','2','0'),
('42388','20','1.3.6.1.4.1.2021.4.6.0','10248','Free memory','vm.memory.free[memAvailReal.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc3fb5310e8f4af7a093b9df9eede403','0','2','0'),
('42389','20','1.3.6.1.4.1.2021.4.15.0','10248','Memory (cached)','vm.memory.cached[memCached.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nMemory used by the page cache and slabs (Cached and Slab in /proc/meminfo).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5e0a99bfd9844108c3d26d53d1a3d0c','0','2','0'),
('42390','20','1.3.6.1.4.1.2021.4.14.0','10248','Memory (buffers)','vm.memory.buffers[memBuffer.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nMemory used by kernel buffers (Buffers in /proc/meminfo).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c071dae605b64cce886df7d2865e77e0','0','2','0'),
('42391','15','','10248','Available memory','vm.memory.available[snmp]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad8a3857e8b04dffbc0c052a0d36fe08','0','2','0'),
('42392','20','1.3.6.1.2.1.1.3.0','10248','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3fba18851db4be08df04ab85536bb14','0','2','0'),
('42393','20','1.3.6.1.4.1.2021.4.3.0','10248','Total swap space','system.swap.total[memTotalSwap.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe total amount of swap space configured for this host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7db5193027794961840c228c6280fe5b','0','2','0'),
('42394','15','','10248','Free swap space in %','system.swap.pfree[snmp]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//system.swap.free[memAvailSwap.0])/last(//system.swap.total[memTotalSwap.0])*100','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52ae3f1d7b3d4b669b40f0fddbb0e326','0','2','0'),
('42395','20','1.3.6.1.4.1.2021.4.4.0','10248','Free swap space','system.swap.free[memAvailSwap.0]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe amount of swap space currently unused or available.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8ad10709a6e457187f58695de20b027','0','2','0'),
('42396','20','1.3.6.1.2.1.1.5.0','10248','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ee68ecd1edc4f5d9cddefa78f8d502e','0','2','0'),
('42397','3','','10248','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bc5a3fbab2834f8bb012325071c5b2e0','0','2','0'),
('42398','20','1.3.6.1.2.1.1.6.0','10248','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9f2b3de3245e4ffea5aefc636e0f3da1','0','2','0'),
('42399','20','1.3.6.1.2.1.1.1.0','10248','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abd4d4b7097644478329b578dfa7bf09','0','2','0'),
('42400','20','1.3.6.1.4.1.2021.11.60.0','10248','Context switches per second','system.cpu.switches[ssRawContexts.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The combined rate at which all processors on the computer are switched from one thread to another.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e10a890dc6724cbda96f7c40c49cd730','0','2','0'),
('42402','20','1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-15"]','10248','Load average (15m avg)','system.cpu.load.avg15[laLoad.3]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a5c406d4e434dbba248a18318f6a869','0','2','0'),
('42403','20','1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-5"]','10248','Load average (5m avg)','system.cpu.load.avg5[laLoad.2]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0c8a351d59f42b78e6db4a0c50aa5d2','0','2','0'),
('42404','20','1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-1"]','10248','Load average (1m avg)','system.cpu.load.avg1[laLoad.1]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eeaba506dee342518660c03d422faa2a','0','2','0'),
('42405','20','1.3.6.1.4.1.2021.11.59.0','10248','Interrupts per second','system.cpu.intr[ssRawInterrupts.0]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Number of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fdb0807c4a9a452f8a3cbab01a4ddb2e','0','2','0'),
('42406','20','1.3.6.1.2.1.1.4.0','10248','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e45c4b2df4a640a1a36154cb2b717e9d','0','2','0'),
('42407','17','','10248','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','85a597b741bb4e6e8fa9806e8737caf4','0','2','0'),
('42408','3','','10248','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1e02fd733c14d71935e24fbe8786d40','0','2','0'),
('42409','5','','10248','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'917','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03491bb9b98f4267bf1ff56cc226d819','0','2','0'),
('42443','0','','10079','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','96c93b959e884934808b4d3c3b2f93d6','0','2','0'),
('42444','0','','10079','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'919','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3e70e8cc76bb4099a3a6b96f5669f059','0','2','0'),
('42445','0','','10079','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32e67f37a30c4fb28db9119d9e26a996','0','2','0'),
('42446','5','','10079','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'918','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d00cf9691f6c446fa35dab03b2201aa4','0','2','0'),
('42447','0','','10074','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','390a1b2080e842f3985b0076509cc550','0','2','0'),
('42448','0','','10074','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'921','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','99dbf8825c0d4e1f9ae433bcb786d7c7','0','2','0'),
('42449','0','','10074','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c65db5a2b42c46dc90cf4891ad1ecc83','0','2','0'),
('42450','5','','10074','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'920','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ab36f1fcf0244229effa26f16889a36','0','2','0'),
('42451','0','','10078','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a64ce48b94b4886af4bd97beab5f93d','0','2','0'),
('42452','0','','10078','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'923','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d708ce58ad214d19a740824512e8be6a','0','2','0'),
('42453','0','','10078','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','633a1d74569f4f61892dabf7e0acf6c1','0','2','0'),
('42454','5','','10078','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'922','','','0','','','','','0',NULL,'Used for monitoring agent availability status','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46dc8d0138314f41962dc357d1e4af20','0','2','0'),
('42455','0','','10081','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af550a1bfe74428eb24492d8af3b405e','0','2','0'),
('42456','0','','10081','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'928','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f81e2ce0d1104f9aaf1fc49284ed0ed4','0','2','0'),
('42457','0','','10081','Number of cores','wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of logical processors available on the computer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83c8c6f15b524a2fb04fc90d04d3e8a2','0','2','0'),
('42458','0','','10081','Windows: Network interfaces WMI get','wmi.getall[root\\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Raw data of `win32_networkadapter.`','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','08b70a5b80fd435ba393e3deb3ca5adb','0','2','0'),
('42459','15','','10081','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b1e4ecaa04a46e9b0aee956918f0713','0','2','0'),
('42460','0','','10081','Used memory','vm.memory.size[used]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Used memory in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1cbf45e11dab453797fe291639aa0c01','0','2','0'),
('42461','0','','10081','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','09e9a345a0f445b1a65685911f5eb9b0','0','2','0'),
('42462','0','','10081','Uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','12503fbf4400488e9b5ff0488f164cb6','0','2','0'),
('42463','0','','10081','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System description of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b103a2c22fe344f886e9dc9f4e4a65ec','0','2','0'),
('42464','0','','10081','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f981835baf04494eaff2f33f159e0ab5','0','2','0'),
('42465','15','','10081','Free swap space','system.swap.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\\Paging file(_Total)\\% Usage"])','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','11cac38334544e5cbb028cfd473cb39e','0','2','0'),
('42466','0','','10081','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e8b3476db6d4322a10cd1a28cbdb7ea','0','2','0'),
('42467','0','','10081','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94c4dfe23e2e4c6e995a3a715941a8eb','0','2','0'),
('42468','0','','10081','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb056886ce72426e833a0445f9263906','0','2','0'),
('42469','0','','10081','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c2ed8e2efab04564b6c70ee8ad14730f','0','2','0'),
('42470','0','','10081','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b305029532f84daf93c8da2d181ac3a1','0','2','0'),
('42471','0','','10081','Number of threads','perf_counter_en["\\System\\Threads"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of threads used by all running processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','630b7b2af6274936ab80b1dd774113e5','0','2','0'),
('42472','0','','10081','CPU queue length','perf_counter_en["\\System\\Processor Queue Length"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','002af28df72f4a788c88bc022d88c6dd','0','2','0'),
('42473','0','','10081','Context switches per second','perf_counter_en["\\System\\Context Switches/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.\r\nContext switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.\r\nIt is the sum of Thread\\\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.\r\nThere are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2322a85bfc1049a3b5c892d83b5d5054','0','2','0'),
('42474','0','','10081','CPU user time','perf_counter_en["\\Processor Information(_total)\\% User Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% User Time` counter shows the percent of time that the processor(s) is spent executing in User mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','575912d512624143b564ca0fbfd0bb8f','0','2','0'),
('42475','0','','10081','CPU privileged time','perf_counter_en["\\Processor Information(_total)\\% Privileged Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Privileged Time` counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows Operating System.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','37448f05afe340a3891d05528c9d1adc','0','2','0'),
('42476','0','','10081','CPU interrupt time','perf_counter_en["\\Processor Information(_total)\\% Interrupt Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Interrupt Time` counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e403552481b04ebdba2e8a019f114f20','0','2','0'),
('42477','0','','10081','CPU DPC time','perf_counter_en["\\Processor Information(_total)\\% DPC Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. `% DPC Time` is a component of `% Privileged Time` because DPCs are executed in privileged mode. If a high `% DPC Time` is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ee1f116fdab34969a6e6f5e1c25fc3d2','0','2','0'),
('42478','0','','10081','Used swap space in %','perf_counter_en["\\Paging file(_Total)\\% Usage"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The used space of swap volume/file in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b99a722d267d455fad3c07c53302b20f','0','2','0'),
('42479','0','','10081','Memory pool non-paged','perf_counter_en["\\Memory\\Pool Nonpaged Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated.\r\nThere is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). Consequently, Event ID 2019 is recorded in the system event log.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb822cb2a17948208a61bd6661c496df','0','2','0'),
('42480','0','','10081','Memory pages per second','perf_counter_en["\\Memory\\Pages/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the rate at which pages are read from or written to disk to resolve hard page faults.\r\nIf the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','287163bc5b0441c4bf51489432a278eb','0','2','0'),
('42481','0','','10081','Memory page faults per second','perf_counter_en["\\Memory\\Page Faults/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c41d254585a4d7b81a0c5766a8913c1','0','2','0'),
('42482','0','','10081','Free system page table entries','perf_counter_en["\\Memory\\Free System Page Table Entries"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may be a memory leak or you running out of memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ea74fafb9334de095adcb47cced578d','0','2','0'),
('42483','0','','10081','Cache bytes','perf_counter_en["\\Memory\\Cache Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache Bytes is the sum of the Memory\\\\System Cache Resident Bytes, Memory\\\\System Driver Resident Bytes, Memory\\\\System Code Resident Bytes, and Memory\\\\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5219a246de0641a89685a961cdd08c0b','0','2','0'),
('42484','0','','10081','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5707443d739d4689bde192e75ff4bd0f','0','2','0'),
('42485','5','','10081','Zabbix agent availability','zabbix[host,agent,available]','1m','31d','365d','0','3','','','','',NULL,'927','','','0','','','','','0',NULL,'Used for monitoring the availability status of the agent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3dcb0f79342b4ded97cdec0794472266','0','2','0'),
('42488','0','','10081','Physical disks discovery','perf_instance_en.discovery[PhysicalDisk]','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Discovery of installed physical disks.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f155ebc6fd045b3b7548010af1a73c7','0','2','0'),
('42489','0','','10081','Windows services discovery','service.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Used for the discovery of Windows services of different types as defined in the template\'s macros.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cabcad5c3520448f8e1bf222be348b81','0','2','0'),
('42491','0','','10081','Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded','net.if.in["{#IFGUID}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of incoming packets dropped on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8a7bb1e8afd24d32a65fa2116ba439ce','0','2','0'),
('42492','0','','10081','Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors','net.if.in["{#IFGUID}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of incoming packets with errors on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e1f3dfb91024095a20870ee94d01822','0','2','0'),
('42493','0','','10081','Interface {#IFNAME}({#IFALIAS}): Bits received','net.if.in["{#IFGUID}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'Incoming traffic on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','82accc942f5747a2b399484466625051','0','2','0'),
('42494','0','','10081','Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded','net.if.out["{#IFGUID}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of outgoing packets dropped on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9ddb9aaf863a45c0affbd90e4a6fa393','0','2','0'),
('42495','0','','10081','Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors','net.if.out["{#IFGUID}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of outgoing packets with errors on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','38c8a1aa95b343e39e23e7b508521dad','0','2','0'),
('42496','0','','10081','Interface {#IFNAME}({#IFALIAS}): Bits sent','net.if.out["{#IFGUID}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'Outgoing traffic on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b090da19af842189bb6fa56d49ceec3','0','2','0'),
('42497','0','','10081','{#DEVNAME}: Disk utilization by idle time','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\% Idle Time",60]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','821f46bbf9d7432e9ea0d5f93a868269','0','2','0'),
('42498','0','','10081','{#DEVNAME}: Average disk read queue length','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk Read Queue Length",60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77e33448596a498ba211d23a1977e9ca','0','2','0'),
('42499','0','','10081','{#DEVNAME}: Disk read request avg waiting time','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk sec/Read",60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','2',NULL,'The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7d91ed70bc3b4ef2a7991b3a5ba3bde4','0','2','0'),
('42500','0','','10081','{#DEVNAME}: Disk write request avg waiting time','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk sec/Write",60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','2',NULL,'The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','898784d050664f8eaf197ebebc16077e','0','2','0'),
('42501','0','','10081','{#DEVNAME}: Average disk write queue length','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk Write Queue Length",60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71a2c065efaa437fb7296972f516bd82','0','2','0'),
('42502','0','','10081','{#DEVNAME}: Disk average queue size (avgqu-sz)','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Current Disk Queue Length",60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b49884669dbf43cc95ea3d27fb23698c','0','2','0'),
('42503','0','','10081','{#DEVNAME}: Disk read rate','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Disk Reads/sec",60]','1m','31d','365d','0','0','','!r/s','','',NULL,NULL,'','','0','','','','','2',NULL,'Rate of read operations on the disk.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','390c6e4f2c134ae2939810892eefd6f7','0','2','0'),
('42504','0','','10081','{#DEVNAME}: Disk write rate','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Disk Writes/sec",60]','1m','31d','365d','0','0','','!w/s','','',NULL,NULL,'','','0','','','','','2',NULL,'Rate of write operations on the disk.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6353d621a9c4415c94247208fc996075','0','2','0'),
('42505','0','','10081','State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME})','service.info["{#SERVICE.NAME}",state]','1m','31d','365d','0','3','','','','',NULL,'926','','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd5a027d75fc4ff1a3bb6e69c0d8d592','0','2','0'),
('42512','7','','10351','Host name of Zabbix agent running','agent.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','042ce35b908748c8bdd322f818c52c85','0','2','0'),
('42513','7','','10351','Number of processes','proc.num[]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5229689338ae4a559d3c94a98032131e','0','2','0'),
('42514','7','','10351','Windows: Network interfaces WMI get','wmi.getall[root\\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Raw data of `win32_networkadapter.`','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c35940d1a12e4b96b7114ac8dbbfcec4','0','2','0'),
('42515','15','','10351','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100','','0','','','','','0',NULL,'Memory utilization in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b62965a4670472b8c672dc1021bb8fd','0','2','0'),
('42516','7','','10351','Used memory','vm.memory.size[used]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Used memory in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f85ec8917f084c7d9b6bc36e186d74d6','0','2','0'),
('42517','7','','10351','Total memory','vm.memory.size[total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','83185781999742268a7742695c5d3ee3','0','2','0'),
('42518','7','','10351','Uptime','system.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The system uptime expressed in the following format: "N days, hh:mm:ss".','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','695053710ea14cc48692b5cb260d0dfb','0','2','0'),
('42519','7','','10351','System description','system.uname','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'System description of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8fa1259420ad486ab6e2520c9b047073','0','2','0'),
('42520','7','','10351','Total swap space','system.swap.size[,total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'The total space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5af29f7b8ee451895b49c0444e929f4','0','2','0'),
('42521','15','','10351','Free swap space','system.swap.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\\Paging file(_Total)\\% Usage"])','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d6f14cc540846ab98052bf741a4247b','0','2','0'),
('42522','7','','10351','Operating system architecture','system.sw.arch','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The architecture of the operating system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16a7ae509f0c4f9d8631efae88fe6324','0','2','0'),
('42523','7','','10351','System local time','system.localtime','1m','31d','365d','0','3','','unixtime','','',NULL,NULL,'','','0','','','','','0',NULL,'The local system time of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','89f928affba54c4a8dc7abead09cac68','0','2','0'),
('42524','7','','10351','System name','system.hostname','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5d99b356e30444a0b99e597506f35a69','0','2','0'),
('42525','7','','10351','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'CPU utilization expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0f3ffe45092d461a91a1296cd6cfb19f','0','2','0'),
('42526','7','','10351','Number of threads','perf_counter_en["\\System\\Threads"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of threads used by all running processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c738b97ec0dc49f380ed0e4a27ae9bb6','0','2','0'),
('42527','7','','10351','Zabbix agent ping','agent.ping','1m','31d','365d','0','3','','','','',NULL,'933','','','0','','','','','0',NULL,'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd8864ac5450401b9ad479c1ee455805','0','2','0'),
('42528','7','','10351','CPU queue length','perf_counter_en["\\System\\Processor Queue Length"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1da358e5c8f40279c703d93896aa571','0','2','0'),
('42529','7','','10351','Context switches per second','perf_counter_en["\\System\\Context Switches/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.\r\nContext switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.\r\nIt is the sum of Thread\\\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.\r\nThere are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f23957a6fb9a44a3a7010b19b16e77b5','0','2','0'),
('42530','7','','10351','CPU user time','perf_counter_en["\\Processor Information(_total)\\% User Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% User Time` counter shows the percent of time that the processor(s) is spent executing in User mode.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','954a81efad4c4791bee052194b900268','0','2','0'),
('42531','7','','10351','CPU privileged time','perf_counter_en["\\Processor Information(_total)\\% Privileged Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Privileged Time` counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows Operating System.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0747e92e52cc4a6a9b83c6f94889bff1','0','2','0'),
('42532','7','','10351','CPU interrupt time','perf_counter_en["\\Processor Information(_total)\\% Interrupt Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The processor information `% Interrupt Time` counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','32a32b9fea5d49989668a96bc52db87b','0','2','0'),
('42533','7','','10351','CPU DPC time','perf_counter_en["\\Processor Information(_total)\\% DPC Time"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. `% DPC Time` is a component of `% Privileged Time` because DPCs are executed in privileged mode. If a high `% DPC Time` is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','553249b52ca7492c87386d051ec53db9','0','2','0'),
('42534','7','','10351','Used swap space in %','perf_counter_en["\\Paging file(_Total)\\% Usage"]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'The used space of swap volume/file in percent.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4f7b86eff6c84193a2f9187fff578416','0','2','0'),
('42535','7','','10351','Memory pool non-paged','perf_counter_en["\\Memory\\Pool Nonpaged Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated.\r\nThere is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). Consequently, Event ID 2019 is recorded in the system event log.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3af0a0717da747849c2b5a2ebfa61a2c','0','2','0'),
('42536','7','','10351','Memory pages per second','perf_counter_en["\\Memory\\Pages/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This measures the rate at which pages are read from or written to disk to resolve hard page faults.\r\nIf the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','920faa3a434d46d48f99395e16ef04ec','0','2','0'),
('42537','7','','10351','Memory page faults per second','perf_counter_en["\\Memory\\Page Faults/sec"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','19ec57305ba34ed890e2e4c8a500a214','0','2','0'),
('42538','7','','10351','Free system page table entries','perf_counter_en["\\Memory\\Free System Page Table Entries"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may be a memory leak or you running out of memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71bb18af403248c7818d16444a2eec06','0','2','0'),
('42539','7','','10351','Cache bytes','perf_counter_en["\\Memory\\Cache Bytes"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'Cache Bytes is the sum of the Memory\\\\System Cache Resident Bytes, Memory\\\\System Driver Resident Bytes, Memory\\\\System Code Resident Bytes, and Memory\\\\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','20dceb831b1a4d63af7635656239c495','0','2','0'),
('42540','7','','10351','Version of Zabbix agent running','agent.version','1h','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','41cec8b443a94efc9ebca6f66c46ad8a','0','2','0'),
('42541','7','','10351','Number of cores','wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of logical processors available on the computer.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3dcf69f6637f496ca0406e0ed403f03c','0','2','0'),
('42544','7','','10351','Physical disks discovery','perf_instance_en.discovery[PhysicalDisk]','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Discovery of installed physical disks.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2a9c04e3e0846ab89d5dbc39d273567','0','2','0'),
('42545','7','','10351','Windows services discovery','service.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Used for the discovery of Windows services of different types as defined in the template\'s macros.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dbde6e6c7c13436b9bd20230f1d309ed','0','2','0'),
('42547','7','','10351','Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded','net.if.in["{#IFGUID}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of incoming packets dropped on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','344f0ce5ba5244cb90cc08db556e6f9c','0','2','0'),
('42548','7','','10351','Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors','net.if.in["{#IFGUID}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of incoming packets with errors on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a2461163f9b44b678008e3d5fd96a168','0','2','0'),
('42549','7','','10351','Interface {#IFNAME}({#IFALIAS}): Bits received','net.if.in["{#IFGUID}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'Incoming traffic on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a8f69dac86d646b194f9b204f22aeb3b','0','2','0'),
('42550','7','','10351','Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded','net.if.out["{#IFGUID}",dropped]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of outgoing packets dropped on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','46d947876b844223bb500f29cbf82273','0','2','0'),
('42551','7','','10351','Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors','net.if.out["{#IFGUID}",errors]','3m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The number of outgoing packets with errors on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f5854d4ad5d4b65b63e5ca9ffa5007c','0','2','0'),
('42552','7','','10351','Interface {#IFNAME}({#IFALIAS}): Bits sent','net.if.out["{#IFGUID}"]','3m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'Outgoing traffic on the network interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1adceed263804e089108bb2cc1aa51e1','0','2','0'),
('42553','7','','10351','{#DEVNAME}: Disk utilization by idle time','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\% Idle Time",60]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','714bbd069d34400895df413fe4627543','0','2','0'),
('42554','7','','10351','{#DEVNAME}: Average disk read queue length','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk Read Queue Length",60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','abdcdffc92114fda93d4893c772cf14a','0','2','0'),
('42555','7','','10351','{#DEVNAME}: Disk read request avg waiting time','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk sec/Read",60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','2',NULL,'The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','208b3a3868844e85a7e3e5f3940d744d','0','2','0'),
('42556','7','','10351','{#DEVNAME}: Disk write request avg waiting time','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk sec/Write",60]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','2',NULL,'The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a162aca790c48a7bd726d54494d67e9','0','2','0'),
('42557','7','','10351','{#DEVNAME}: Average disk write queue length','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Avg. Disk Write Queue Length",60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba3a369741544f6c88a476a4f2d30ab2','0','2','0'),
('42558','7','','10351','{#DEVNAME}: Disk average queue size (avgqu-sz)','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Current Disk Queue Length",60]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','2',NULL,'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','24d15f53439148919e11d5811f25adf1','0','2','0'),
('42559','7','','10351','{#DEVNAME}: Disk read rate','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Disk Reads/sec",60]','1m','31d','365d','0','0','','!r/s','','',NULL,NULL,'','','0','','','','','2',NULL,'Rate of read operations on the disk.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c1424c1c2fe647a8baf3357c34ae261e','0','2','0'),
('42560','7','','10351','{#DEVNAME}: Disk write rate','perf_counter_en["\\PhysicalDisk({#DEVNAME})\\Disk Writes/sec",60]','1m','31d','365d','0','0','','!w/s','','',NULL,NULL,'','','0','','','','','2',NULL,'Rate of write operations on the disk.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4d10e563bbd1402daa1c9c8516095aa8','0','2','0'),
('42561','7','','10351','State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME})','service.info["{#SERVICE.NAME}",state]','1m','31d','365d','0','3','','','','',NULL,'931','','','0','','','','','2',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d6379e85f1974734abbe60fef1a6ca1d','0','2','0'),
('42568','3','','10249','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'936','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d751b3ead8cd4509a3f87c9bb4c89f00','0','2','0'),
('42569','3','','10249','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e311b1e5e8841da85c5ec6145d9c75f','0','2','0'),
('42570','3','','10249','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fba6328e6e6240f28c1b901a9c2fc376','0','2','0'),
('42571','17','','10249','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b75c480b7ec648a5b2762b20fc5c2ed8','0','2','0'),
('42572','20','1.3.6.1.2.1.1.4.0','10249','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dd26c7a0a46240279bb907b8a1253029','0','2','0'),
('42573','20','discovery[{#CPU.UTIL},1.3.6.1.2.1.25.3.3.1.2]','10249','CPU utilization','system.cpu.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe average, over the last minute, of the percentage of time that processors was not idle.\r\nImplementations may approximate this one minute smoothing period if necessary.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','16a592f6b9f64403999f92d677f1cd2e','0','2','0'),
('42574','20','1.3.6.1.2.1.1.1.0','10249','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e95e030765e84abfa5a51194e81ac719','0','2','0'),
('42575','20','1.3.6.1.2.1.1.6.0','10249','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d19b9bfdfe7344a28eaf69a1b7961adb','0','2','0'),
('42576','20','1.3.6.1.2.1.1.5.0','10249','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9feb2f561b3d4356bc6ef2cac955a495','0','2','0'),
('42577','20','1.3.6.1.2.1.1.2.0','10249','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c9e67b57c15747e8ab4f67e24837ce49','0','2','0'),
('42578','20','1.3.6.1.2.1.1.3.0','10249','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','af7f47f4cf884282bbd9d296ba61b1c2','0','2','0'),
('42579','5','','10249','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'937','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4863042ade2143a0b34e1fc9403742b0','0','2','0'),
('42598','3','','10385','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'938','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','030530f5193246f4b983ec802030e49b','0','2','0'),
('42599','3','','10385','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c82fa3f20c7443e4849ea8e8aec1e49d','0','2','0'),
('42600','3','','10385','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0a95c43c70e54ad49f073fee69a2452d','0','2','0'),
('42601','17','','10385','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2ec396a7adf64637ae453d7f26cd5b20','0','2','0'),
('42602','20','1.3.6.1.2.1.1.4.0','10385','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e98719af84414ef5ab3dd788c7d2d72f','0','2','0'),
('42603','20','1.3.6.1.2.1.1.1.0','10385','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cf59fb53834d4b14bdb0251e66c5143f','0','2','0'),
('42604','20','1.3.6.1.2.1.1.6.0','10385','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fed7a954ea614cb086b901b2e6957621','0','2','0'),
('42605','20','1.3.6.1.2.1.1.5.0','10385','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','354fe7cd2632425b9f937e8714d79798','0','2','0'),
('42606','20','1.3.6.1.2.1.1.2.0','10385','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bf571c06cc264eca89d68f0b0b7559f7','0','2','0'),
('42607','20','1.3.6.1.2.1.1.3.0','10385','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f14eaa207ac9480995d2a2a10bea1467','0','2','0'),
('42608','5','','10385','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'939','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','197767da1b3c4c4f8f3c59ab3c3fc5b8','0','2','0'),
('42609','3','','10378','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'44','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','62c6bb1b70ee4ece865b562e298cafb0','0','2','0'),
('42610','3','','10378','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f7c934ef77d04c00bdec19f8e3950d85','0','2','0'),
('42611','3','','10378','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','72f8c27991b7440ba186f6eb037605cf','0','2','0'),
('42612','17','','10378','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4380826947fc4df6a341fe074f42da6a','0','2','0'),
('42613','20','1.3.6.1.2.1.1.4.0','10378','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','045800cfeaf6448ab9a9e97f8b5172c1','0','2','0'),
('42614','20','1.3.6.1.2.1.1.1.0','10378','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c12c6668d9564855b227dee42a9d86f8','0','2','0'),
('42615','20','1.3.6.1.2.1.1.6.0','10378','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f46b736cdb7f44fcacf33d272d905db8','0','2','0'),
('42616','20','1.3.6.1.2.1.1.5.0','10378','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','65c5b2a3742c4c6d8a04c63bb96b46c6','0','2','0'),
('42617','20','1.3.6.1.2.1.1.2.0','10378','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2d9d7b390c774a188a07dbb5bb4a583e','0','2','0'),
('42618','20','1.3.6.1.2.1.1.3.0','10378','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','564b458cee7a4a2bb2b4f4777bead32d','0','2','0'),
('42619','5','','10378','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'940','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fff713712c44477aa081445d9962c002','0','2','0'),
('42620','3','','10304','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'941','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','250be2514e9246e08058a403bf674cf6','0','2','0'),
('42621','3','','10304','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7eaba8c2b7d4b4aa14081957252e33e','0','2','0'),
('42622','3','','10304','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88b4a6cc507748e19f08d0ffc9a15368','0','2','0'),
('42623','17','','10304','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00b0172971e34784836d03e76b3480bd','0','2','0'),
('42624','20','1.3.6.1.2.1.1.4.0','10304','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50df0ad347d94cffb871256c6340af11','0','2','0'),
('42625','20','1.3.6.1.2.1.1.1.0','10304','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','235302070dc54f148b92027967a6ff2f','0','2','0'),
('42626','20','1.3.6.1.2.1.1.6.0','10304','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7ba9b86064ad432a9e6d1922ca29edda','0','2','0'),
('42627','20','1.3.6.1.2.1.1.5.0','10304','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4674d8adc39343f7b46d21cae2ec1310','0','2','0'),
('42628','20','1.3.6.1.2.1.1.2.0','10304','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05fe3cb6d2004e7ea2d37742fc2549d3','0','2','0'),
('42629','20','1.3.6.1.2.1.1.3.0','10304','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b0551aa2d184c8d923788b5d159ed7c','0','2','0'),
('42630','5','','10304','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'942','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b80f6a30ad124a1ea863f2fdb868ba6f','0','2','0'),
('42634','17','','10255','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other `snmptrap` items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e7e65916304419a8b5c43c9c08a20fc','0','2','0'),
('42641','5','','10255','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'944','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2e3b11fcdd2146018676621143fd297b','0','2','0'),
('42642','3','','10256','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'945','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5abff4175d1640b9b633c4d9184bd243','0','2','0'),
('42643','3','','10256','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1db2fcdd357e4d15a989c0511bbed8bd','0','2','0'),
('42644','3','','10256','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8be612f43d1d40ce9efd3c36d18e6a20','0','2','0'),
('42645','17','','10256','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0107bcd0d6b840c4a64061ee83e69f11','0','2','0'),
('42646','20','1.3.6.1.2.1.1.4.0','10256','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2203e586148a418f9e2f06b38c340b53','0','2','0'),
('42647','20','1.3.6.1.2.1.1.1.0','10256','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03ff0b6d9c7a483eaae565d90473d291','0','2','0'),
('42648','20','1.3.6.1.2.1.1.6.0','10256','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','84ed489ba1be43738be79f8a71b60381','0','2','0'),
('42649','20','1.3.6.1.2.1.1.5.0','10256','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','88baf9f1da184fc78a49b064f0b4de85','0','2','0'),
('42650','20','1.3.6.1.2.1.1.2.0','10256','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d02b8e2d5c7a4afabc2fbadc8674288c','0','2','0'),
('42651','20','1.3.6.1.2.1.1.3.0','10256','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','05166eb015534cae9798f9266d3d0a6b','0','2','0'),
('42652','5','','10256','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'946','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5ebd75f34f24502b3cdc2a707fb24c5','0','2','0'),
('42653','3','','10258','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'947','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','303807b2799f4f7cace3d781e9ed1715','0','2','0'),
('42654','3','','10258','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4af423253e1b4960825b49041d9c8feb','0','2','0'),
('42655','3','','10258','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b1659e3298fb447f8ee93e8bab98a22d','0','2','0'),
('42656','17','','10258','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e0a1cdb1df4d408087a8ed3d473ce1fe','0','2','0'),
('42657','20','1.3.6.1.2.1.1.4.0','10258','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6686560b390540b593a2d3bb3289ea41','0','2','0'),
('42658','20','1.3.6.1.2.1.1.1.0','10258','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','905c91ce799849dfb56b800c93849826','0','2','0'),
('42659','20','1.3.6.1.2.1.1.6.0','10258','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','589def06a1b74a7f8ada7cc4576aa9eb','0','2','0'),
('42660','20','1.3.6.1.2.1.1.5.0','10258','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','596ce9f7e6b848e4869cd195996c7114','0','2','0'),
('42661','20','1.3.6.1.2.1.1.2.0','10258','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad8eada79b464821a14759f32f6d7f2a','0','2','0'),
('42662','20','1.3.6.1.2.1.1.3.0','10258','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','97cd7cf6a9a545788a2f709bacb925ed','0','2','0'),
('42663','5','','10258','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'948','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','59d2bec423a84ca186d5785ddea5270b','0','2','0'),
('42664','3','','10259','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'949','','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c60cd8613094b95bfd0ad45d04bc0e8','0','2','0'),
('42665','3','','10259','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4a8bd0d13bab4666aaf4c53b7722ec74','0','2','0'),
('42666','3','','10259','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','feb1b9189b904b42b17ac4e1db49806e','0','2','0'),
('42667','17','','10259','SNMP traps (fallback)','snmptrap.fallback','0','31d','0','0','2','','','','hh:mm:sszyyyy/MM/dd',NULL,NULL,'','','0','','','','','0',NULL,'The item is used to collect all SNMP traps unmatched by other snmptrap items','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cadc501d69624baa8ad292c2c8f6fd52','0','2','0'),
('42668','20','1.3.6.1.2.1.1.4.0','10259','System contact details','system.contact[sysContact.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ccba865de57a41718b53ff1f82b2ca87','0','2','0'),
('42669','20','1.3.6.1.2.1.1.1.0','10259','System description','system.descr[sysDescr.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nA textual description of the entity. This value should\r\ninclude the full name and version identification of the system\'s hardware type, software operating-system, and\r\nnetworking software.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','70f51b4370c64c2bab2c811359ef690b','0','2','0'),
('42670','20','1.3.6.1.2.1.1.6.0','10259','System location','system.location[sysLocation.0]','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nPhysical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','52169be1d3924c638476a290590066f3','0','2','0'),
('42671','20','1.3.6.1.2.1.1.5.0','10259','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nAn administratively-assigned name for this managed node.By convention, this is the node\'s fully-qualified domain name.  If the name is unknown, the value is the zero-length string.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','afa2acff36034dccb96a1946e7039f39','0','2','0'),
('42672','20','1.3.6.1.2.1.1.2.0','10259','System object ID','system.objectid[sysObjectID.0]','15m','31d','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 enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box\' is being managed.  For example, if vendor`Flintstones, Inc.\' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router\'.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0c0d3ee729b4a159719271232024b45','0','2','0'),
('42673','20','1.3.6.1.2.1.1.3.0','10259','Uptime (network)','system.net.uptime[sysUpTime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nTime (in hundredths of a second) since the network management portion of the system was last re-initialized.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc33c0e22893432280d642c75020a222','0','2','0'),
('42674','5','','10259','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'950','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e205f1aa96a448a2955e988fa8528600','0','2','0'),
('42679','0','','10001','Interface {#IFNAME}: Speed','vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]','5m','31d','0','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'It indicates the latest or current speed value of the interface. The value is an integer representing the link speed expressed in bits/sec.\r\nThis attribute is only valid for the interfaces that implement the ethtool `get_link_ksettings` method (mostly Ethernet).\r\n\r\nReference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4c456e1f9ef4adbbd11f1ee17fa4d76','0','2','0'),
('42682','7','','10343','Interface {#IFNAME}: Speed','vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]','5m','31d','0','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'It indicates the latest or current speed value of the interface. The value is an integer representing the link speed expressed in bits/sec.\r\nThis attribute is only valid for the interfaces that implement the ethtool `get_link_ksettings` method (mostly Ethernet).\r\n\r\nReference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86dd61015ecc43428803b309bdfa9691','0','2','0'),
('42684','16','','10169','Garbage collector discovery','jmx.discovery["beans","java.lang:name=*,type=GarbageCollector"]','4h','90d','0','0','4','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','1',NULL,'Garbage collectors metrics discovery.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7e0c60c6b1b34b5c99fa446076f35c28','0','2','0'),
('42685','16','','10169','Memory pool discovery','jmx.discovery["beans","java.lang:name=*,type=MemoryPool"]','4h','90d','0','0','4','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','1',NULL,'Memory pools metrics discovery.','0','7d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5dfe8bb0a754289a716092ad305ceed','0','2','0'),
('42686','16','','10169','GarbageCollector: {#JMXNAME} number of collections per second','jmx["java.lang:name={#JMXNAME},type=GarbageCollector","CollectionCount"]','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','2',NULL,'Displays the total number of collections that have occurred per second.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','61ad48ae9013481184d33222c7660bef','0','2','0'),
('42687','16','','10169','GarbageCollector: {#JMXNAME} accumulated time spent in collection','jmx["java.lang:name={#JMXNAME},type=GarbageCollector","CollectionTime"]','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','2',NULL,'Displays the approximate accumulated collection elapsed time, in seconds.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8e3db2efbe714f918ece15216fae628b','0','2','0'),
('42688','16','','10169','Memory pool: {#JMXNAME} committed','jmx["java.lang:name={#JMXNAME},type=MemoryPool","Usage.committed"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','2',NULL,'Current memory allocated.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b3da0f9b0b64b58b25ffed71a679ed0','0','2','0'),
('42689','16','','10169','Memory pool: {#JMXNAME} maximum size','jmx["java.lang:name={#JMXNAME},type=MemoryPool","Usage.max"]','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','2',NULL,'Maximum amount of memory that can be used for memory management. This amount of memory is not guaranteed to be available if it is greater than the amount of committed memory. The Java virtual machine may fail to allocate memory even if the amount of used memory does not exceed this maximum size.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8504be0098b41a6b789c67f88f1c861','0','2','0'),
('42690','16','','10169','Memory pool: {#JMXNAME} used','jmx["java.lang:name={#JMXNAME},type=MemoryPool","Usage.used"]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','{$JMX.USER}','{$JMX.PASSWORD}','','','2',NULL,'Current memory usage.','0','30d','0','service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','74f11991286a474b838898036ebb82e5','0','2','0'),
('42691','15','','10504','Client certificate expiration, p1','kubernetes.api.client_certificate_expiration_p1[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.api.client_certificate_expiration_seconds_bucket[*],5m,1)','','0','','','','','2',NULL,'1 percentile of the remaining lifetime on the certificate used to authenticate a request.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','b69600f22c7b42b48f8601ada06a5a9f','0','2','0'),
('42692','15','','10509','Binding duration, p90','kubernetes.scheduler.binding_duration_p90[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.binding_duration[*],5m,90)','','0','','','','','2',NULL,'90 percentile of binding latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','19ba0e215a9f4e13b3079fcdaf124cc5','0','2','0'),
('42693','15','','10509','Binding duration, p50','kubernetes.scheduler.binding_duration_p50[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.binding_duration[*],5m,50)','','0','','','','','2',NULL,'50 percentile of binding latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','5f40c030c1964ff7ab7786cee97bee81','0','2','0'),
('42694','15','','10509','Binding duration, p95','kubernetes.scheduler.binding_duration_p95[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.binding_duration[*],5m,95)','','0','','','','','2',NULL,'99 percentile of binding latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','b24d657a1568437fac77535a80d63bc3','0','2','0'),
('42695','15','','10509','Binding duration, p99','kubernetes.scheduler.binding_duration_p99[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.binding_duration[*],5m,99)','','0','','','','','2',NULL,'95 percentile of binding latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','258d5d4b6534488a92ba29185e3ca56f','0','2','0'),
('42696','15','','10509','Scheduling algorithm duration, p90','kubernetes.scheduler.scheduling_algorithm_duration_p90[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.scheduling_algorithm_duration[*],5m,90)','','0','','','','','2',NULL,'90 percentile of scheduling algorithm latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','2368f2c98f3641bdbd030d94ca53a4dd','0','2','0'),
('42697','15','','10509','Scheduling algorithm duration, p50','kubernetes.scheduler.scheduling_algorithm_duration_p50[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.scheduling_algorithm_duration[*],5m,50)','','0','','','','','2',NULL,'50 percentile of scheduling algorithm latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','3df35ee6e86a424f89f51bb74cb40b9d','0','2','0'),
('42698','15','','10509','Scheduling algorithm duration, p95','kubernetes.scheduler.scheduling_algorithm_duration_p95[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.scheduling_algorithm_duration[*],5m,95)','','0','','','','','2',NULL,'95 percentile of scheduling algorithm latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','6ca6a2480c4343a8b9a4e6598ec86501','0','2','0'),
('42699','15','','10509','Scheduling algorithm duration, p99','kubernetes.scheduler.scheduling_algorithm_duration_p99[{#SINGLETON}]','1m','31d','365d','0','0','','s','','',NULL,NULL,'bucket_percentile(//kubernetes.scheduler.scheduling_algorithm_duration[*],5m,99)','','0','','','','','2',NULL,'99 percentile of scheduling algorithm latency in seconds.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','1','955f0989372c4f9d82ad364b09f5efea','0','2','0'),
('42724','21','','10516','Get data','openweathermap.get.data','10m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),\r\n	request = new HttpRequest(),\r\n	data = [],\r\n	error_msg = [],\r\n	measurement,\r\n	temp_unit,\r\n	wind_unit,\r\n	errors_only = [],\r\n	error_locations = [],\r\n	unique_errors,\r\n	new_error_msg;\r\n\r\nfunction getHttpData(query) {\r\n	url = params.api_endpoint + query + \'&appid=\' + params.apikey + \'&units=\' + params.units + \'&lang=\' + params.lang;\r\n	response = request.get(url);\r\n	Zabbix.log(4, \'[ Openweathermap ] [ \' + 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.\';\r\n		}\r\n	}\r\n\r\n	if (request.getStatus() !== 200) {\r\n		if (response.error && response.error.message) {\r\n			throw response.error.message;\r\n		}\r\n		else {\r\n			throw \'Failed to receive data. Invalid response status code: \' + request.getStatus();\r\n		}\r\n	}\r\n	return response;\r\n}\r\n\r\nswitch (params.units) {\r\n	case \'metric\':\r\n		measurement = \'metric\';\r\n		temp_unit = \'C\';\r\n		wind_unit = \'meter/sec\';\r\n		break;\r\n	case \'imperial\':\r\n		measurement = \'imperial\';\r\n		temp_unit = \'F\';\r\n		wind_unit = \'miles/hour\';\r\n		break;\r\n	default:\r\n		measurement = \'standard\';\r\n		temp_unit = \'K\';\r\n		wind_unit = \'meter/sec\';\r\n}\r\n\r\nlocations = params.location.split(\'|\');\r\nfor (var i in locations) {\r\n	try {\r\n		if (/^[0-9]+$/g.test(locations[i])) {\r\n			result = getHttpData(\'id=\' + locations[i]);\r\n		}\r\n		else if (/^.*,[\\w]+$/g.test(locations[i])) {\r\n			result = getHttpData(\'zip=\' + locations[i]);\r\n		}\r\n		else if (/^(\\-)?[0-9]{1,2}(\\.[0-9]+)?,(\\-)?[0-9]{1,2}(\\.[0-9]+)?/g.test(locations[i])) {\r\n			coordinates = locations[i].split(\',\');\r\n			result = getHttpData(\'lat=\' + coordinates[0] + \'&lon=\' + coordinates[1]);\r\n		}\r\n		else {\r\n			result = getHttpData(\'q=\' + encodeURIComponent(locations[i]));\r\n		}\r\n		if (!data.filter(function (location) { return location.id === result.id; }).length) {\r\n			result.measurement = measurement;\r\n			result.temp_unit = temp_unit;\r\n			result.wind_unit = wind_unit;\r\n			data.push(result);\r\n		}\r\n	} catch (error) {\r\n		errors = {};\r\n		errors.location = locations[i];\r\n		errors.error = error.toString();\r\n		error_msg.push(errors);\r\n		errors_only.push(error.toString());\r\n	}\r\n}\r\n\r\nif (error_msg.length === 0) {\r\n	return JSON.stringify({\r\n		\'data\': data,\r\n		\'errors\': error_msg.toString()\r\n	});\r\n} else {\r\n	unique_errors = errors_only.filter(function (value, index, self) {\r\n		return self.indexOf(value) == index;\r\n	});\r\n\r\n	if (unique_errors.length === 1) {\r\n		for (var j in error_msg) {\r\n			error_locations.push(error_msg[j].location);\r\n		}\r\n		new_error_msg = \'Failed to retrieve data for the following locations: \' + error_locations + \'. \' + unique_errors[0];\r\n		return JSON.stringify({\r\n			\'data\': data,\r\n			\'errors\': new_error_msg\r\n		});\r\n	} else {\r\n		return JSON.stringify({\r\n			\'data\': data,\r\n			\'errors\': error_msg\r\n		});\r\n	}\r\n}','','0','','','','','0',NULL,'JSON array with result of OpenWeatherMap API requests.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7db240f752294b2eb86537d6c06cac5e','0','2','0'),
('42738','21','','10517','API service status','proxmox.api.available','5m','31d','365d','0','3','','','','',NULL,'954','try {\r\n  var params = JSON.parse(value);\r\n  var req = new HttpRequest();\r\n  req.addHeader(\'Authorization: PVEAPIToken=\' + params.token + \'=\' + params.secret);\r\n  req.get(encodeURI(\'https://\' + params.url + \':\' + params.port + \'/api2/json/version\'));\r\n} catch (error) {\r\n	Zabbix.log(3, "Proxmox API failed: " + params.url + " Error: " + error);\r\n	if (!Number.isInteger(error))\r\n		return 520;\r\n}\r\nreturn req.getStatus();','','0','','','','','0',NULL,'Get API service status.','0','30d','0','',NULL,'10s','','','','200','1','0','','','0','0','0','0','0','0','0','75f8f8c507774f529ade4bc4255f5fd2','0','2','0'),
('42739','19','','10517','Get cluster resources','proxmox.cluster.resources','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Resources index.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/cluster/resources','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','4fe4fa1323cd481f8aff3bfb716eeae2','0','2','0'),
('42740','19','','10517','Get cluster status','proxmox.cluster.status','5m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get cluster status information.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/cluster/status','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','6e6a5046b8154bafad375813ca210e1f','0','2','0'),
('42746','19','','10517','LXC [{#NODE.NAME}/{#LXC.NAME}]: Get data','proxmox.lxc.get.data[{#LXC.ID}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Get LXC status data.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/{#LXC.ID}/status/current','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','58efec1a4bb94bfab59d5985d036811e','0','2','0'),
('42747','19','','10517','Node [{#NODE.NAME}]: Time','proxmox.node.time[{#NODE.NAME}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Read server time and time zone settings.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/time','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','c0c03653a0af426b8f61c77cabab38a4','0','2','0'),
('42748','19','','10517','Node [{#NODE.NAME}]: Status','proxmox.node.status[{#NODE.NAME}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Read node status.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/status','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','c1ea4d4f83114c9b96fe81069602f060','0','2','0'),
('42749','19','','10517','Node [{#NODE.NAME}]: RRD statistics','proxmox.node.rrd[{#NODE.NAME}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Read node RRD statistics.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/rrddata','[{"timeframe":"hour"},{"cf":"AVERAGE"}]','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','fa2a60a98fd4445eadff4398ae6872bd','0','2','0'),
('42750','19','','10517','VM [{#NODE.NAME}/{#QEMU.NAME}]: Get data','proxmox.qemu.get.data[{#QEMU.ID}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Get VM status data.','0','30d','0','',NULL,'','https://{$PVE.URL.HOST}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/{#QEMU.ID}/status/current','','','200','1','0','','Authorization: PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}','0','0','0','0','0','0','0','a3562f2f48834a88842da612fb6f464c','0','2','0'),
('42792','3','','10518','ICMP ping','icmpping','1m','31d','365d','0','3','','','','',NULL,'959','','','0','','','','','0',NULL,'Host accessibility by ICMP.\r\n0 - ICMP ping fails.\r\n1 - ICMP ping successful.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6e16d985fac4070a076c41be78bc29e','0','2','0'),
('42793','20','.1.3.6.1.4.1.50536.1.5.4.0','10518','L2ARC write rate','truenas.zfs.l2arc.write','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nWrite rate from L2 cache in bytes per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1e04b61c5b0242b095c41495f9f28b57','0','2','0'),
('42794','20','.1.3.6.1.4.1.50536.1.4.5.0','10518','ARC misses','truenas.zfs.arc.misses','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nTotal amount of cache misses in the ARC per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','51b0901f89ca49f18b5af0c6325190ad','0','2','0'),
('42795','20','.1.3.6.1.4.1.50536.1.4.7.0','10518','ARC target size of MRU','truenas.zfs.arc.p','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC target size of MRU in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5b00055c79174a65af5168b47fb4dbd1','0','2','0'),
('42796','20','.1.3.6.1.4.1.50536.1.4.1.0','10518','ARC size','truenas.zfs.arc.size','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC size in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a677b4991bc94e5b929bcf9f6a0c08ee','0','2','0'),
('42797','20','.1.3.6.1.4.1.50536.1.5.1.0','10518','L2ARC hits','truenas.zfs.l2arc.hits','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nHits to the L2 cache per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2b2ca373849045969f6dbcd411a7e688','0','2','0'),
('42798','20','.1.3.6.1.4.1.50536.1.5.2.0','10518','L2ARC misses','truenas.zfs.l2arc.misses','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nMisses to the L2 cache per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ff6827a36cc9451f801dcf5a433378de','0','2','0'),
('42799','20','.1.3.6.1.4.1.50536.1.5.3.0','10518','L2ARC read rate','truenas.zfs.l2arc.read','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nRead rate from L2 cache in bytes per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d3408357df26465794eeb6d6706ee05a','0','2','0'),
('42800','20','.1.3.6.1.4.1.50536.1.5.5.0','10518','L2ARC size','truenas.zfs.l2arc.size','1m','31d','365d','0','0','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nL2ARC size in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab95d192720b4f5fa897fed6f1aa40e2','0','2','0'),
('42801','20','.1.3.6.1.4.1.50536.1.6.1.0','10518','ZIL operations 1 second','truenas.zfs.zil.ops1','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nThe ops column parsed from the command zilstat 1 1.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a504d960680346ad863c5f2117301200','0','2','0'),
('42802','20','.1.3.6.1.4.1.50536.1.4.2.0','10518','ARC metadata size','truenas.zfs.arc.meta','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC metadata size used in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','db3cee6cf685446ca880e3ba0c7a51f1','0','2','0'),
('42803','20','.1.3.6.1.4.1.50536.1.6.2.0','10518','ZIL operations 5 seconds','truenas.zfs.zil.ops5','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nThe ops column parsed from the command zilstat 5 1.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d82112c728704383b873289f0b8bbce6','0','2','0'),
('42804','20','.1.3.6.1.4.1.50536.1.6.3.0','10518','ZIL operations 10 seconds','truenas.zfs.zil.ops10','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nThe ops column parsed from the command zilstat 10 1.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','598dda71f21a410a82ba5b96e1564166','0','2','0'),
('42805','15','','10518','Available memory','vm.memory.available','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//vm.memory.free)+last(//vm.memory.buffers)+last(//vm.memory.cached)','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','43901b6beb7f4f559464775863d19976','0','2','0'),
('42806','20','1.3.6.1.4.1.2021.4.14.0','10518','Memory (buffers)','vm.memory.buffers','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe total amount of real or virtual memory currently allocated for use as memory buffers.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3b6007f808e04eefafe236737773ce7f','0','2','0'),
('42807','20','1.3.6.1.4.1.2021.4.15.0','10518','Memory (cached)','vm.memory.cached','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe total amount of real or virtual memory currently allocated for use as cached memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ab4c02a4c1fc4ef69a31e9b83a1a9263','0','2','0'),
('42808','20','1.3.6.1.4.1.2021.4.6.0','10518','Free memory','vm.memory.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe amount of real/physical memory currently unused or available.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d55491912c814481b0931e836838e9b0','0','2','0'),
('42809','20','1.3.6.1.4.1.2021.4.5.0','10518','Total memory','vm.memory.total','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe total memory expressed in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e3802f02a4364e6bb37fb7fe780c4137','0','2','0'),
('42810','15','','10518','Memory utilization','vm.memory.util','1m','31d','365d','0','0','','%','','',NULL,NULL,'(last(//vm.memory.total)-(last(//vm.memory.free)+last(//vm.memory.buffers)+last(//vm.memory.cached)))/last(//vm.memory.total)*100','','0','','','','','0',NULL,'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c70fad7e758e480fbae726a677a29ead','0','2','0'),
('42811','20','.1.3.6.1.4.1.50536.1.4.10.0','10518','ARC cache miss ratio','truenas.zfs.arc.miss.ratio','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC cache miss ration percentage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d39e5b7524054b5c8121a5b67506fc52','0','2','0'),
('42812','20','.1.3.6.1.4.1.50536.1.4.4.0','10518','ARC hits','truenas.zfs.arc.hits','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nTotal amount of cache hits in the ARC per second.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f4c6c12561944975999b59c30744b375','0','2','0'),
('42813','3','','10518','ICMP loss','icmppingloss','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'Percentage of lost packets.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9b420a4b29c6455ab2540a8601c70cb5','0','2','0'),
('42814','20','1.3.6.1.2.1.1.1.0','10518','System description','system.descr','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nSystem description of the host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','992e99f0114f4f7589de8dacb56c8c28','0','2','0'),
('42815','3','','10518','ICMP response time','icmppingsec','1m','31d','365d','0','0','','s','','',NULL,NULL,'','','0','','','','','0',NULL,'ICMP ping response time (in seconds).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3788e73db5d64245b9ee3819fdfcf4d5','0','2','0'),
('42816','20','1.3.6.1.2.1.1.4.0','10518','System contact details','system.contact','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string.','23','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0ee6f31c4e49445083a7db5cf9508b17','0','2','0'),
('42817','20','1.3.6.1.4.1.2021.11.59.0','10518','Interrupts per second','system.cpu.intr','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nNumber of interrupts processed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b41b8db2212848db83a6a0d9369fecdd','0','2','0'),
('42818','20','1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-1"]','10518','Load average (1m avg)','system.cpu.load.avg1','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe 1 minute load averages.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4283476959894b78956973be95d33e72','0','2','0'),
('42819','20','1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-5"]','10518','Load average (5m avg)','system.cpu.load.avg5','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe 5 minutes load averages.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7885b68d6644a2ab5875e742a7bc06f','0','2','0'),
('42820','20','1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-15"]','10518','Load average (15m avg)','system.cpu.load.avg15','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe 15 minutes load averages.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5263b1258bd24219a3f1a7d11012b316','0','2','0'),
('42821','20','discovery[{#SNMPVALUE},1.3.6.1.2.1.25.3.3.1.1]','10518','Number of CPUs','system.cpu.num','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nCount the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94366f840edc4686a230682d623f1f41','0','2','0'),
('42822','20','1.3.6.1.4.1.2021.11.60.0','10518','Context switches per second','system.cpu.switches','1m','31d','365d','0','0','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nNumber of context switches.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8740f4489c04eedb072869e27f68a60','0','2','0'),
('42823','20','1.3.6.1.2.1.1.6.0','10518','System location','system.location','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe physical location of this node. If the location is unknown, the value is the zero-length string.','24','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','140ebe2bbc744575b0a0776168432666','0','2','0'),
('42824','20','.1.3.6.1.4.1.50536.1.4.9.0','10518','ARC cache hit ratio','truenas.zfs.arc.hit.ratio','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC cache hit ration percentage.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e3c72ceecec2478685e4bd5983e48c12','0','2','0'),
('42825','20','1.3.6.1.2.1.1.5.0','10518','System name','system.name','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe host name of the system.','3','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','213d20b760c3424f9257cc9fa77c40fb','0','2','0'),
('42826','20','1.3.6.1.2.1.1.2.0','10518','System object ID','system.objectid','15m','31d','0','0','1','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: SNMPv2-MIB\r\nThe vendor authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining what kind of box is being managed.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fc6ed50ea4764ee6852ecd45b667f8df','0','2','0'),
('42827','20','1.3.6.1.4.1.2021.4.4.0','10518','Free swap space','system.swap.free','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe amount of swap space currently unused or available.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e61f086a8a3942569e6c7f67b24e8f86','0','2','0'),
('42828','15','','10518','Free swap space in %','system.swap.pfree','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//system.swap.free)/last(//system.swap.total)*100','','0','','','','','0',NULL,'The free space of the swap volume/file expressed in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a075af85eed44c8adba2cb7bc657b40','0','2','0'),
('42829','20','1.3.6.1.4.1.2021.4.3.0','10518','Total swap space','system.swap.total','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: UCD-SNMP-MIB\r\nThe total amount of swap space configured for this host.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0fc3cd77ed348bb955fc98d8636ab76','0','2','0'),
('42830','20','1.3.6.1.2.1.25.1.1.0','10518','Uptime','system.uptime','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','a5f8ef4ba55e450d863d2237e940fad5','0','2','0'),
('42831','20','.1.3.6.1.4.1.50536.1.4.6.0','10518','ARC target size of cache','truenas.zfs.arc.c','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC target size of cache in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2eaaabc61df64756a35aec95650abf7c','0','2','0'),
('42832','20','.1.3.6.1.4.1.50536.1.4.3.0','10518','ARC data size','truenas.zfs.arc.data','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: FREENAS-MIB\r\nARC data size used in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a4ae886ac205413c85df7c527a9aadb3','0','2','0'),
('42833','5','','10518','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'960','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76b7f3e3ec0044718bf3a9c254c1f832','0','2','0'),
('42835','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]','10518','Network interfaces discovery','net.if.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Discovering interfaces from IF-MIB.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ebf01415c97e4cbaa84d39a392af7c37','0','2','0'),
('42836','20','discovery[{#DISK_NAME},.1.3.6.1.4.1.50536.3.1.2]','10518','Disks temperature discovery','truenas.disk.temp.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Disks temperature discovery from FREENAS-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3906a308e4c4631a96a4aa188d22c74','0','2','0'),
('42837','20','discovery[{#DATASET_NAME},.1.3.6.1.4.1.50536.1.2.1.1.2,{#DATASET_ALLOC_UNITS},.1.3.6.1.4.1.50536.1.2.1.1.3]','10518','ZFS datasets discovery','truenas.zfs.dataset.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'ZFS datasets discovery from FREENAS-MIB.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f3d22d302e274b12927afd9453bb787a','0','2','0'),
('42838','20','discovery[{#POOLNAME},.1.3.6.1.4.1.50536.1.1.1.1.2,{#POOL_ALLOC_UNITS},.1.3.6.1.4.1.50536.1.1.1.1.3]','10518','ZFS pools discovery','truenas.zfs.pools.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'ZFS pools discovery from FREENAS-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','edde9729f6304a9b83d31a1c62356fdd','0','2','0'),
('42839','20','discovery[{#ZVOL_NAME},.1.3.6.1.4.1.50536.1.3.1.1.2,{#ZVOL_ALLOC_UNITS},.1.3.6.1.4.1.50536.1.3.1.1.3]','10518','ZFS volumes discovery','truenas.zfs.zvols.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'ZFS volumes discovery from FREENAS-MIB.','0','7d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dfeb1df58c024b27a0a65206d896975c','0','2','0'),
('42840','20','discovery[{#DEVNAME},1.3.6.1.4.1.2021.13.15.1.1.2]','10518','Block devices discovery','vfs.dev.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Block devices are discovered from UCD-DISKIO-MIB::diskIOTable (http://net-snmp.sourceforge.net/docs/mibs/ucdDiskIOMIB.html#diskIOTable).','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f992aa87f9e4074a8cba928b2017a03','0','2','0'),
('42841','20','1.3.6.1.4.1.2021.11.11.0','10518','CPU idle time','system.cpu.idle[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-SNMP-MIB\r\nThe time the CPU has spent doing nothing.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','03eaea043f2b4aee9ccc562ae5390656','0','2','0'),
('42842','20','1.3.6.1.4.1.2021.11.56.0','10518','CPU interrupt time','system.cpu.interrupt[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-SNMP-MIB\r\nThe amount of time the CPU has been servicing hardware interrupts.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','378d399d09bd4197b20f575f023a9423','0','2','0'),
('42843','20','1.3.6.1.4.1.2021.11.54.0','10518','CPU iowait time','system.cpu.iowait[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-SNMP-MIB\r\nThe amount of time the CPU has been waiting for I/O to complete.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bd17c78973cf482a8916645847a9814f','0','2','0'),
('42844','20','1.3.6.1.4.1.2021.11.51.0','10518','CPU nice time','system.cpu.nice[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-SNMP-MIB\r\nThe time the CPU has spent running users\' processes that have been niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e25d8fe2e3b24fff86fe2d91e9b4f16e','0','2','0'),
('42845','20','1.3.6.1.4.1.2021.11.52.0','10518','CPU system time','system.cpu.system[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-SNMP-MIB\r\nThe time the CPU has spent running the kernel and its processes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6782830d2a25423fb0db137d66b2f2dd','0','2','0'),
('42846','20','1.3.6.1.4.1.2021.11.50.0','10518','CPU user time','system.cpu.user[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-SNMP-MIB\r\nThe time the CPU has spent running users\' processes that are not niced.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d38eaa9cf17a4778b0b6dfea897e3e6e','0','2','0'),
('42847','20','1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Inbound packets discarded','net.if.in.discards[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe number of inbound packets which were chosen to be discarded\r\neven 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,\r\nand at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','71257fe84dde4281854f4f74f0ea1e4c','0','2','0'),
('42848','20','1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Inbound packets with errors','net.if.in.errors[{#SNMPINDEX}]','1m','31d','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.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d5d20ce0e2c9429b9b0c5eea23d3dca5','0','2','0'),
('42849','20','1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Bits received','net.if.in[{#SNMPINDEX}]','1m','31d','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. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a7f3b11533ac411d8133e6e859f63d61','0','2','0'),
('42850','20','1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Outbound packets discarded','net.if.out.discards[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe number of outbound packets which were chosen to be discarded\r\neven 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,\r\nand at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','35c209485ac34a7ebebe7c4785f448b5','0','2','0'),
('42851','20','1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Outbound packets with errors','net.if.out.errors[{#SNMPINDEX}]','1m','31d','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.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','07adb0c51d6b4f34ab21e48744cad18d','0','2','0'),
('42852','20','1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Bits sent','net.if.out[{#SNMPINDEX}]','1m','31d','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 ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4406d8a768ce41c6b383657e22cbf4a1','0','2','0'),
('42853','20','1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Speed','net.if.speed[{#SNMPINDEX}]','1m','31d','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 of `n-500,000\' to`n+499,999\'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','94231ecd77da47b49ee2df1afd302e97','0','2','0'),
('42854','20','1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Operational status','net.if.status[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,'957','','','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) if the interface is ready to transmit and receive network traffic\r\n- It should change todormant(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 if 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(typically, hardware) components.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','50bfa188160747b98c3ee4043cb60a96','0','2','0'),
('42855','20','1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}','10518','Interface [{#IFNAME}({#IFALIAS})]: Interface type','net.if.type[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,'958','','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe type of 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,'','','','','200','1','0','','','0','0','0','0','0','0','0','2f37ffca1e2e47ebadef5a4ed316dd90','0','2','0'),
('42856','20','.1.3.6.1.4.1.50536.3.1.3.{#SNMPINDEX}','10518','Disk [{#DISK_NAME}]\': Temperature','truenas.disk.temp[{#DISK_NAME}]','1m','31d','365d','0','0','','C','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe temperature of this HDD in mC.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7de2508fff174bd78b4ea0424a67fbf9','0','2','0'),
('42857','20','.1.3.6.1.4.1.50536.1.2.1.1.6.{#SNMPINDEX}','10518','Dataset [{#DATASET_NAME}]: Available space','truenas.dataset.avail[{#DATASET_NAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe available size of the dataset in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c3eab95b8e74e608fe3b7abab98c76b','0','2','0'),
('42858','15','','10518','Dataset [{#DATASET_NAME}]: Usage in %','truenas.dataset.pused[{#DATASET_NAME}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//truenas.dataset.used[{#DATASET_NAME}]) * 100 / last(//truenas.dataset.size.total[{#DATASET_NAME}])','','0','','','','','2',NULL,'The used size of the dataset in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fd6b3a3ebfb041b3a9026fb1b4370ec7','0','2','0'),
('42859','20','.1.3.6.1.4.1.50536.1.2.1.1.4.{#SNMPINDEX}','10518','Dataset [{#DATASET_NAME}]: Total space','truenas.dataset.size.total[{#DATASET_NAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe size of the dataset in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5ead1929891a4152b581f9adf35ce4ce','0','2','0'),
('42860','20','.1.3.6.1.4.1.50536.1.2.1.1.5.{#SNMPINDEX}','10518','Dataset [{#DATASET_NAME}]: Used space','truenas.dataset.used[{#DATASET_NAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe used size of the dataset in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0e24fceacd64430abed01294ffd28104','0','2','0'),
('42861','20','.1.3.6.1.4.1.50536.1.1.1.1.6.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Available space','truenas.zpool.avail[{#POOLNAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe available size of the storage pool in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2727c62d279f46b0938b1ef6c3b70fe5','0','2','0'),
('42862','20','.1.3.6.1.4.1.50536.1.1.1.1.7.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Health','truenas.zpool.health[{#POOLNAME}]','1m','31d','365d','0','3','','','','',NULL,'956','','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe current health of the containing pool, as reported by zpool status.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','382c3a50845f4d96a44dc22704768d41','0','2','0'),
('42863','15','','10518','Pool [{#POOLNAME}]: Usage in %','truenas.zpool.pused[{#POOLNAME}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//truenas.zpool.used[{#POOLNAME}]) * 100 / last(//truenas.zpool.size.total[{#POOLNAME}])','','0','','','','','2',NULL,'The used size of the storage pool in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5f972063f958463ab132b8d478092bd8','0','2','0'),
('42864','20','.1.3.6.1.4.1.50536.1.1.1.1.10.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Read rate','truenas.zpool.read.bytes[{#POOLNAME}]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe bandwidth of all read operations (including metadata), expressed as units per second (averaged since system booted).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b5766173631a47ee8c58e24f5c0523b5','0','2','0'),
('42865','20','.1.3.6.1.4.1.50536.1.1.1.1.8.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Read operations rate','truenas.zpool.read.ops[{#POOLNAME}]','1m','31d','365d','0','0','','IOPS','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe number of read I/O operations sent to the pool or device, including metadata requests (averaged since system booted).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f32abc8617c6466d8a92219def967bd8','0','2','0'),
('42866','20','.1.3.6.1.4.1.50536.1.1.1.1.4.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Total space','truenas.zpool.size.total[{#POOLNAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe size of the storage pool in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','567422ecdcec49faac94540f64a05e3a','0','2','0'),
('42867','20','.1.3.6.1.4.1.50536.1.1.1.1.5.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Used space','truenas.zpool.used[{#POOLNAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe used size of the storage pool in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fe5cf78cdcdd4386982f5cd204d99283','0','2','0'),
('42868','20','.1.3.6.1.4.1.50536.1.1.1.1.11.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Write rate','truenas.zpool.write.bytes[{#POOLNAME}]','1m','31d','365d','0','0','','Bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe bandwidth of all write operations, expressed as units per second (averaged since system booted).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d11e981ec16c4da0aee6842bdddfe2fd','0','2','0'),
('42869','20','.1.3.6.1.4.1.50536.1.1.1.1.9.{#SNMPINDEX}','10518','Pool [{#POOLNAME}]: Write operations rate','truenas.zpool.write.ops[{#POOLNAME}]','1m','31d','365d','0','0','','IOPS','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe number of write I/O operations sent to the pool or device (averaged since system booted).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4bfc421633a433ca1b895fa4f5cf96e','0','2','0'),
('42870','20','.1.3.6.1.4.1.50536.1.3.1.1.6.{#SNMPINDEX}','10518','TrueNAS CORE: ZFS volume [{#ZVOL_NAME}]: Available space','truenas.zvol.avail[{#ZVOL_NAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe available of the ZFS volume in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','26967102b3a946c997fbbdcc5c2d78bc','0','2','0'),
('42871','20','.1.3.6.1.4.1.50536.1.3.1.1.4.{#SNMPINDEX}','10518','TrueNAS CORE: ZFS volume [{#ZVOL_NAME}]: Total space','truenas.zvol.size.total[{#ZVOL_NAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe size of the ZFS volume in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc01786aff804d6998b039525214ddbd','0','2','0'),
('42872','20','.1.3.6.1.4.1.50536.1.3.1.1.5.{#SNMPINDEX}','10518','TrueNAS CORE: ZFS volume [{#ZVOL_NAME}]: Used space','truenas.zvol.used[{#ZVOL_NAME}]','1m','31d','365d','0','3','','B','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: FREENAS-MIB\r\nThe used size of the ZFS volume in bytes.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a722d904125d46729c29ad4283d0b1b0','0','2','0'),
('42873','20','1.3.6.1.4.1.2021.13.15.1.1.5.{#SNMPINDEX}','10518','TrueNAS CORE: [{#DEVNAME}]: Disk read rate','vfs.dev.read.rate[{#SNMPINDEX}]','1m','31d','365d','0','0','','!r/s','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-DISKIO-MIB\r\nThe number of read accesses from this device since boot.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ba220c4106cb4bff9dd60c92aee7919a','0','2','0'),
('42874','20','1.3.6.1.4.1.2021.13.15.1.1.9.{#SNMPINDEX}','10518','TrueNAS CORE: [{#DEVNAME}]: Disk utilization','vfs.dev.util[{#SNMPINDEX}]','1m','31d','365d','0','0','','%','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-DISKIO-MIB\r\nThe 1 minute average load of disk (%).','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0dd2f25f1d2a45f2ae265d8550fe7d45','0','2','0'),
('42875','20','1.3.6.1.4.1.2021.13.15.1.1.6.{#SNMPINDEX}','10518','TrueNAS CORE: [{#DEVNAME}]: Disk write rate','vfs.dev.write.rate[{#SNMPINDEX}]','1m','31d','365d','0','0','','!w/s','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: UCD-DISKIO-MIB\r\nThe number of write accesses from this device since boot.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1549def5cf23434b8d0a19ac951eb2ff','0','2','0'),
('42877','3','','10175','Get sensors','vmware.hv.sensors.get[{$VMWARE.URL},{$VMWARE.HV.UUID}]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','{$VMWARE.USERNAME}','{$VMWARE.PASSWORD}','','','0',NULL,'Master item for sensor data.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3c9d6ffb53624758ad888bf70f69218c','0','2','0'),
('42880','0','','10329','Get queries','pgsql.queries["{$PG.CONNSTRING.AGENT2}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Collect all metrics by query execution time.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','01123126fcd54adc84c3bbfa227d9c0c','0','2','0'),
('42930','3','','10519','Service ping','net.tcp.service["{$COCKROACHDB.API.SCHEME}","{$COCKROACHDB.API.HOST}","{$COCKROACHDB.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'963','','','0','','','','','0',NULL,'Check if HTTP/HTTPS service accepts TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00afa7b32af9499c89e939c96e0e29d1','0','2','0'),
('42931','19','','10519','Get health','cockroachdb.get_health','1m','31d','365d','0','3','','','','',NULL,'961','','','0','','','','','0',NULL,'Get node /health endpoint','0','30d','0','',NULL,'15s','{$COCKROACHDB.API.SCHEME}://{$COCKROACHDB.API.HOST}:{$COCKROACHDB.API.PORT}/health','','','200,500','1','0','','','1','0','0','0','0','0','0','a8cd030e869b4d788126ee5fa35d3403','0','2','0'),
('42932','19','','10519','Get readiness','cockroachdb.get_readiness','1m','31d','365d','0','3','','','','',NULL,'962','','','0','','','','','0',NULL,'Get node /health?ready=1 endpoint','0','30d','0','',NULL,'15s','{$COCKROACHDB.API.SCHEME}://{$COCKROACHDB.API.HOST}:{$COCKROACHDB.API.PORT}/health?ready=1','','','200,503','1','0','','','1','0','0','0','0','0','0','3e5e18e02b1b4f8d8f17c2e7d993169c','0','2','0'),
('42933','19','','10519','Get metrics','cockroachdb.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from the Prometheus endpoint.','0','30d','0','',NULL,'15s','{$COCKROACHDB.API.SCHEME}://{$COCKROACHDB.API.HOST}:{$COCKROACHDB.API.PORT}/_status/vars','','','200','1','0','','','0','0','0','0','0','0','0','926415babea74e2f951a0420bbdf1d8d','0','2','0'),
('42987','15','','10519','Storage [{#STORE}]: Capacity available in %','cockroachdb.storage.capacity.[{#STORE},available_percent]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//cockroachdb.storage.capacity.[{#STORE},available]) / last(//cockroachdb.storage.capacity.[{#STORE},total]) * 100','','0','','','','','2',NULL,'Available storage capacity in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bb07359b779d4e4080593a02c18dc8c1','0','2','0'),
('42988','15','','10519','Storage [{#STORE}]: RocksDB cache hit ratio','cockroachdb.rocksdb.cache.[{#STORE},hit_ratio]','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//cockroachdb.rocksdb.cache.hits.[{#STORE},rate]) / (last(//cockroachdb.rocksdb.cache.hits.[{#STORE},rate]) + last(//cockroachdb.rocksdb.cache.misses.[{#STORE},rate])) * 100','','0','','','','','2',NULL,'Block cache hit ratio in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cafdf6248d114787b2a3f9647a4afea9','0','2','0'),
('43018','19','','10520','Get node metrics','envoy.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get server metrics.','0','30d','0','',NULL,'','{$ENVOY.URL}{$ENVOY.METRICS.PATH}','','','200','1','0','','','0','0','0','0','0','0','0','c6baf4c4e99f4516a23f87c089252a82','0','2','0'),
('43050','15','','10520','Cluster ["{#CLUSTER_NAME}"]: Membership, unhealthy','envoy.cluster.membership_unhealthy["{#CLUSTER_NAME}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'last(//envoy.cluster.membership_total["{#CLUSTER_NAME}"]) - last(//envoy.cluster.membership_healthy["{#CLUSTER_NAME}"])','','0','','','','','2',NULL,'Current cluster unhealthy.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d453ade473ae4beaab06afa117814a1b','0','2','0'),
('43077','5','','10361','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'967','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - unknown\r\n1 - available\r\n2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b20b5df8198e4cdc8b584061f6815d5d','0','2','0'),
('43078','5','','10326','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'968','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - unknown\r\n1 - available\r\n2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bfe53ca77e2046d6bb9ece5250e227f1','0','2','0'),
('43079','5','','10343','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'969','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - unknown\r\n1 - available\r\n2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','090fb1a5698e4e7080abf379b377b6f5','0','2','0'),
('43080','5','','10351','Active agent availability','zabbix[host,active_agent,available]','1m','31d','365d','0','3','','','','',NULL,'970','','','0','','','','','0',NULL,'Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - unknown\r\n1 - available\r\n2 - not available','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1ac6ebdb5c98415b94cb44da5feeac7f','0','2','0'),
('43081','21','','10521','Get local services','consul.get_local_services','1m','0','0','0','4','','','','',NULL,NULL,'var Consul = {\r\n	setParams: function (params) {\r\n		[\'api_endpoint\', \'token\'].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		Consul.params = params;\r\n		if (typeof Consul.params.api_endpoint === \'string\' && !Consul.params.api_endpoint.endsWith(\'/\')) {\r\n			Consul.params.api_endpoint += \'/\';\r\n		}\r\n	},\r\n\r\n	request: function (query) {\r\n		var response,\r\n			request = new HttpRequest(),\r\n			url = Consul.params.api_endpoint + query;\r\n\r\n		request.addHeader(\'Content-Type: application/json\');\r\n		request.addHeader(\'X-Consul-Token: \' + Consul.params.token);\r\n\r\n		Zabbix.log(4, \'[ Consul ] Sending request: \' + url);\r\n		response = request.get(url);\r\n\r\n		Zabbix.log(4, \'[ Consul ] 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 Consul Agent API.\';\r\n			}\r\n		}\r\n\r\n		return {\r\n			status: request.getStatus(),\r\n			response: response\r\n		};\r\n	},\r\n\r\n	getServices: function () {\r\n		var result = Consul.request(\'v1/agent/services\'),\r\n			services = [];\r\n\r\n		if (typeof result.response !== \'object\' || result.status != 200) {\r\n			throw \'Cannot get service list from Consul Agent API.\';\r\n		}\r\n\r\n		Object.keys(result.response).forEach(function (service) {\r\n			services.push(result.response[service][\'ID\']);\r\n		});\r\n\r\n		return services;\r\n	},\r\n\r\n	getServiceStats: function (service_id) {\r\n		var result = Consul.request(\'v1/agent/health/service/id/\' + service_id);\r\n\r\n		if (typeof result.response !== \'object\' || [200, 429, 503].indexOf(result.status) === -1) {\r\n			throw \'Cannot get service info from Consul Agent API.\';\r\n		}\r\n\r\n		return result.response;\r\n	}\r\n}\r\n\r\ntry {\r\n	Consul.setParams(JSON.parse(value));\r\n\r\n	var services = Consul.getServices(),\r\n		result = [];\r\n\r\n	services.forEach(function (service) {\r\n		var service_stats = Consul.getServiceStats(service);\r\n\r\n		result.push({\r\n			\'id\': service,\r\n			\'name\': service_stats[\'Service\'][\'Service\'],\r\n			\'status\': service_stats[\'AggregatedStatus\'],\r\n			\'checks\': service_stats[\'Checks\'],\r\n			\'namespace\': typeof service_stats[\'Service\'][\'Namespace\'] === \'undefined\' ? \'None\' : service_stats[\'Service\'][\'Namespace\']\r\n		});\r\n	});\r\n\r\n	return JSON.stringify(result);\r\n}\r\ncatch (error) {\r\n	error += ((String(error).endsWith(\'.\')) ? \'\' : \'.\');\r\n	Zabbix.log(3, \'[ Consul ] ERROR: \' + error);\r\n\r\n	return JSON.stringify({error: error + \' Check debug log for more information.\'});\r\n}','','0','','','','','0',NULL,'Get all the services that are registered with the local agent and their status.','0','30d','0','',NULL,'15s','','','','200','1','0','','','0','0','0','0','0','0','0','2b3cbe778f1c4d858e43320b8c25960d','0','2','0'),
('43082','19','','10521','Get node info','consul.get_node_info','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get configuration and member information of the local agent.','0','30d','0','',NULL,'15s','{$CONSUL.NODE.API.URL}/v1/agent/self','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','7e2689de8d78499fb52d718989b7ec8b','0','2','0'),
('43083','19','','10521','Get instance metrics','consul.get_metrics','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get raw metrics from Consul instance /metrics endpoint.','0','30d','0','',NULL,'15s','{$CONSUL.NODE.API.URL}/v1/agent/metrics?format=prometheus','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','c0e199969c19444fb68fd8497fcab047','0','2','0'),
('43156','19','','10522','Get services','consul.get_catalog_services','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Catalog of services registered in a given datacenter.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/catalog/services','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}\r\nX-Consul-Namespace: {$CONSUL.NAMESPACE}','0','0','0','0','0','0','0','fd087c72bb7842c6b84b0b70788506b0','0','2','0'),
('43157','19','','10522','Get nodes Serf health status','consul.get_cluster_serf','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Get Serf Health Status for all agents in cluster.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/health/state/any?filter=CheckID==serfHealth','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}\r\nX-Consul-Namespace: {$CONSUL.NAMESPACE}','0','0','0','0','0','0','0','cad23435cc454f01b47034bd8427931d','0','2','0'),
('43158','19','','10522','Cluster leader','consul.get_leader','1m','31d','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Current leader address.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/status/leader','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','e52fcc1af52e4df5b18118355260a8d6','0','2','0'),
('43159','19','','10522','Get nodes','consul.get_nodes','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Catalog of nodes registered in a given datacenter.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/catalog/nodes','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','859451004516499e9636d96cde023d21','0','2','0'),
('43160','19','','10522','Nodes: peers','consul.get_peers','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'The number of Raft peers for the datacenter in which the agent is running.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/status/peers','','','200','1','0','','X-Consul-Token: {$CONSUL.TOKEN}','0','0','0','0','0','0','0','2400f78a5ada4a59b63fc049b6e3b3bf','0','2','0'),
('43168','19','','10522','["{#SERVICE_NAME}"]: Get raw service state','consul.get_service_stats["{#SERVICE_NAME}"]','1m','0','0','0','4','','','','',NULL,NULL,'','','0','','','','','2',NULL,'Retrieve service instances providing the service indicated on the path.','0','30d','0','',NULL,'15s','{$CONSUL.CLUSTER.URL}/v1/health/service/{#SERVICE_NAME}','','','200, 429, 503','1','0','','X-Consul-Token: {$CONSUL.TOKEN}\r\nX-Consul-Namespace: {$CONSUL.NAMESPACE}','0','0','0','0','0','0','0','38576dd458a94259ab273204ffe9aebd','0','2','0'),
('43174','21','','10524','Get data','hpe.msa.get.data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),\r\n	fields = [\'username\', \'password\', \'base_url\'],\r\n	methods = [\r\n		\'system\',\r\n		\'controllers\',\r\n		\'controller-statistics\',\r\n		\'frus\',\r\n		\'disk-groups\',\r\n		\'disk-group-statistics\',\r\n		\'disks\',\r\n		\'enclosures\',\r\n		\'fans\',\r\n		\'pools\',\r\n		\'ports\',\r\n		\'power-supplies\',\r\n		\'volumes\',\r\n		\'volume-statistics\'\r\n	],\r\n	data_tmp = {},\r\n	result_tmp = {},\r\n	session_key,\r\n	data = {};\r\n\r\nfields.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\nif (!params.base_url.endsWith(\'/\')) {\r\n	params.base_url += \'/\';\r\n}\r\n\r\nvar response, request = new HttpRequest();\r\nrequest.addHeader(\'datatype: xml\');\r\n\r\nauth_string = md5(params.username + \'_\' + params.password);\r\nresponse = request.get(params.base_url + \'api/login/\' + auth_string);\r\n\r\nif (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n	throw \'Authentication request has failed with status code \' + request.getStatus() + \': \' + response;\r\n}\r\n\r\nif (response !== null) {\r\n	try {\r\n		session_key = XML.query(response, \'/RESPONSE/OBJECT/PROPERTY[@name="response"]/text()\');\r\n		return_code = XML.query(response, \'/RESPONSE/OBJECT/PROPERTY[@name="return-code"]/text()\');\r\n	}\r\n	catch (error) {\r\n		throw \'Failed to parse authentication response received from device API.\';\r\n	}\r\n}\r\n\r\nif (return_code != \'1\') {\r\n	throw \'Authentication failed.\';\r\n}\r\nelse if (session_key === \'\') {\r\n	throw \'Failed to retrieve session key from authentication response.\';\r\n}\r\n\r\nrequest.clearHeader();\r\nrequest.addHeader(\'sessionKey: \' + session_key);\r\nrequest.addHeader(\'datatype: api-embed\');\r\n\r\ndata.errors = [];\r\n\r\nmethods.forEach(function (method) {\r\n	response = request.get(params.base_url + \'api/show/\' + method);\r\n	method_error = \'\';\r\n\r\n	if (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n		method_error = \'Method: \' + method + \'. Request has failed with status code \' + request.getStatus() + \': \' + response;\r\n		data.errors.push(method_error);\r\n		return;\r\n	}\r\n\r\n	if (response !== null) {\r\n		try {\r\n			result_tmp = JSON.parse(XML.toJson(response));\r\n			data[method] = [];\r\n\r\n			result_tmp.RESPONSE.OBJECT.forEach(function (object) {\r\n				var data_tmp = {};\r\n\r\n				if (object[\'@basetype\'] !== \'status\' && object[\'@basetype\'] !== \'enclosure-sku\') {\r\n					object.PROPERTY.forEach(function (property) {\r\n						name = property[\'@name\'];\r\n						value = property[\'#text\'] || \'\';\r\n						data_tmp[name] = value;\r\n					});\r\n\r\n					if (method == \'controller-statistics\') {\r\n						data_tmp[\'durable-id\'] = data_tmp[\'durable-id\'].toLowerCase();\r\n					}\r\n\r\n					data[method].push(data_tmp);\r\n				}\r\n			});\r\n		}\r\n		catch (error) {\r\n			method_error = \'Method: \' + method + \'. Failed to parse response received from device API.\';\r\n		}\r\n	}\r\n	else {\r\n		method_error = \'Method: \' + method + \'. No data received by request.\';\r\n	}\r\n\r\n	if (method_error.length > 0) {\r\n		data.errors.push(method_error);\r\n	}\r\n});\r\n\r\nif (data.errors.length == 0) {\r\n	data.errors = \'\';\r\n}\r\n\r\nresponse = request.get(params.base_url + \'api/exit\');\r\n\r\nif (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n	throw \'Logout request failed with status code \' + request.getStatus() + \': \' + response;\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The JSON with result of API requests.','0','30d','0','',NULL,'{$HPE.MSA.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','e07e09dbcdd44f509a06343c9a53a455','0','2','0'),
('43175','3','','10524','Service ping','net.tcp.service["{$HPE.MSA.API.SCHEME}","{$HPE.MSA.API.HOST}","{$HPE.MSA.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Check if HTTP/HTTPS service accepts TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1242f5aede14008ae6896123bb944a5','0','2','0'),
('43194','15','','10524','Disk group [{#NAME}]: Space utilization','hpe.msa.disks.groups.space["{#NAME}",util]','1m','31d','365d','0','0','','%','','',NULL,NULL,'100-last(//hpe.msa.disks.groups.space["{#NAME}",free])/last(//hpe.msa.disks.groups.space["{#NAME}",total])*100','','0','','','','','2',NULL,'The space utilization percentage in the disk group.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','760b63c8140544dd8af0de8fd873c8cb','0','2','0'),
('43195','15','','10524','Pool [{#NAME}]: Space utilization','hpe.msa.pools.space["{#NAME}",util]','1m','31d','365d','0','0','','%','','',NULL,NULL,'100-last(//hpe.msa.pools.space["{#NAME}",free])/last(//hpe.msa.pools.space["{#NAME}",total])*100','','0','','','','','2',NULL,'The space utilization percentage in the pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','cc361d77ac8046fc833db41fbd5d2cd3','0','2','0'),
('43281','21','','10525','Get data','hpe.msa.get.data','1m','0','0','0','4','','','','',NULL,NULL,'var params = JSON.parse(value),\r\n	fields = [\'username\', \'password\', \'base_url\'],\r\n	methods = [\r\n		\'system\',\r\n		\'controllers\',\r\n		\'controller-statistics\',\r\n		\'frus\',\r\n		\'disk-groups\',\r\n		\'disk-group-statistics\',\r\n		\'disks\',\r\n		\'enclosures\',\r\n		\'fans\',\r\n		\'pools\',\r\n		\'ports\',\r\n		\'power-supplies\',\r\n		\'volumes\',\r\n		\'volume-statistics\'\r\n	],\r\n	result = {},\r\n	data = {};\r\n\r\nfields.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\nif (!params.base_url.endsWith(\'/\')) {\r\n	params.base_url += \'/\';\r\n}\r\n\r\nvar response, request = new HttpRequest();\r\nrequest.addHeader(\'datatype: json\');\r\n\r\nauth_string = sha256(params.username + \'_\' + params.password);\r\n\r\nresponse = request.get(params.base_url + \'api/login/\' + auth_string);\r\n\r\nif (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n	throw \'Authentication request has failed with status code \' + request.getStatus() + \': \' + response;\r\n}\r\n\r\nif (response !== null) {\r\n	try {\r\n		auth_data = JSON.parse(response);\r\n	}\r\n	catch (error) {\r\n		throw \'Failed to parse authentication response received from device API.\';\r\n	}\r\n}\r\n\r\nsession_key = auth_data[\'status\'][0][\'response\'];\r\n\r\nrequest.addHeader(\'sessionKey: \' + session_key);\r\n\r\ndata.errors = [];\r\n\r\nmethods.forEach(function (method) {\r\n	response = request.get(params.base_url + \'api/show/\' + method);\r\n	method_error = \'\';\r\n\r\n	if (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n		method_error = \'Method: \' + method + \'. Request has failed with status code \' + request.getStatus() + \': \' + response;\r\n		data.errors.push(method_error);\r\n		return;\r\n	}\r\n\r\n	if (response !== null) {\r\n		try {\r\n			result = JSON.parse(response);\r\n			switch (method) {\r\n				case \'controller-statistics\':\r\n					var stats_array = result[\'controller-statistics\'] || [];\r\n					for (var i = 0; i < stats_array.length; i++) {\r\n						result[\'controller-statistics\'][i][\'durable-id\'] = result[\'controller-statistics\'][i][\'durable-id\'].toLowerCase();\r\n					}\r\n					data[method] = result[method];\r\n					break;\r\n				case \'frus\':\r\n					data[method] = result[\'enclosure-fru\'];\r\n					break;\r\n				case \'disks\':\r\n					data[method] = result[\'drives\'];\r\n					break;\r\n				case \'fans\':\r\n					data[method] = result[\'fan\'];\r\n					break;\r\n				case \'ports\':\r\n					data[method] = result[\'port\'];\r\n					break;\r\n				default:\r\n					data[method] = result[method];\r\n			}\r\n		}\r\n		catch (error) {\r\n			method_error = \'Method: \' + method + \'. Failed to parse response received from device API.\';\r\n		}\r\n	}\r\n	else {\r\n		method_error = \'Method: \' + method + \'. No data received by request.\';\r\n	}\r\n\r\n	if (method_error.length > 0) {\r\n		data.errors.push(method_error);\r\n	}\r\n});\r\n\r\nif (data.errors.length == 0) {\r\n	data.errors = \'\';\r\n}\r\n\r\nreturn JSON.stringify(data);','','0','','','','','0',NULL,'The JSON with result of API requests.','0','30d','0','',NULL,'{$HPE.MSA.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','bafec666b170480f941fe25cb3cf903d','0','2','0'),
('43282','3','','10525','Service ping','net.tcp.service["{$HPE.MSA.API.SCHEME}","{$HPE.MSA.API.HOST}","{$HPE.MSA.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'Check if HTTP/HTTPS service accepts TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3831060089ff497993088472e922df38','0','2','0'),
('43301','15','','10525','Disk [{#DURABLE.ID}]: Space total','hpe.msa.disks.space["{#DURABLE.ID}",total]','1h','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.disks.blocks["{#DURABLE.ID}",size])*last(//hpe.msa.disks.blocks["{#DURABLE.ID}",total])','','0','','','','','2',NULL,'Total size of the disk.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6c20cf4e84b0427fbe797fc209d78785','0','2','0'),
('43302','15','','10525','Disk group [{#NAME}]: Space utilization','hpe.msa.disks.groups.space["{#NAME}",util]','1m','31d','365d','0','0','','%','','',NULL,NULL,'100-last(//hpe.msa.disks.groups.space["{#NAME}",free])/last(//hpe.msa.disks.groups.space["{#NAME}",total])*100','','0','','','','','2',NULL,'The space utilization percentage in the disk group.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2a9c7f901f494b8bb7d2c74cd7c3030c','0','2','0'),
('43303','15','','10525','Disk group [{#NAME}]: Space total','hpe.msa.disks.groups.space["{#NAME}",total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.disks.groups.blocks["{#NAME}",size])*last(//hpe.msa.disks.groups.blocks["{#NAME}",total])','','0','','','','','2',NULL,'The capacity of the disk group.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb3dd5308c97446693932206be17ace3','0','2','0'),
('43304','15','','10525','Disk group [{#NAME}]: Space free','hpe.msa.disks.groups.space["{#NAME}",free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.disks.groups.blocks["{#NAME}",size])*last(//hpe.msa.disks.groups.blocks["{#NAME}",free])','','0','','','','','2',NULL,'The free space in the disk group.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b0d49d3da6b14b9cb8eeb95a3665a26e','0','2','0'),
('43305','15','','10525','Pool [{#NAME}]: Space free','hpe.msa.pools.space["{#NAME}",free]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.pools.blocks["{#NAME}",size])*last(//hpe.msa.pools.blocks["{#NAME}",available])','','0','','','','','2',NULL,'The free space in the pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d99eeba76b354e73b0118b46402d93bf','0','2','0'),
('43306','15','','10525','Pool [{#NAME}]: Space total','hpe.msa.pools.space["{#NAME}",total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.pools.blocks["{#NAME}",size])*last(//hpe.msa.pools.blocks["{#NAME}",total])','','0','','','','','2',NULL,'The capacity of the pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9fce545fbe724da28a13b8ca8759c37d','0','2','0'),
('43307','15','','10525','Pool [{#NAME}]: Space utilization','hpe.msa.pools.space["{#NAME}",util]','1m','31d','365d','0','0','','%','','',NULL,NULL,'100-last(//hpe.msa.pools.space["{#NAME}",free])/last(//hpe.msa.pools.space["{#NAME}",total])*100','','0','','','','','2',NULL,'The space utilization percentage in the pool.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ad9bdb342a494d82a36e42e75a3bbf3e','0','2','0'),
('43308','15','','10525','Volume [{#NAME}]: Space total','hpe.msa.volumes.space["{#NAME}",total]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.volumes.blocks["{#NAME}",size])*last(//hpe.msa.volumes.blocks["{#NAME}",total])','','0','','','','','2',NULL,'The capacity of the volume.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','eb09d8791bb84c8aadf5cdcac3d76413','0','2','0'),
('43309','15','','10525','Volume [{#NAME}]: Space allocated','hpe.msa.volumes.space["{#NAME}",allocated]','1m','31d','365d','0','3','','B','','',NULL,NULL,'last(//hpe.msa.volumes.blocks["{#NAME}",size])*last(//hpe.msa.volumes.blocks["{#NAME}",allocated])','','0','','','','','2',NULL,'The amount of space currently allocated to the volume.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','860855a80c554e0685d4d4125342b547','0','2','0'),
('43398','3','','10526','Service ping','net.tcp.service["{$HPE.PRIMERA.API.SCHEME}","{$HPE.PRIMERA.API.HOST}","{$HPE.PRIMERA.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1005','','','0','','','','','0',NULL,'Checks if the service is running and accepting TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0b4fdee38a64c5f82fd051ea74a7b2d','0','2','0'),
('43399','21','','10526','Get data','hpe.primera.get.data','1m','0','0','0','4','','','','',NULL,NULL,'var Primera = {\r\n	params: {},\r\n	session_key: null,\r\n\r\n	setParams: function (params) {\r\n		[\'username\', \'password\', \'base_url\'].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		Primera.params = params;\r\n		if (typeof Primera.params.base_url === \'string\' && !Primera.params.base_url.endsWith(\'/\')) {\r\n			Primera.params.base_url += \'/\';\r\n		}\r\n	},\r\n\r\n	login: function () {\r\n		if (Primera.session_key !== null) {\r\n			return;\r\n		}\r\n\r\n		var response, request = new HttpRequest();\r\n		request.addHeader(\'Content-Type: application/json\');\r\n\r\n		response = request.post(Primera.params.base_url + \'api/v1/credentials\', JSON.stringify({\r\n			\'user\': Primera.params.username,\r\n			\'password\': Primera.params.password\r\n		}));\r\n\r\n		if (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n			throw \'Auth request failed with status code \' + request.getStatus() + \': \' + response;\r\n		}\r\n\r\n		if (response !== null) {\r\n			try {\r\n				auth_data = JSON.parse(response);\r\n			}\r\n			catch (error) {\r\n				throw \'Failed to parse auth response received from device API.\';\r\n			}\r\n		}\r\n		else {\r\n			throw \'No data received by auth request.\'\r\n		}\r\n\r\n		if (\'key\' in auth_data) {\r\n			Primera.session_key = auth_data[\'key\'];\r\n		} else {\r\n			throw \'Auth response does not contain session key.\'\r\n		}\r\n	},\r\n\r\n	logout: function () {\r\n		if (Primera.session_key !== null) {\r\n			(new HttpRequest()).delete(Primera.params.base_url + \'api/v1/credentials/\' + Primera.session_key);\r\n		}\r\n	},\r\n\r\n	requestData: function (method) {\r\n		if (Primera.session_key === null) {\r\n			return;\r\n		}\r\n\r\n		request = new HttpRequest();\r\n		request.addHeader(\'X-HP3PAR-WSAPI-SessionKey: \' + Primera.session_key);\r\n\r\n		raw_data = request.get(Primera.params.base_url + \'api/v1/\' + method);\r\n\r\n		if (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n			throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n		}\r\n\r\n		if (raw_data !== null) {\r\n			try {\r\n				return JSON.parse(raw_data);\r\n			}\r\n			catch (error) {\r\n				throw \'Failed to parse response received from device API.\';\r\n			}\r\n		}\r\n		else {\r\n			throw \'No data received by \' + method + \' request.\';\r\n		}\r\n	}\r\n};\r\n\r\nvar methods = [\'disks\', \'cpgs\', \'hosts\', \'ports\', \'system\', \'tasks\', \'volumes\'],\r\n	data = {};\r\n\r\ndata[\'errors\'] = {};\r\n\r\ntry {\r\n	Primera.setParams(JSON.parse(value));\r\n\r\n	try {\r\n		Primera.login();\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		for (var i in methods) {\r\n			try {\r\n				if (methods[i] === \'tasks\') {\r\n					var result = [],\r\n						tmp_tasks = {};\r\n\r\n					tasks = Primera.requestData(methods[i]);\r\n\r\n					tasks.members.forEach(function (task) {\r\n						tmp_tasks[task.name] = task;\r\n					});\r\n\r\n					for (var task in tmp_tasks) {\r\n						result.push(tmp_tasks[task]);\r\n					}\r\n\r\n					data[methods[i]] = result;\r\n				}\r\n				else {\r\n					data[methods[i]] = Primera.requestData(methods[i]);\r\n				}\r\n			}\r\n			catch (error) {\r\n				data.errors[methods[i]] = 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\ntry {\r\n	Primera.logout();\r\n}\r\ncatch (error) {\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 JSON with result of WSAPI requests.','0','30d','0','',NULL,'{$HPE.PRIMERA.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','530e20083da8423e9d30c8342f1b7da3','0','2','0'),
('43497','21','','10527','Get metrics data','aws.ec2.get_metrics','0s;m/5','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	request_period: 600,\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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 = AWS.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 = AWS.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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS EC2 ] Sending request: \' + url);\r\n		response = request.get(url);\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		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(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 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 - AWS.request_period * 1000).toISOString().replace(/\\.\\d+Z/, \'Z\'),\r\n			payload = AWS.prepareRecursive(\'MetricDataQueries\', AWS.renderPayload(AWS.request_period, AWS.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 = AWS.request(\'GET\', AWS.params.region, \'monitoring\', AWS.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	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.getMetricsData());\r\n}\r\ncatch (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','0','2','0'),
('43498','21','','10527','Get volumes data','aws.ec2.get_volumes','5m','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	request_period: 600,\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path, val) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || data === null || typeof data[step] === \'undefined\') {\r\n				if (typeof val === \'undefined\') {\r\n					throw \'Required field was not found: \' + path;\r\n				}\r\n				return val\r\n			}\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS EBS ] Sending request: \' + url);\r\n		response = request.get(url);\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		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(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 response;\r\n	},\r\n\r\n	getVolumesData: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeVolumes\',\r\n			\'Version\': \'2016-11-15\',\r\n			\'Filter.1.Name\': \'attachment.instance-id\',\r\n			\'Filter.1.Value\': AWS.params.instance_id,\r\n			\'MaxResults\': 100\r\n		},\r\n			value = [],\r\n			volumes_list = [];\r\n\r\n		while (payload.NextToken !== \'\') {\r\n			var result = AWS.getField(AWS.request(\'GET\', AWS.params.region, \'ec2\', AWS.prepareParams(payload)), \'DescribeVolumesResponse\'),\r\n				volumes_set = AWS.getField(result, \'volumeSet\'),\r\n				volumes = AWS.getField(volumes_set, \'item\', value);\r\n			volumes_list.push(Array.isArray(volumes) ? volumes : [volumes]);\r\n			payload.NextToken = result.nextToken || \'\';\r\n		}\r\n		var flattenedData = volumes_list.reduce(function (acc, val) {\r\n			return acc.concat(val);\r\n		}, []);\r\n		return flattenedData;\r\n	}\r\n};\r\n\r\ntry {\r\n	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.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','0','2','0'),
('43499','21','','10527','Get instance alarms data','aws.ec2.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path, val) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || data === null || typeof data[step] === \'undefined\') {\r\n				if (typeof val === \'undefined\') {\r\n					throw \'Required field was not found: \' + path;\r\n				}\r\n				return val\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS EC2  ] Sending request: \' + url);\r\n		response = request.get(url);\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		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(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 response;\r\n	},\r\n\r\n	getVolumes: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeVolumes\',\r\n			\'Version\': \'2016-11-15\',\r\n			\'MaxResults\': 100,\r\n			\'Filter.1.Name\': \'attachment.instance-id\',\r\n			\'Filter.1.Value\': AWS.params.instance_id\r\n		},\r\n			value = [],\r\n			volumes = [],\r\n			volumes_list = [];\r\n\r\n		while (payload.NextToken !== \'\') {\r\n			var result = AWS.getField(AWS.request(\'GET\', AWS.params.region, \'ec2\', AWS.prepareParams(payload)), \'DescribeVolumesResponse\');\r\n			payload.NextToken = result.nextToken || \'\';\r\n			volumes = AWS.getField(result, \'volumeSet.item\', value);\r\n			volumes_list.push(Array.isArray(volumes) ? volumes : [volumes])\r\n\r\n		}\r\n		var flattenedData = volumes_list.reduce(function (acc, val) {\r\n			return acc.concat(val);\r\n		}, []);\r\n		return flattenedData;\r\n	},\r\n\r\n	getAlarms: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeAlarms\',\r\n			\'Version\': \'2010-08-01\',\r\n			\'MaxRecords\': 100\r\n		},\r\n			result = [],\r\n			volumes = AWS.getVolumes()\r\n\r\n		while (payload.NextToken !== \'\') {\r\n			var alarms = AWS.getField(AWS.request(\'GET\', AWS.params.region, \'monitoring\', AWS.prepareParams(payload)), \'DescribeAlarmsResponse.DescribeAlarmsResult\');\r\n			payload.NextToken = alarms.NextToken || \'\';\r\n			alarms_list = AWS.getField(alarms, \'MetricAlarms\');\r\n\r\n			if (!Array.isArray(alarms_list))\r\n				alarms_list = [alarms_list];\r\n			alarms_list.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 === AWS.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\ntry {\r\n	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.getAlarms());\r\n}\r\ncatch (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','0','2','0'),
('43528','21','','10527','[{#VOLUME_ID}]: Get metrics','aws.ec2.get_ebs_metrics["{#VOLUME_ID}"]','0s;m/5','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	request_period: 600,\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\r\n	},\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 = AWS.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 = AWS.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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS EBS ] Sending request: \' + url);\r\n		response = request.get(url);\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 - AWS.request_period * 1000).toISOString().replace(/\\.\\d+Z/, \'Z\'),\r\n			payload = AWS.prepareRecursive(\'MetricDataQueries\', AWS.renderPayload(AWS.request_period, AWS.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 = AWS.request(\'GET\', AWS.params.region, \'monitoring\', AWS.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	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.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','0','2','0'),
('43547','20','.1.3.6.1.2.1.25.4.2.1.7["index",".1.3.6.1.2.1.25.4.2.1.2","dhcpd"]','10528','DHCP server status','opnsense.dhcpd.status','1m','31d','365d','0','3','','','','',NULL,'1018','','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe status of DHCP server process.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1a075e6ed87c4d40b912956e9c02573f','0','2','0'),
('43548','20','.1.3.6.1.4.1.12325.1.200.1.11.1.0','10528','Firewall rules count','opnsense.rules.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of labeled filter rules on this system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','289cece23b5d4f17ba50d0373db4ed33','0','2','0'),
('43549','15','','10528','States table utilization in %','opnsense.state.table.pused','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//opnsense.state.table.count) * 100 / last(//opnsense.state.table.limit)','','0','','','','','0',NULL,'Utilization of state table in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17a0f633e2a14e63b0282b785a66c62a','0','2','0'),
('43550','20','1.3.6.1.4.1.12325.1.200.1.5.1.0','10528','States table limit','opnsense.state.table.limit','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nMaximum number of \'keep state\' rules in the ruleset.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3bd8ea1e2cb44b4cb0f7d16a9339b9e4','0','2','0'),
('43551','20','1.3.6.1.4.1.12325.1.200.1.3.1.0','10528','States table current','opnsense.state.table.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nNumber of entries in the state table.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1c399a2204bc44d4a9b1a4017840fd75','0','2','0'),
('43552','15','','10528','Source tracking table utilization in %','opnsense.source.tracking.table.pused','1m','31d','365d','0','0','','%','','',NULL,NULL,'last(//opnsense.source.tracking.table.count) * 100 / last(//opnsense.source.tracking.table.limit)','','0','','','','','0',NULL,'Utilization of source tracking table in %.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1452fc4e67564233b12dc892fde1959a','0','2','0'),
('43553','20','1.3.6.1.4.1.12325.1.200.1.5.2.0','10528','Source tracking table limit','opnsense.source.tracking.table.limit','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nMaximum number of \'sticky-address\' or \'source-track\' rules in the ruleset.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a9b848d5c2254efdaf74ff48ce4003c4','0','2','0'),
('43554','20','1.3.6.1.4.1.12325.1.200.1.4.1.0','10528','Source tracking table current','opnsense.source.tracking.table.count','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nNumber of entries in the source tracking table.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e40ddbf15a54b0e8ae2d1c52d5c2eba','0','2','0'),
('43555','20','1.3.6.1.4.1.12325.1.200.1.1.1.0','10528','Packet filter running status','opnsense.pf.status','1m','31d','365d','0','3','','','','',NULL,'1019','','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if packet filter is currently enabled.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2b82b136ea943909a7b6317bf8b7785','0','2','0'),
('43556','20','.1.3.6.1.2.1.25.4.2.1.7["index",".1.3.6.1.2.1.25.4.2.1.2","unbound"]','10528','DNS server status','opnsense.dns.status','1m','31d','365d','0','3','','','','',NULL,'1018','','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe status of DNS server process.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c52c2b9a3d4e4446a8af02e5a51e9c55','0','2','0'),
('43557','20','1.3.6.1.4.1.12325.1.200.1.2.4.0','10528','Short packets','opnsense.packets.short','1m','31d','365d','0','0','','pps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if the packet was logged with the specified packet filter reason code. The known codes are: match, bad-offset, fragment, short, normalize, and memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b845d8282ee4c1394c71c22ada31da9','0','2','0'),
('43558','20','1.3.6.1.4.1.12325.1.200.1.2.5.0','10528','Normalized packets','opnsense.packets.normalize','1m','31d','365d','0','0','','pps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if the packet was logged with the specified packet filter reason code. The known codes are: match, bad-offset, fragment, short, normalize, and memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7c8d4623d2fd4b77b0749caa67530bb2','0','2','0'),
('43559','20','1.3.6.1.4.1.12325.1.200.1.2.6.0','10528','Packets dropped due to memory limitation','opnsense.packets.mem.drop','1m','31d','365d','0','0','','pps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if the packet was logged with the specified packet filter reason code. The known codes are: match, bad-offset, fragment, short, normalize, and memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3983366c271f4e9896d738c58f2d850f','0','2','0'),
('43560','20','1.3.6.1.4.1.12325.1.200.1.2.1.0','10528','Packets matched a filter rule','opnsense.packets.match','1m','31d','365d','0','0','','pps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if the packet was logged with the specified packet filter reason code. The known codes are: match, bad-offset, fragment, short, normalize, and memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ae0bfb3bd36e4b05ae490c4b70ba1313','0','2','0'),
('43561','20','1.3.6.1.4.1.12325.1.200.1.2.3.0','10528','Fragmented packets','opnsense.packets.fragment','1m','31d','365d','0','0','','pps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if the packet was logged with the specified packet filter reason code. The known codes are: match, bad-offset, fragment, short, normalize, and memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','f8503508e3e646c781d637d1aefaf21a','0','2','0'),
('43562','20','1.3.6.1.4.1.12325.1.200.1.2.2.0','10528','Packets with bad offset','opnsense.packets.bad.offset','1m','31d','365d','0','0','','pps','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: BEGEMOT-PF-MIB\r\nTrue if the packet was logged with the specified packet filter reason code. The known codes are: match, bad-offset, fragment, short, normalize, and memory.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6a77c077e6bb44439ad766de038f71f1','0','2','0'),
('43563','20','.1.3.6.1.2.1.25.4.2.1.7["index",".1.3.6.1.2.1.25.4.2.1.2","lighttpd"]','10528','Web server status','opnsense.lighttpd.status','1m','31d','365d','0','3','','','','',NULL,'1018','','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe status of lighttpd process.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4bc80f5cece045cfa103fa9d4e5db9c6','0','2','0'),
('43564','5','','10528','SNMP agent availability','zabbix[host,snmp,available]','1m','31d','365d','0','3','','','','',NULL,'1020','','','0','','','','','0',NULL,'Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.\r\nPossible values:\r\n0 - not available\r\n1 - available\r\n2 - unknown','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','00f2e8aa55754a7b9063afc1d7749d85','0','2','0'),
('43565','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]','10528','Network interfaces discovery','opnsense.net.if.discovery','1h','90d','0','0','4','','','','',NULL,NULL,'','','0','','','','','1',NULL,'Discovering interfaces from IF-MIB.','0','7d','1','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d7830514425f47eda3ac8ec20a1801b9','0','2','0'),
('43566','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.8["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv4 traffic blocked','net.if.in.block.v4.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv4 bits per second blocked coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','3a687275a219460c92433bda90be8d59','0','2','0'),
('43567','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.22["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv6 packets blocked','net.if.out.block.v6.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv6 packets blocked going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a877f2c800874ce9bbf972ef8eb277be','0','2','0'),
('43568','20','1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Operational status','net.if.status[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,'1016','','','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) if the interface is ready to transmit and receive network traffic\r\n- It should change todormant(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 if 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(typically, hardware) components.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1b352c1f96e84f2fb72c6414c0e15b29','0','2','0'),
('43569','20','1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Speed','net.if.speed[{#SNMPINDEX}]','1m','31d','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 of `n-500,000\' to`n+499,999\'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76c91001f4b64ba99c132c3dd476cb88','0','2','0'),
('43570','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.6["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Rules references count','net.if.rules.refs[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of rules referencing this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','bce50f45634d41b6a4ab8616e3a4d804','0','2','0'),
('43571','20','1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Bits sent','net.if.out[{#SNMPINDEX}]','1m','31d','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 ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f6a8e8f3cc746249001293fba59fcf3','0','2','0'),
('43572','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.21["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv6 packets passed','net.if.out.pass.v6.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv6 packets passed going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d4c3d02a4e024d1a881789f9588c05f7','0','2','0'),
('43573','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.17["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv6 traffic passed','net.if.out.pass.v6.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv6 bits per second passed going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','993af213503d4cf8b921ed630a01e7f9','0','2','0'),
('43574','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.13["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv4 packets passed','net.if.out.pass.v4.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv4 packets passed going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ec0b70c2c7d8452aaefefb737f567735','0','2','0'),
('43575','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.9["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv4 traffic passed','net.if.out.pass.v4.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv4 bits per second passed going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','be3ab46dc43d45da88917689e02b9f70','0','2','0'),
('43576','20','1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound packets with errors','net.if.out.errors[{#SNMPINDEX}]','1m','31d','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.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','357f0ab9a5814f06a04e5e2983226e26','0','2','0'),
('43577','20','1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound packets discarded','net.if.out.discards[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe number of outbound packets which were chosen to be discarded\r\neven 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,\r\nand at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d80bb6eac4ab43b58c6c785340b77494','0','2','0'),
('43578','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.18["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv6 traffic blocked','net.if.out.block.v6.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv6 bits per second blocked going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','dae11126c26543a7afd3c169fbc76cd5','0','2','0'),
('43579','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.12["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv4 packets blocked','net.if.in.block.v4.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv4 packets blocked coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d34be70208614a599e8706ede8d28f6d','0','2','0'),
('43580','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.14["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv4 packets blocked','net.if.out.block.v4.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv4 packets blocked going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f335123af85457cb5b8c43279f26b27','0','2','0'),
('43581','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.10["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Outbound IPv4 traffic blocked','net.if.out.block.v4.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv4 bits per second blocked going out on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','0be1b473b51541c38012847e52ae9e1f','0','2','0'),
('43582','20','1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Bits received','net.if.in[{#SNMPINDEX}]','1m','31d','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. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','df19df9d63604ec294a49478a0963da2','0','2','0'),
('43583','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.19["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv6 packets passed','net.if.in.pass.v6.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv6 packets passed coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','23daac718d7743248b4e9e5dd9d537bf','0','2','0'),
('43584','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.15["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv6 traffic passed','net.if.in.pass.v6.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv6 bits per second passed coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','a21b0c97af544225971a6d0a2ddeaf2c','0','2','0'),
('43585','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.11["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv4 packets passed','net.if.in.pass.v4.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv4 packets passed coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','367629501e4248e0b6de19e7123b0df6','0','2','0'),
('43586','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.7["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv4 traffic passed','net.if.in.pass.v4.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv4 bits per second passed coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','da65b40184d84a2a98dd595e17794875','0','2','0'),
('43587','20','1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound packets with errors','net.if.in.errors[{#SNMPINDEX}]','1m','31d','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.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','c6f650d534c94a1bb0bf1faca829c538','0','2','0'),
('43588','20','1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound packets discarded','net.if.in.discards[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe number of inbound packets which were chosen to be discarded\r\neven 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,\r\nand at other times as indicated by the value of ifCounterDiscontinuityTime.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','77ad7ea9f85d419a81d99531ba71ef1d','0','2','0'),
('43589','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.20["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv6 packets blocked','net.if.in.block.v6.pps[{#SNMPINDEX}]','1m','31d','365d','0','3','','pps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nThe number of IPv6 packets blocked coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','b9335034e4f94bb1b15f5b74a6467f89','0','2','0'),
('43590','20','.1.3.6.1.4.1.12325.1.200.1.8.2.1.16["index",".1.3.6.1.4.1.12325.1.200.1.8.2.1.2","{#IFDESCR}"]','10528','Interface [{#IFNAME}({#IFALIAS})]: Inbound IPv6 traffic blocked','net.if.in.block.v6.bps[{#SNMPINDEX}]','1m','31d','365d','0','3','','bps','','',NULL,NULL,'','','0','','','','','2',NULL,'MIB: BEGEMOT-PF-MIB\r\nIPv6 bits per second blocked coming in on this interface.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','e6bc104196ad44f8abf8b7609b464f07','0','2','0'),
('43591','20','1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}','10528','Interface [{#IFNAME}({#IFALIAS})]: Interface type','net.if.type[{#SNMPINDEX}]','1m','31d','365d','0','3','','','','',NULL,'1017','','','0','','','','','2',NULL,'MIB: IF-MIB\r\nThe type of 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,'','','','','200','1','0','','','0','0','0','0','0','0','0','2874d024da724dc687d0d8fa940fcf87','0','2','0'),
('43592','21','','10529','Get metrics data','aws.rds.get_metrics','0s;m/5','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	request_period: 600,\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'POST\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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	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:Bytes\',\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\r\n	request: function (method, region, service, params, data) {\r\n		if (typeof data === \'undefined\' || data === null) {\r\n			data = \'\';\r\n		}\r\n		else {\r\n			data = JSON.stringify(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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n		response = request.post(url, 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		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(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 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 - AWS.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\'] = AWS.renderMetricQuery(AWS.request_period, AWS.params.db_instance_id);\r\n		result = AWS.request(\'POST\', AWS.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	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.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','0','2','0'),
('43593','21','','10529','Get instance info','aws.rds.get_instance_info','5m','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	request_period: 600,\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n		response = request.get(url);\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			try {\r\n				response = JSON.parse(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		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\'] = AWS.params.db_instance_id;\r\n\r\n		result = AWS.request(\'GET\', AWS.params.region, \'rds\', AWS.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	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.getInstanceData());\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 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','0','2','0'),
('43594','21','','10529','Get instance events data','aws.rds.get_events','0s;m/10','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n		response = request.get(url);\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			try {\r\n				response = JSON.parse(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		return response;\r\n	},\r\n\r\n	getEvents: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeEvents\',\r\n			\'Version\': \'2014-09-01\',\r\n			\'MaxRecords\': 100,\r\n			\'Duration\': 30,\r\n			\'SourceType\': \'db-instance\',\r\n			\'SourceIdentifier\': AWS.params.db_instance_id\r\n		},\r\n			result = [];\r\n\r\n		while (payload.nextToken !== \'\') {\r\n			var events = AWS.getField(AWS.request(\'GET\', AWS.params.region, \'rds\', AWS.prepareParams(payload)), \'DescribeEventsResponse.DescribeEventsResult\');\r\n			events_list = AWS.getField(events, \'Events\');\r\n\r\n			if (!Array.isArray(events_list))\r\n				events_list = [events_list];\r\n			events_list.forEach(function (event) {\r\n				event.EventCategories = event.EventCategories.toString();\r\n				result.push(event);\r\n			});\r\n			payload.nextToken = events.nextToken || \'\';\r\n\r\n\r\n		};\r\n\r\n		return result;\r\n	}\r\n};\r\n\r\ntry {\r\n	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.getEvents());\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,'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','0','2','0'),
('43595','21','','10529','Get instance alarms data','aws.rds.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload), \'\'), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'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			AWS.params[field] = params[field];\r\n		});\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n		response = request.get(url);\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			try {\r\n				response = JSON.parse(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 response;\r\n	},\r\n\r\n	getAlarms: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeAlarms\',\r\n			\'Version\': \'2010-08-01\',\r\n			\'MaxRecords\': 100\r\n		},\r\n			result = [];\r\n\r\n		while (payload.NextToken !== \'\') {\r\n			var alarms = AWS.getField(AWS.request(\'GET\', AWS.params.region, \'monitoring\', AWS.prepareParams(payload)), \'DescribeAlarmsResponse.DescribeAlarmsResult\');\r\n			payload.NextToken = alarms.NextToken || \'\';\r\n			alarms_list = AWS.getField(alarms, \'MetricAlarms\');\r\n\r\n			if (!Array.isArray(alarms_list))\r\n				alarms_list = [alarms_list];\r\n			alarms_list.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 === AWS.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	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.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','0','2','0'),
('43684','21','','10530','Get metrics data','aws.s3.get_metrics','0s;h/8','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	request_period: 2 * 86400,\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'credentials\', \'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload)), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'bucket_name\', \'request_region\'].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			AWS.params[field] = params[field];\r\n		});\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) {\r\n		var metrics_list = [\r\n			\'BucketSizeBytes:Bytes:Average:StandardStorage\',\r\n			\'NumberOfObjects:Count:Average:AllStorageTypes\',\r\n		];\r\n\r\n		var metric_payload = [];\r\n		metrics_list.forEach(function (metric, index) {\r\n			var parts = metric.split(\':\', 4);\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\': \'StorageType\',\r\n								\'Value\': parts[3]\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\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 (get, method, region, service, params, data) {\r\n		if (typeof data === \'undefined\' || data === null) {\r\n			data = \'\';\r\n		}\r\n		else {\r\n			data = JSON.stringify(data)\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		if (get === \'metrics\' || get === \'credentials\') {\r\n			host = service + \'.\' + region + \'.amazonaws.com\';\r\n		} else {\r\n			host = AWS.params.bucket_name + \'.\' + service + \'.\' + region + \'.amazonaws.com\';\r\n		}\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			token = AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken;\r\n			var canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\' + \'x-amz-security-token:\' + token + \'\\n\',\r\n				signed_headers = \'content-encoding;host;x-amz-date;x-amz-security-token\';\r\n		}\r\n		else {\r\n			var 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		}\r\n\r\n		var canonical_uri = \'/\';\r\n\r\n		switch (get) {\r\n			case \'location\':\r\n				canonical_uri = \'/\' + AWS.params.bucket_name;\r\n				canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data);\r\n				break;\r\n			case \'metrics\':\r\n				canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data);\r\n				break;\r\n			case \'filter_id\':\r\n			case \'credentials\':\r\n				canonical_request = method + \'\\n\' + canonical_uri + \'\\n\' + params + \'\\n\' + canonical_headers + \'\\n\' + signed_headers + \'\\n\' + sha256(data);\r\n				break;\r\n			default:\r\n				throw \'Error: Invalid option "get" for request function\';\r\n		}\r\n\r\n		var 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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest();\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + token);\r\n		}\r\n\r\n		switch (get) {\r\n			case \'location\':\r\n			case \'filter_id\':\r\n			case \'credentials\':\r\n				url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n				Zabbix.log(4, \'[ AWS S3 ] Sending request: \' + url);\r\n				response = request.get(url);\r\n				Zabbix.log(4, \'[ AWS S3 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n				if (request.getStatus() !== 200) {\r\n					throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n				}\r\n				break;\r\n\r\n			case \'metrics\':\r\n				url = \'https://\' + host + \'/\';\r\n				Zabbix.log(4, \'[ AWS S3 ] Sending request: \' + url);\r\n				request.addHeader(\'X-Amz-Target: GraniteServiceVersion20100801.GetMetricData\');\r\n				response = request.post(url, data);\r\n				Zabbix.log(4, \'[ AWS S3 ] Received response with status code \' + request.getStatus() + \': \' + response);\r\n				if (request.getStatus() !== 200) {\r\n					throw \'Request failed with status code \' + request.getStatus() + \': \' + response;\r\n				}\r\n				break;\r\n\r\n			default:\r\n				throw \'Error: Invalid option "get" for request function\';\r\n		}\r\n		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(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 response;\r\n	},\r\n\r\n	getBucketLocation: function (bucket_name) {\r\n		var payload = {};\r\n		payload[\'location\'] = \'\';\r\n\r\n		result = AWS.request(\'location\', \'GET\', AWS.params.request_region, \'s3\', AWS.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	getBucketFilterId: function (region) {\r\n		var payload = {};\r\n		payload[\'metrics\'] = \'\';\r\n\r\n		data = AWS.getField(AWS.request(\'filter_id\', \'GET\', region, \'s3\', AWS.prepareParams(payload), \'\'), \'ListMetricsConfigurationsResult\');\r\n\r\n		if (typeof data === \'object\' && data.hasOwnProperty(\'MetricsConfiguration\') === true) {\r\n			if (!Array.isArray(data.MetricsConfiguration))\r\n				data.MetricsConfiguration = [data.MetricsConfiguration]\r\n			data.MetricsConfiguration.forEach(function (item) {\r\n				item.region = region;\r\n			});\r\n		} else { data.MetricsConfiguration = [\'To view request metrics, create a filter\'] }\r\n		return data.MetricsConfiguration;\r\n\r\n	},\r\n\r\n	getMetricsData: function (region) {\r\n		var payload = {},\r\n			end_time = Math.floor((new Date().getTime()) / 1000),\r\n			start_time = end_time - AWS.request_period;\r\n		payload[\'StartTime\'] = start_time;\r\n		payload[\'EndTime\'] = end_time;\r\n		payload[\'ScanBy\'] = \'TimestampDescending\';\r\n		payload[\'MetricDataQueries\'] = AWS.renderMetricQuery(43200, AWS.params.bucket_name);\r\n\r\n		return AWS.getField(AWS.request(\'metrics\', \'POST\', region, \'monitoring\', \'\', payload), \'MetricDataResults\');\r\n	}\r\n\r\n};\r\n\r\ntry {\r\n	AWS.setParams(JSON.parse(value));\r\n	var region = AWS.getBucketLocation(AWS.params.bucket_name),\r\n		metrics = AWS.getMetricsData(region),\r\n		filter_id = AWS.getBucketFilterId(region);\r\n	return JSON.stringify({ metrics, filter_id });\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 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','0','2','0'),
('43685','21','','10530','Get alarms data','aws.s3.get_alarms','0s;m/1','0','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'alarms\', \'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload)), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'bucket_name\', \'request_region\'].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			AWS.params[field] = params[field];\r\n		});\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 (get, 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		if (get === \'alarms\') {\r\n			host = service + \'.\' + region + \'.amazonaws.com\';\r\n		} else {\r\n			host = AWS.params.bucket_name + \'.\' + service + \'.\' + region + \'.amazonaws.com\';\r\n		}\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			token = AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken;\r\n			var canonical_headers = \'content-encoding:amz-1.0\\n\' + \'host:\' + host + \'\\n\' + \'x-amz-date:\' + amzdate + \'\\n\' + \'x-amz-security-token:\' + token + \'\\n\',\r\n				signed_headers = \'content-encoding;host;x-amz-date;x-amz-security-token\';\r\n		}\r\n		else {\r\n			var 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		}\r\n		if (get === \'location\') {\r\n			canonical_uri = \'/\' + AWS.params.bucket_name;\r\n		} else {\r\n			canonical_uri = \'/\';\r\n		}\r\n		var 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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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(\'x-amz-content-sha256:\' + sha256(data));\r\n		request.addHeader(\'Authorization: \' + \'AWS4-HMAC-SHA256 Credential=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + token);\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS S3 ] Sending request: \' + url);\r\n		response = request.get(url);\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		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(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 response;\r\n	},\r\n\r\n	getBucketLocation: function () {\r\n		var payload = {};\r\n		payload[\'location\'] = \'\';\r\n\r\n		result = AWS.request(\'location\', \'GET\', AWS.params.request_region, \'s3\', AWS.prepareParams(payload));\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	getAlarms: function (region) {\r\n		var payload = {\r\n			\'Action\': \'DescribeAlarms\',\r\n			\'Version\': \'2010-08-01\',\r\n			\'MaxRecords\': 100\r\n		},\r\n			result = [];\r\n\r\n		while (payload.NextToken !== \'\') {\r\n			var alarms = AWS.getField(AWS.request(\'alarms\', \'GET\', region, \'monitoring\', AWS.prepareParams(payload)), \'DescribeAlarmsResponse.DescribeAlarmsResult\');\r\n			payload.NextToken = alarms.NextToken || \'\';\r\n			alarms_list = AWS.getField(alarms, \'MetricAlarms\');\r\n\r\n			if (!Array.isArray(alarms_list))\r\n				alarms_list = [alarms_list];\r\n			alarms_list.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 === AWS.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	AWS.setParams(JSON.parse(value));\r\n	var region = AWS.getBucketLocation();\r\n	return JSON.stringify(AWS.getAlarms(region));\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','0','2','0'),
('43714','21','','10531','Get resources','azure.get.resources','10m','0','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		var response, request = new HttpRequest();\r\n		if (typeof Azure.params.proxy !== \'undefined\' && Azure.params.proxy !== \'\') {\r\n			request.setProxy(Azure.params.proxy);\r\n		}\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		{"method": "Microsoft.DocumentDB/databaseAccounts", "version": "2022-11-15-preview"},\r\n		{"method": "Microsoft.Compute/virtualMachineScaleSets", "version": "2024-03-01"},\r\n		{"method": "Microsoft.Sql/managedInstances", "version": "2024-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','0','2','0'),
('43715','21','','10532','Get data','azure.vm.data.get','1m','0','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\', \'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		Azure.params = params;\r\n	},\r\n\r\n	login: function () {\r\n		var response, login = new HttpRequest();\r\n\r\n		if (typeof Azure.params.proxy !== \'undefined\' && Azure.params.proxy !== \'\') {\r\n			login.setProxy(Azure.params.proxy);\r\n		}\r\n\r\n		login.addHeader(\'Content-Type: application/x-www-form-urlencoded\');\r\n		response = login.post(\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 (login.getStatus() !== 200) {\r\n			throw \'Login failed with status code \' + login.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 login session response.\';\r\n		}\r\n\r\n		if (!response.hasOwnProperty(\'access_token\')) {\r\n			throw \'Authentication response does not contain access token.\';\r\n		}\r\n\r\n		Azure.token = response[\'access_token\'];\r\n	},\r\n\r\n	request: function (url) {\r\n		var response, request = new HttpRequest();\r\n\r\n		if (typeof Azure.params.proxy !== \'undefined\' && Azure.params.proxy !== \'\') {\r\n			request.setProxy(Azure.params.proxy);\r\n		}\r\n\r\n		if (!Azure.token) {\r\n			throw \'Request does not contain access token.\';\r\n		}\r\n\r\n		request.addHeader(\'Content-Type: application/json\');\r\n		request.addHeader(\'Authorization: Bearer \' + Azure.token);\r\n		Zabbix.log(4, \'[ AzureVM ] request url: \' + url);\r\n\r\n		response = request.get(url);\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			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	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	getMetricsData: function () {\r\n		var data = {},\r\n			metric_endpoints = {\r\n				\'main_and_premium_metrics\': \'/providers/Microsoft.Insights/metrics?metricnames=\' + encodeURIComponent(\'Percentage CPU,CPU Credits Remaining,CPU Credits Consumed,VmAvailabilityMetric,Available Memory Bytes,Network In Total,Network Out Total,Inbound Flows,Outbound Flows,Inbound Flows Maximum Creation Rate,Outbound Flows Maximum Creation Rate,Premium Data Disk Cache Read Hit,Premium Data Disk Cache Read Miss,Premium OS Disk Cache Read Hit,Premium OS Disk Cache Read Miss,VM Cached Bandwidth Consumed Percentage,VM Cached IOPS Consumed Percentage,VM Uncached Bandwidth Consumed Percentage,VM Uncached IOPS Consumed Percentage\') + \'&api-version=2024-02-01&timespan=PT1M\',\r\n				\'disks_metrics\': \'/providers/Microsoft.Insights/metrics?metricnames=\' + encodeURIComponent(\'Disk Read Bytes,Disk Write Bytes,Disk Read Operations/Sec,Disk Write Operations/Sec,Data Disk Latency,Data Disk Read Bytes/sec,Data Disk Write Bytes/sec,Data Disk Read Operations/Sec,Data Disk Write Operations/Sec,Data Disk Queue Depth,Data Disk Bandwidth Consumed Percentage,Data Disk IOPS Consumed Percentage,Data Disk Target Bandwidth,Data Disk Target IOPS,Data Disk Max Burst Bandwidth,Data Disk Max Burst IOPS,Data Disk Used Burst BPS Credits Percentage,Data Disk Used Burst IO Credits Percentage\') + \'&api-version=2024-02-01&timespan=PT1M\',\r\n				\'os_disk_metrics\': \'/providers/Microsoft.Insights/metrics?metricnames=\' + encodeURIComponent(\'OS Disk Latency,OS Disk Read Bytes/sec,OS Disk Write Bytes/sec,OS Disk Read Operations/Sec,OS Disk Write Operations/Sec,OS Disk Queue Depth,OS Disk Bandwidth Consumed Percentage,OS Disk IOPS Consumed Percentage,OS Disk Target Bandwidth,OS Disk Target IOPS,OS Disk Max Burst Bandwidth,OS Disk Max Burst IOPS,OS Disk Used Burst BPS Credits Percentage,OS Disk Used Burst IO Credits Percentage,Temp Disk Latency,Temp Disk Read Bytes/sec,Temp Disk Write Bytes/sec,Temp Disk Read Operations/Sec,Temp Disk Write Operations/Sec,Temp Disk Queue Depth\') + \'&api-version=2024-02-01&timespan=PT1M\'\r\n			};\r\n		data.metrics = {};\r\n\r\n		Object.keys(metric_endpoints).forEach(function (field) {\r\n			metrics = Azure.getField(Azure.request(\'https://management.azure.com\' + Azure.params.resource_id + metric_endpoints[field]), \'value\');\r\n			for (k in metrics) {\r\n				key = Azure.getField(metrics[k], \'name.value\').replace(/(\\s|\\/)+/g, \'\');\r\n				if (metrics[k].timeseries.length === 0) {\r\n					metrics[k].timeseries.push({ \'data\': [\'nodata\'] })\r\n				}\r\n				data.metrics[key] = Azure.getField(metrics[k], \'timeseries.0.data.0\');\r\n			}\r\n		});\r\n\r\n		data.health = Azure.getField(Azure.request(\'https://management.azure.com\' + Azure.params.resource_id + \'/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2020-05-01\'), \'value.0.properties\');\r\n\r\n		return data\r\n	}\r\n};\r\n\r\ntry {\r\n	Azure.setParams(JSON.parse(value));\r\n	Azure.login();\r\n	return JSON.stringify(Azure.getMetricsData());\r\n}\r\ncatch (error) {\r\n	error += (String(error).endsWith(\'.\')) ? \'\' : \'.\';\r\n	Zabbix.log(3, \'[ AzureVM ] 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,'{$AZURE.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','cff54514d795495da8bc1152e02631aa','0','2','0'),
('43770','20','1.3.6.1.2.1.25.1.1.0','10207','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','3ea3106277c64428950b4a5b6c4aedd0','0','2','0'),
('43771','20','1.3.6.1.2.1.25.1.1.0','10254','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','5bf4c90019ae41688336f83bcbb481bb','0','2','0'),
('43772','20','1.3.6.1.2.1.25.1.1.0','10208','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','a988240abba8442da83fdbcb789d0138','0','2','0'),
('43773','20','1.3.6.1.2.1.25.1.1.0','10210','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','78b57ca2787948cb8b92604f2a0fdccc','0','2','0'),
('43774','20','1.3.6.1.2.1.25.1.1.0','10211','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','09265047c03b4c7397d0b526d47e5a8e','0','2','0'),
('43775','20','1.3.6.1.2.1.25.1.1.0','10390','Uptime (hardware)','system.hw.uptime','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','64e59aaf9a4c4dd28e591c96075c183b','0','2','0'),
('43776','20','1.3.6.1.2.1.25.1.1.0','10391','Uptime (hardware)','system.hw.uptime','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','24df0110b0d541118d6609c3f3922fe5','0','2','0'),
('43777','20','1.3.6.1.2.1.25.1.1.0','10392','Uptime (hardware)','system.hw.uptime','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','6fd05b29760a4b10bf9b1125e8747cd1','0','2','0'),
('43778','20','1.3.6.1.2.1.25.1.1.0','10393','Uptime (hardware)','system.hw.uptime','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b81c8fccadb94cd4bd7c798906d881ef','0','2','0'),
('43779','20','1.3.6.1.2.1.25.1.1.0','10394','Uptime (hardware)','system.hw.uptime','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f00b81685e5d41f49561b62d710e247f','0','2','0'),
('43780','20','1.3.6.1.2.1.25.1.1.0','10220','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','732ccfd809b44d7fa923c54e6577851d','0','2','0'),
('43781','20','1.3.6.1.2.1.25.1.1.0','10218','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f2173cd0262d4a60b5e134e00fed78e6','0','2','0'),
('43782','20','1.3.6.1.2.1.25.1.1.0','10253','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','927d85dbb82f4b9a9edf4fb6194e7427','0','2','0'),
('43783','20','1.3.6.1.2.1.25.1.1.0','10221','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','5297253edb09463e8fdb6f1905e4f494','0','2','0'),
('43784','20','1.3.6.1.2.1.25.1.1.0','10222','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','68631d04f4a94b83901bad116fe68198','0','2','0'),
('43785','20','1.3.6.1.2.1.25.1.1.0','10223','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','e4706d07b0824ccb8f4ee7ccec10a388','0','2','0'),
('43786','20','1.3.6.1.2.1.25.1.1.0','10224','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','9e9db5d7fe5f4f4e8fc6581813699c1e','0','2','0'),
('43787','20','1.3.6.1.2.1.25.1.1.0','10226','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','76f954f8d7fd41109919ccbbb6151164','0','2','0'),
('43788','20','1.3.6.1.2.1.25.1.1.0','10227','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b476c099f8f64aa89cd5f61fc8b47dfa','0','2','0'),
('43789','20','1.3.6.1.2.1.25.1.1.0','10250','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','a0659dadbef14fb1ac9be45d47388aa2','0','2','0'),
('43790','20','1.3.6.1.2.1.25.1.1.0','10229','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','202c91a61d644285a0d74d88ae1b1a79','0','2','0'),
('43791','20','1.3.6.1.2.1.25.1.1.0','10230','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0fece305afd4ef9b7e9e6e9dd297e21','0','2','0'),
('43792','20','1.3.6.1.2.1.25.1.1.0','10231','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','833dd7b3b4e94dc89b4e7098cec3fce2','0','2','0'),
('43793','20','1.3.6.1.2.1.25.1.1.0','10251','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f867fb976e0b49a895129865e95096c2','0','2','0'),
('43794','20','1.3.6.1.2.1.25.1.1.0','10449','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','da2967c30d774681af4b7007bfbd01c5','0','2','0'),
('43795','20','1.3.6.1.2.1.25.1.1.0','10450','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','87ed039a5c7d4d5f8e6459ad8f5bfa0f','0','2','0'),
('43796','20','1.3.6.1.2.1.25.1.1.0','10451','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','466b42bafcaf4a9a891a1d554cfd688c','0','2','0'),
('43797','20','1.3.6.1.2.1.25.1.1.0','10452','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','6625f426dcc949559a35ddfb3aed43d3','0','2','0'),
('43798','20','1.3.6.1.2.1.25.1.1.0','10453','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','094dba661554421087ef6454e6e899f6','0','2','0'),
('43799','20','1.3.6.1.2.1.25.1.1.0','10454','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','7f1bc41c42fc410881b45972129ccf15','0','2','0'),
('43800','20','1.3.6.1.2.1.25.1.1.0','10455','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','e8aeeb3ddfe6405ba5c02cbcf50681f4','0','2','0'),
('43801','20','1.3.6.1.2.1.25.1.1.0','10456','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','6ba9b468dd2143a4a816c4bec1cee079','0','2','0'),
('43802','20','1.3.6.1.2.1.25.1.1.0','10457','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','af308a3e3ff14620a683f09d935887a7','0','2','0'),
('43803','20','1.3.6.1.2.1.25.1.1.0','10458','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','c86226f9db8e4eda9216c0e5f96bf826','0','2','0'),
('43804','20','1.3.6.1.2.1.25.1.1.0','10459','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b849a56812d4ceda43c4c3c96c09911','0','2','0'),
('43805','20','1.3.6.1.2.1.25.1.1.0','10460','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b4d7b0ae4b874f41afc1d2bb18444f59','0','2','0'),
('43806','20','1.3.6.1.2.1.25.1.1.0','10461','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','cb05d9fcd5f04045b38b2653aa3f054f','0','2','0'),
('43807','20','1.3.6.1.2.1.25.1.1.0','10462','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','d2825ec79526468bae315bcf4271c3bf','0','2','0'),
('43808','20','1.3.6.1.2.1.25.1.1.0','10463','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','730caedb1aba4e2bb914a9ac5e45bee0','0','2','0'),
('43809','20','1.3.6.1.2.1.25.1.1.0','10464','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','41c7402ad2354e5e8e5395b3e86d291c','0','2','0'),
('43810','20','1.3.6.1.2.1.25.1.1.0','10465','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','d226673194c84ee7968632b06060d905','0','2','0'),
('43811','20','1.3.6.1.2.1.25.1.1.0','10466','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','76f9415c139b4c78bb5e77e094ced5e4','0','2','0'),
('43812','20','1.3.6.1.2.1.25.1.1.0','10467','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','43da9de2e9b949ea9844ac7e8991aa51','0','2','0'),
('43813','20','1.3.6.1.2.1.25.1.1.0','10468','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','6e5f3a092d7f44f98f9f72ec7b65a412','0','2','0'),
('43814','20','1.3.6.1.2.1.25.1.1.0','10469','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','59bd59afea7c430ab9b87036d6f68d80','0','2','0'),
('43815','20','1.3.6.1.2.1.25.1.1.0','10470','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','c36c9dba589944d4bc4253019663831e','0','2','0'),
('43816','20','1.3.6.1.2.1.25.1.1.0','10471','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','9a3c0d8062f9470faeb350b3f025dc93','0','2','0'),
('43817','20','1.3.6.1.2.1.25.1.1.0','10472','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','bccedf8a6d434ee19ef03ae4b15db6e6','0','2','0'),
('43818','20','1.3.6.1.2.1.25.1.1.0','10473','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','7052c7bbeffe4dbbbbc08f70c8d2679f','0','2','0'),
('43819','20','1.3.6.1.2.1.25.1.1.0','10474','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','093f8cdde4514b3cb81233a59eec8277','0','2','0'),
('43820','20','1.3.6.1.2.1.25.1.1.0','10475','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','2521a17fcdb048c3ac5b3e425eb48ad6','0','2','0'),
('43821','20','1.3.6.1.2.1.25.1.1.0','10476','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2fa99d8602342358690da734fc553a5','0','2','0'),
('43822','20','1.3.6.1.2.1.25.1.1.0','10477','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','7b93e987a3e442e39e2f822a0c271678','0','2','0'),
('43823','20','1.3.6.1.2.1.25.1.1.0','10478','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','90e82de3b7b043269947a13acaf0eae3','0','2','0'),
('43824','20','1.3.6.1.2.1.25.1.1.0','10479','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','96f11f9c23434a68b82d075f85af3c31','0','2','0'),
('43825','20','1.3.6.1.2.1.25.1.1.0','10480','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','1634bc47137b4de9942b33ca99eb4541','0','2','0'),
('43826','20','1.3.6.1.2.1.25.1.1.0','10481','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','e589fb99827e4e8197f6ecb8872b4f10','0','2','0'),
('43827','20','1.3.6.1.2.1.25.1.1.0','10482','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','218903c6b9c04999ab58583dfc22d42d','0','2','0'),
('43828','20','1.3.6.1.2.1.25.1.1.0','10483','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','424081b2ac3f453f84c7c0cf0d6270e5','0','2','0'),
('43829','20','1.3.6.1.2.1.25.1.1.0','10484','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','31874dc23f0046f98c978300e74ced72','0','2','0'),
('43830','20','1.3.6.1.2.1.25.1.1.0','10485','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','d88eae8b609e42d68219e2b6d68422d1','0','2','0'),
('43831','20','1.3.6.1.2.1.25.1.1.0','10486','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','c8f1e09b30a84047ac6a98bcc70b15a7','0','2','0'),
('43832','20','1.3.6.1.2.1.25.1.1.0','10487','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','96372468281d4b0e866a3aa4db1839be','0','2','0'),
('43833','20','1.3.6.1.2.1.25.1.1.0','10488','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','68f23663d1da4e12b259bc6f2689de9b','0','2','0'),
('43834','20','1.3.6.1.2.1.25.1.1.0','10489','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','806003915aa24c368a822a424f123d45','0','2','0'),
('43835','20','1.3.6.1.2.1.25.1.1.0','10490','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','4cb64b20e3c84697b744db08b605c5b0','0','2','0'),
('43836','20','1.3.6.1.2.1.25.1.1.0','10491','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','012230315f3548d9948d1ad7ddc8d005','0','2','0'),
('43837','20','1.3.6.1.2.1.25.1.1.0','10492','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','074b83202e714d7d9bf63bf331f4f284','0','2','0'),
('43838','20','1.3.6.1.2.1.25.1.1.0','10493','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','437fe5b12b2d478fb69c1047b6421d96','0','2','0'),
('43839','20','1.3.6.1.2.1.25.1.1.0','10494','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f5f8ed93998a4b5799d1f6b2e1984006','0','2','0'),
('43840','20','1.3.6.1.2.1.25.1.1.0','10495','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b2fb7a55ee1b4030b4f621e73a730749','0','2','0'),
('43841','20','1.3.6.1.2.1.25.1.1.0','10496','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','971d14b46bad442499d7aea95c067dc7','0','2','0'),
('43842','20','1.3.6.1.2.1.25.1.1.0','10497','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','42eee310a68844deb422d5ff3a715efa','0','2','0'),
('43843','20','1.3.6.1.2.1.25.1.1.0','10498','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','691b2eadbe314570841aafbe2ad2afb1','0','2','0'),
('43844','20','1.3.6.1.2.1.25.1.1.0','10499','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','32d6b1147607490287da049b08140f0b','0','2','0'),
('43845','20','1.3.6.1.2.1.25.1.1.0','10500','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','c30a010e7f134bc88fc47708d02a0a31','0','2','0'),
('43846','20','1.3.6.1.2.1.25.1.1.0','10501','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f0ff722acc544222bac0a51456515570','0','2','0'),
('43847','20','1.3.6.1.2.1.25.1.1.0','10502','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','850f16c89c1a44c585852784dc32bb1b','0','2','0'),
('43848','20','1.3.6.1.2.1.25.1.1.0','10233','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','94f4af679dba4d3e9047ebcf8c1bc419','0','2','0'),
('43849','20','1.3.6.1.2.1.25.1.1.0','10371','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','712a9b442bec4e89acf4ee5d5bf26fb8','0','2','0'),
('43850','20','1.3.6.1.2.1.25.1.1.0','10372','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','2c9f864ac33b4c2d992459c6519d045a','0','2','0'),
('43851','20','1.3.6.1.2.1.25.1.1.0','10373','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','76a660b88bb74e90971bdaec703d3c17','0','2','0'),
('43852','20','1.3.6.1.2.1.25.1.1.0','10374','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1e50f16fab54a8e97372b52cebae18d','0','2','0'),
('43853','20','1.3.6.1.2.1.25.1.1.0','10375','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d61bd2d5717740518867bfbf734914c9','0','2','0'),
('43854','20','1.3.6.1.2.1.25.1.1.0','10376','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5e2aebe0ce2044588636be62cde6b6a3','0','2','0'),
('43855','20','1.3.6.1.2.1.25.1.1.0','10377','Status: Uptime (hardware)','status.hw.uptime','1m','31d','365d','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','6903297e21e14aa8b5eed4eb0f7e1e01','0','2','0'),
('43856','20','1.3.6.1.2.1.25.1.1.0','10234','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0e66c64c0b2449a9c5ffbbdaf176963','0','2','0'),
('43857','20','1.3.6.1.2.1.25.1.1.0','10235','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','94671639676f476f8b7c37a884d32ed0','0','2','0'),
('43858','20','1.3.6.1.2.1.25.1.1.0','10236','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','964e73aa4e534b50bd1d93e137ca41f1','0','2','0'),
('43859','20','1.3.6.1.2.1.25.1.1.0','10237','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','0d47c914219e4da0a7d67631d8171244','0','2','0'),
('43860','20','.1.3.6.1.2.1.25.1.1.0','10420','Uptime (hardware)','zyxel.aam1212.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5197238bef51468c80e6a4180babee5b','0','2','0'),
('43861','20','.1.3.6.1.2.1.25.1.1.0','10421','Uptime (hardware)','zyxel.3500_8pd.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','ef45d91672ea43c3aa24cbc21f37d391','0','2','0'),
('43862','20','.1.3.6.1.2.1.25.1.1.0','10422','Uptime (hardware)','zyxel.4012f.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','1f979fc1f31c4766949cfc343d3c231a','0','2','0'),
('43863','20','.1.3.6.1.2.1.25.1.1.0','10423','Uptime (hardware)','zyxel.ies500x.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5fa56229a8854d62bb6c516da873d63b','0','2','0'),
('43864','20','.1.3.6.1.2.1.25.1.1.0','10424','Uptime (hardware)','zyxel.ies6000.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','006a65489cfc4231acad12cdb501a55c','0','2','0'),
('43865','20','.1.3.6.1.2.1.25.1.1.0','10425','Uptime (hardware)','zyxel.ies1248.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','4b55d1aaee3b441bab6edaaf738065e4','0','2','0'),
('43866','20','.1.3.6.1.2.1.25.1.1.0','10426','Uptime (hardware)','zyxel.3528.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','9293989c2bd14bc4a12cdd40a9c7f229','0','2','0'),
('43867','20','.1.3.6.1.2.1.25.1.1.0','10427','Uptime (hardware)','zyxel.3500_10.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','d0d33209ea1249e588f2e81807ae6403','0','2','0'),
('43868','20','.1.3.6.1.2.1.25.1.1.0','10428','Uptime (hardware)','zyxel.3500_24.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','fb480642cad3440a8637d871add07b8f','0','2','0'),
('43869','20','.1.3.6.1.2.1.25.1.1.0','10429','Uptime (hardware)','zyxel.3712.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','801ba0a2d20f440d822eb042146b8d16','0','2','0'),
('43870','20','.1.3.6.1.2.1.25.1.1.0','10430','Uptime (hardware)','zyxel.3712f.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','29bc66a7a2c949549fc2e4c6fa841ab0','0','2','0'),
('43871','20','.1.3.6.1.2.1.25.1.1.0','10431','Uptime (hardware)','zyxel.3500_24s.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','feff31efc5b04b14bf19ec256a6660fb','0','2','0'),
('43872','20','.1.3.6.1.2.1.25.1.1.0','10432','Uptime (hardware)','zyxel.3520_28.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','8f050b29d1eb43e4a150383c9edd2467','0','2','0'),
('43873','20','.1.3.6.1.2.1.25.1.1.0','10433','Uptime (hardware)','zyxel.4728f.hw.uptime','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','17bdc70663744ede94d7b94602eb881c','0','2','0'),
('43874','20','1.3.6.1.2.1.25.1.1.0','10248','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','d1a9af129dbb4fed8e67efcca383aeae','0','2','0'),
('43875','20','1.3.6.1.2.1.25.1.1.0','10249','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','422d9e4a985347959d5ef07278a6a12c','0','2','0'),
('43876','20','1.3.6.1.2.1.25.1.1.0','10400','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b73fb48b4da84a53b7a4b7e81d6037aa','0','2','0'),
('43877','20','1.3.6.1.2.1.25.1.1.0','10401','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','4dbad4f0de7f47fd996fd4b8de048d46','0','2','0'),
('43878','20','1.3.6.1.2.1.25.1.1.0','10402','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','ed6ad4e7036548c09b9a61d875aca9e1','0','2','0'),
('43879','20','1.3.6.1.2.1.25.1.1.0','10403','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','60bef30ff568425eb5e4c5e6dc861e79','0','2','0'),
('43880','20','1.3.6.1.2.1.25.1.1.0','10404','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','4def354a520e42d78d67b2e8b1cd8eb4','0','2','0'),
('43881','20','1.3.6.1.2.1.25.1.1.0','10412','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','9d1f4a038ee447639a07f3549ad68840','0','2','0'),
('43882','20','1.3.6.1.2.1.25.1.1.0','10406','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','4e8b6d6a5aa24159b048d1cf28e9418a','0','2','0'),
('43883','20','1.3.6.1.2.1.25.1.1.0','10395','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3d5eea37f934efdac4885bcadc73b9b','0','2','0'),
('43884','20','1.3.6.1.2.1.25.1.1.0','10407','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','e5a92d45430b4bd6bdef42870141d141','0','2','0'),
('43885','20','1.3.6.1.2.1.25.1.1.0','10408','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','b3021bc8a0324d4d9683f676131bf136','0','2','0'),
('43886','20','1.3.6.1.2.1.25.1.1.0','10409','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','c7522be948bd4f97a47d59cf1e281c56','0','2','0'),
('43887','20','1.3.6.1.2.1.25.1.1.0','10385','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','f54aca2b926e4d4d980f980acb0aefac','0','2','0'),
('43888','20','1.3.6.1.2.1.25.1.1.0','10378','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','76483f37faf8485b922640a6ef8bb672','0','2','0'),
('43889','20','1.3.6.1.2.1.25.1.1.0','10434','Uptime (hardware)','cisco.ucs.hw.uptime[hrSystemUptime.0]','30s','31d','0','0','3','','uptime','','',NULL,NULL,'','','0','','','','','0',NULL,'MIB: HOST-RESOURCES-MIB\r\nThe amount of time since this host was last initialized.\r\nNote that this is different from sysUpTime in the SNMPv2-MIB\r\n[RFC1907] because sysUpTime is the uptime of the\r\nnetwork management portion of the system.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','5af56ed99d09489aafc2d08d4bd4903a','0','2','0'),
('43890','20','1.3.6.1.2.1.25.1.1.0','10304','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','a6d61b21f9f044a6912759e02787cb3f','0','2','0'),
('43896','20','1.3.6.1.2.1.25.1.1.0','10443','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','22f0b65d03d44ae0be7133eb19ecc920','0','2','0'),
('43897','20','1.3.6.1.2.1.25.1.1.0','10444','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','5cd1e01b10f3482e9ec5907bd2e55c26','0','2','0'),
('43898','20','1.3.6.1.2.1.25.1.1.0','10445','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','8026a919077f4373adf774a18beb95eb','0','2','0'),
('43899','20','1.3.6.1.2.1.25.1.1.0','10446','Uptime (hardware)','hp.server.hw.uptime[hrSystemUptime]','1m','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','437a251079a44869ba9b11b2184d85e7','0','2','0'),
('43900','20','1.3.6.1.2.1.25.1.1.0','10256','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','02e21fa19e814d529ae24f89e3bbf947','0','2','0'),
('43901','21','','10534','Get data','hpe.synergy.get.data','1m','0','0','0','4','','','','',NULL,NULL,'var Synergy = {\r\n	params: {},\r\n	session_id: null,\r\n	api_version: null,\r\n\r\n	setParams: function (params) {\r\n		[\'username\', \'password\', \'base_url\'].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		Synergy.params = params;\r\n		if (typeof Synergy.params.base_url === \'string\' && !Synergy.params.base_url.endsWith(\'/\')) {\r\n			Synergy.params.base_url += \'/\';\r\n		}\r\n	},\r\n\r\n	checkVersion: function () {\r\n		if (Synergy.api_version !== null) {\r\n			return;\r\n		}\r\n\r\n		var response, request = new HttpRequest();\r\n		request.addHeader(\'Content-Type: application/json\');\r\n\r\n		response = request.post(Synergy.params.base_url + \'rest/version\');\r\n\r\n		if (request.getStatus() !== 200) {\r\n			throw \'Get version request failed with status code \' + request.getStatus() + \': \' + response;\r\n		}\r\n\r\n		if (response !== null) {\r\n			try {\r\n				version_data = JSON.parse(response);\r\n			}\r\n			catch (error) {\r\n				throw \'Failed to parse get version response received from device API.\';\r\n			}\r\n		}\r\n		else {\r\n			throw \'No data received by get version request.\';\r\n		}\r\n\r\n		if (\'currentVersion\' in version_data && \'minimumVersion\' in version_data) {\r\n			if (version_data[\'minimumVersion\'] <= 1200 && version_data[\'currentVersion\'] >= 1200) {\r\n				Synergy.api_version = 1200;\r\n			} else {\r\n				throw \'API version is not supported.\';\r\n			}\r\n		} else {\r\n			throw \'Get version response does not contain version.\';\r\n		}\r\n	},\r\n\r\n	login: function () {\r\n		if (Synergy.session_id !== null || Synergy.api_version === null) {\r\n			return;\r\n		}\r\n\r\n		var response, request = new HttpRequest();\r\n		request.addHeader(\'Content-Type: application/json\');\r\n		request.addHeader(\'X-API-Version: \' + Synergy.api_version);\r\n\r\n		response = request.post(Synergy.params.base_url + \'rest/login-sessions\', JSON.stringify({\r\n			\'userName\': Synergy.params.username,\r\n			\'password\': Synergy.params.password\r\n		}));\r\n\r\n		if (request.getStatus() !== 200) {\r\n			throw \'Auth request failed with status code \' + request.getStatus() + \': \' + response;\r\n		}\r\n\r\n		if (response !== null) {\r\n			try {\r\n				auth_data = JSON.parse(response);\r\n			}\r\n			catch (error) {\r\n				throw \'Failed to parse auth response received from device API.\';\r\n			}\r\n		}\r\n		else {\r\n			throw \'No data received by auth request.\';\r\n		}\r\n\r\n		if (\'sessionID\' in auth_data) {\r\n			Synergy.session_id = auth_data[\'sessionID\'];\r\n		} else {\r\n			throw \'Auth response does not contain session ID.\';\r\n		}\r\n	},\r\n\r\n	logout: function () {\r\n		if (Synergy.session_id !== null && Synergy.api_version !== null) {\r\n			var response, request = new HttpRequest();\r\n			request.addHeader(\'Content-Type: application/json\');\r\n			request.addHeader(\'X-API-Version: \' + Synergy.api_version);\r\n			response = request.delete(Synergy.params.base_url + \'rest/login-sessions\');\r\n		}\r\n	},\r\n\r\n	requestData: function (method) {\r\n		if (Synergy.session_id === null || Synergy.api_version === null) {\r\n			return;\r\n		}\r\n\r\n		request = new HttpRequest();\r\n		request.addHeader(\'Auth: \' + Synergy.session_id);\r\n		request.addHeader(\'X-API-Version: \' + Synergy.api_version);\r\n\r\n		raw_data = request.get(Synergy.params.base_url + \'rest/\' + method);\r\n\r\n		if (request.getStatus() < 200 || request.getStatus() >= 300) {\r\n			throw \'Request failed with status code \' + request.getStatus() + \': \' + raw_data;\r\n		}\r\n\r\n		if (raw_data !== null) {\r\n			try {\r\n				return JSON.parse(raw_data);\r\n			}\r\n			catch (error) {\r\n				throw \'Failed to parse response received from device API.\';\r\n			}\r\n		}\r\n		else {\r\n			throw \'No data received by \' + method + \' request.\';\r\n		}\r\n	}\r\n};\r\n\r\nvar methods = [\'datacenters\', \'enclosures\', \'ethernet-networks\', \'fabrics\', \'fc-networks\', \'hypervisor-managers\', \'interconnects\', \'logical-enclosures\', \'racks\', \'server-hardware\', \'storage-pools\', \'storage-systems\', \'storage-volumes\', \'uplink-sets\'],\r\n	data = {};\r\n\r\ndata[\'errors\'] = {};\r\n\r\ntry {\r\n	Synergy.setParams(JSON.parse(value));\r\n\r\n	try {\r\n		Synergy.checkVersion();\r\n	}\r\n	catch (error) {\r\n		data.errors.version = error.toString();\r\n	}\r\n\r\n	try {\r\n		Synergy.login();\r\n	}\r\n	catch (error) {\r\n		data.errors.auth = error.toString();\r\n	}\r\n\r\n	if (!(\'auth\' in data.errors) && !(\'version\' in data.errors)) {\r\n		for (var i in methods) {\r\n			try {\r\n				if (methods[i] === \'enclosures\') {\r\n					var bays = [\'applianceBays\', \'crossBars\', \'deviceBays\', \'fanBays\', \'partitions\', \'powerSupplyBays\', \'managerBays\'];\r\n\r\n					enclosures = Synergy.requestData(methods[i]);\r\n\r\n					enclosures.members.forEach(function (enclosure) {\r\n						enclosure_name = enclosure.name;\r\n\r\n						for (var j in bays) {\r\n							bay = enclosure[bays[j]];\r\n\r\n							bay.forEach(function (b) {\r\n								b.enclosureName = enclosure_name;\r\n								enclosures.members[bays[j[b]]] = b;\r\n							});\r\n						}\r\n					});\r\n\r\n					data[methods[i]] = enclosures;\r\n				}\r\n				else {\r\n					data[methods[i]] = Synergy.requestData(methods[i]);\r\n				}\r\n			}\r\n			catch (error) {\r\n				data.errors[methods[i]] = 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\ntry {\r\n	Synergy.logout();\r\n}\r\ncatch (error) {\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 JSON with the result from requests to API.','0','30d','0','',NULL,'{$HPE.SYNERGY.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','2f9816e8a60149f4aafdf7ffb0632224','0','2','0'),
('43902','3','','10534','Service ping','net.tcp.service["{$HPE.SYNERGY.API.SCHEME}","{$HPE.SYNERGY.API.HOST}","{$HPE.SYNERGY.API.PORT}"]','1m','31d','365d','0','3','','','','',NULL,'1042','','','0','','','','','0',NULL,'Checks if the service is running and accepting the TCP connections.','0','30d','0','',NULL,'','','','','200','1','0','','','0','0','0','0','0','0','0','86da94cecaa1424e9a22479d556d7b12','0','2','0'),
('44050','20','1.3.6.1.2.1.25.1.1.0','10258','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','81e5ed7d945d40f780eb9bd872ea1832','0','2','0'),
('44051','20','1.3.6.1.2.1.25.1.1.0','10259','Uptime (hardware)','system.hw.uptime[hrSystemUptime.0]','30s','31d','0','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,'','','','','200','1','0','','','0','0','0','0','0','0','0','8b0320157a0144a0b2f1d7df7cbbe08a','0','2','0'),
('44052','21','','10535','EC2 instances discovery','aws.ec2.discovery','12h','90d','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload)), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'describe_region\', \'region_match\', \'region_not_match\'].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			AWS.params[field] = params[field];\r\n		});\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			canonical_uri = \'/\',\r\n			host = service + \'.\' + region + \'.amazonaws.com\',\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS EC2 ] Sending request: \' + url);\r\n		response = request.get(url);\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		try {\r\n			response = JSON.parse(response);\r\n		}\r\n		catch (error) {\r\n			try {\r\n				response = JSON.parse(XML.toJson(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\r\n		return response;\r\n	},\r\n\r\n	tagToNameInstances: function (instance) {\r\n		try {\r\n			var tags = AWS.getField(instance, \'tagSet.item\'),\r\n				instanceName = AWS.getField(instance, \'instanceId\');\r\n			if (!Array.isArray(tags))\r\n				tags = [tags]\r\n			tags.forEach(\r\n				function (tag) {\r\n					if (String(AWS.getField(tag, \'key\')) === \'Name\') {\r\n						instanceName = AWS.getField(tag, \'value\');\r\n					}\r\n				}\r\n			);\r\n			return instanceName;\r\n		}\r\n		catch (error) {\r\n			return AWS.getField(instance, \'instanceId\');\r\n		}\r\n	},\r\n\r\n	listRegions: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeRegions\',\r\n			\'Version\': \'2016-11-15\'\r\n		};\r\n\r\n		regions = AWS.getField(AWS.request(\'GET\', AWS.params.describe_region, \'ec2\', AWS.prepareParams(payload)), \'DescribeRegionsResponse.regionInfo.item\');\r\n\r\n		if (!Array.isArray(regions))\r\n			regions = [regions]\r\n		return regions\r\n	},\r\n\r\n	listInstances: function () {\r\n		var lld_array = [],\r\n			regions = AWS.listRegions(),\r\n			payload = {\r\n				\'Action\': \'DescribeInstances\',\r\n				\'Version\': \'2016-11-15\'\r\n			};\r\n\r\n		regions.forEach(function (region) {\r\n			var region_name = AWS.getField(region, \'regionName\');\r\n			if (region_name.match(AWS.params.region_match) === null ||\r\n				region_name.match(AWS.params.region_not_match) !== null)\r\n				return;\r\n\r\n			result = AWS.request(\'GET\', region_name, \'ec2\', AWS.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			var reservation = result.DescribeInstancesResponse.reservationSet.item\r\n			if (!Array.isArray(reservation))\r\n				reservation = [reservation]\r\n\r\n			reservation.forEach(function (res_item) {\r\n				var instances = AWS.getField(res_item, \'instancesSet.item\')\r\n				if (!Array.isArray(instances))\r\n					instances = [instances]\r\n				instances.forEach(function (instance) {\r\n					if (AWS.getField(instance, \'instanceState.name\') === \'terminated\') return;\r\n					lld_array.push(\r\n						{\r\n							instanceId: AWS.getField(instance, \'instanceId\'),\r\n							instanceName: AWS.tagToNameInstances(instance),\r\n							instanceRegion: region_name\r\n						}\r\n					)\r\n				});\r\n			});\r\n		});\r\n\r\n		return lld_array;\r\n	}\r\n};\r\n\r\ntry {\r\n	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.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','7d','1','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','c651911bad9244ad9c8d2dad5b0d70e4','0','2','0'),
('44053','21','','10535','RDS instances discovery','aws.rds.discovery','12h','90d','0','0','4','','','','',NULL,NULL,'var AWS = {\r\n	params: {},\r\n	metadata: \'http://169.254.169.254/latest/\',\r\n\r\n	getField: function (data, path) {\r\n		var steps = path.split(\'.\');\r\n		for (var i = 0; i < steps.length; i++) {\r\n			var step = steps[i];\r\n			if (typeof data !== \'object\' || typeof data[step] === \'undefined\') {\r\n				throw \'Required field was not found: \' + path;\r\n			}\r\n\r\n			data = data[step];\r\n		}\r\n\r\n		return data;\r\n	},\r\n\r\n	setParams: function (params) {\r\n		AWS.params[\'proxy\'] = params.proxy;\r\n		switch (AWS.getField(params, \'auth_type\')) {\r\n			case \'role_base\':\r\n				AWS.params[\'auth_type\'] = \'role_base\';\r\n				var request = new HttpRequest();\r\n				if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n					request.setProxy(AWS.params.proxy);\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token-ttl-seconds: 21600\');\r\n				var token = request.put(AWS.metadata + \'api/token\');\r\n\r\n				if (request.getStatus() !== 200 || token === null || token === \'\') {\r\n					throw \'Error getting IMDSv2 session token.\';\r\n				}\r\n				request.addHeader(\'X-aws-ec2-metadata-token: \' + token);\r\n				var IamRoleName = request.get(AWS.metadata + \'meta-data/iam/security-credentials\');\r\n\r\n				if (request.getStatus() !== 200 || IamRoleName === null || IamRoleName === \'\') {\r\n					throw \'Error getting security credentials from instance metadata. Role not found.\';\r\n				}\r\n\r\n				credentials = request.get(AWS.metadata + \'meta-data/iam/security-credentials/\' + encodeURI(IamRoleName));\r\n\r\n				if (request.getStatus() !== 200 || credentials === null || credentials === \'\') {\r\n					throw \'Error getting security credentials from instance metadata.\';\r\n				}\r\n\r\n				try {\r\n					credentials = JSON.parse(credentials);\r\n				}\r\n				catch (error) {\r\n					throw \'Failed to parse response received from instance metadata. Check debug log for more information.\';\r\n				}\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'Token\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			case \'assume_role\':\r\n				AWS.params[\'auth_type\'] = \'assume_role\';\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'sts_region\', \'role_arn\'].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					AWS.params[field] = params[field];\r\n				});\r\n\r\n				role_arn_regex = /role\\/(.+)$/;\r\n\r\n				var payload = {\r\n					\'Action\': \'AssumeRole\',\r\n					\'Version\': \'2011-06-15\',\r\n					\'RoleArn\': AWS.params.role_arn,\r\n					\'RoleSessionName\': AWS.params.role_arn.match(role_arn_regex)[1] + \'Session\',\r\n				};\r\n\r\n				credentials = AWS.getField(AWS.request(\'GET\', AWS.params.sts_region, \'sts\', AWS.prepareParams(payload)), \'AssumeRoleResponse.AssumeRoleResult.Credentials\');\r\n\r\n				[\'AccessKeyId\', \'SecretAccessKey\', \'SessionToken\'].forEach(function (field) {\r\n					if (typeof credentials !== \'object\' || typeof credentials[field] === \'undefined\' || credentials[field] === \'\') {\r\n						throw \'Required credentials are not set: "\' + field + \'".\';\r\n					};\r\n					AWS.params[field] = credentials[field];\r\n				});\r\n				break;\r\n			default:\r\n				AWS.params[\'auth_type\'] = \'access_key\';\r\n				[\'AccessKeyId\', \'SecretAccessKey\'].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					AWS.params[field] = params[field];\r\n				});\r\n		}\r\n		[\'describe_region\', \'region_match\', \'region_not_match\'].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			AWS.params[field] = params[field];\r\n		});\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			canonical_uri = \'/\',\r\n			host = service + \'.\' + region + \'.amazonaws.com\',\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 = AWS.sign(\'AWS4\' + AWS.params.SecretAccessKey, date),\r\n			key = AWS.sign(key, region),\r\n			key = AWS.sign(key, service),\r\n			key = AWS.sign(key, \'aws4_request\'),\r\n			request = new HttpRequest(),\r\n			url = \'https://\' + host + canonical_uri + \'?\' + params;\r\n\r\n		if (typeof AWS.params.proxy !== \'undefined\' && AWS.params.proxy !== \'\') {\r\n			request.setProxy(AWS.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=\' + AWS.params.AccessKeyId + \'/\' + credential_scope + \', \' + \'SignedHeaders=\' + signed_headers + \', \' + \'Signature=\' + hmac(\'sha256\', key, request_string));\r\n		if (AWS.params.auth_type === \'role_base\' || (AWS.params.auth_type === \'assume_role\' & !params.includes(\'AssumeRole\'))) {\r\n			request.addHeader(\'X-Amz-Security-Token: \' + (AWS.params.auth_type === \'role_base\' ? AWS.params.Token : AWS.params.SessionToken));\r\n		}\r\n\r\n		Zabbix.log(4, \'[ AWS RDS ] Sending request: \' + url);\r\n		response = request.get(url);\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			try {\r\n				response = JSON.parse(XML.toJson(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\r\n		return response;\r\n	},\r\n\r\n	listRegions: function () {\r\n		var payload = {\r\n			\'Action\': \'DescribeRegions\',\r\n			\'Version\': \'2016-11-15\'\r\n		};\r\n\r\n		regions = AWS.getField(AWS.request(\'GET\', AWS.params.describe_region, \'ec2\', AWS.prepareParams(payload)), \'DescribeRegionsResponse.regionInfo.item\');\r\n\r\n		if (!Array.isArray(regions))\r\n			regions = [regions]\r\n		return regions\r\n	},\r\n\r\n	listInstances: function () {\r\n		var lld_array = [],\r\n			regions = AWS.listRegions(),\r\n			payload = {\r\n				\'Action\': \'DescribeDBInstances\',\r\n				\'Version\': \'2014-10-31\'\r\n			};\r\n\r\n		regions.forEach(function (region) {\r\n			var region_name = AWS.getField(region, \'regionName\');\r\n			if (region_name.match(AWS.params.region_match) === null ||\r\n				region_name.match(AWS.params.region_not_match) !== null)\r\n				return;\r\n\r\n			result = AWS.request(\'GET\', region_name, \'rds\', AWS.prepareParams(payload));\r\n\r\n			databases = AWS.getField(result, \'DescribeDBInstancesResponse.DescribeDBInstancesResult.DBInstances\')\r\n			if (!Array.isArray(databases))\r\n				databases = [databases]\r\n\r\n			databases.forEach(function (db) {\r\n				lld_array.push(\r\n					{\r\n						DBInstanceIdentifier: AWS.getField(db, \'DBInstanceIdentifier\'),\r\n						instanceRegion: region_name\r\n					}\r\n				)\r\n			});\r\n		});\r\n\r\n		return lld_array;\r\n	}\r\n};\r\n\r\ntry {\r\n	AWS.setParams(JSON.parse(value));\r\n\r\n	return JSON.stringify(AWS.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','7d','1','',NULL,'{$AWS.DATA.TIMEOUT}','','','','200','1','0','','','0','0','0','0','0','0','0','c1127e674b7548b2802cd8771f3a4768','0','2','0'),
