diff --git a/includes/discovery/mempools/edgecos.inc.php b/includes/discovery/mempools/edgecos.inc.php new file mode 100644 index 0000000000..ea60bfaa81 --- /dev/null +++ b/includes/discovery/mempools/edgecos.inc.php @@ -0,0 +1,48 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ + + +if ($device['os'] == 'edgecos') { + d_echo('EdgeCore Memory:'); + + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.24.')) { //ECS4510 + $temp_mibs = 'ECS4510-MIB'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.22.')) { //ECS3528 + $temp_mibs = 'ES3528MV2-MIB'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.45.')) { //ECS4120 + $temp_mibs = 'ECS4120-MIB'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.42.')) { //ECS4210 + $temp_mibs = 'ECS4210-MIB'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) { //ECS3510 + $temp_mibs = 'ECS3510-MIB'; + }; + + $temp_data = snmp_get_multi_oid($device, 'memoryTotal.0 memoryFreed.0', '-OUQs', $temp_mibs); + $total = $temp_data['memoryTotal.0']; + $avail = $temp_data['memoryFreed.0']; + $used = $total - $avail; + $percent = ($used / $total * 100); + + if ((is_numeric($total)) && (is_numeric($avail))) { + discover_mempool($valid_mempool, $device, 0, 'edgecos', 'Memory', '1', null, null); + } + unset($temp_id, $temp_data, $tmep_mibs); +} diff --git a/includes/discovery/processors/edgecos.inc.php b/includes/discovery/processors/edgecos.inc.php index 1f734eca64..a6b215f7db 100644 --- a/includes/discovery/processors/edgecos.inc.php +++ b/includes/discovery/processors/edgecos.inc.php @@ -10,14 +10,35 @@ * the source code distribution for details. */ + if ($device['os'] == 'edgecos') { echo 'Edgecos : '; - $oid = '.1.3.6.1.4.1.259.10.1.24.1.39.2.1.0'; - $descr = 'Processor'; - $usage = snmp_get($device, $oid, '-Ovqn'); + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.24.')) { //ECS4510 + $oid = '.1.3.6.1.4.1.259.10.1.24.1.39.2.1.0'; + }; + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.22.')) { //ECS3528 + $oid = '.1.3.6.1.4.1.259.10.1.22.1.39.2.1.0'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.45.')) { //ECS4120 + $oid = '.1.3.6.1.4.1.259.10.1.45.1.39.2.1.0'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.42.')) { //ECS4210 + $oid = '.1.3.6.1.4.1.259.10.1.42.101.1.39.2.1.0'; + }; + + if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) { //ECS3510 + $oid = '.1.3.6.1.4.1.259.10.1.27.1.39.2.1.0'; + }; + + + $descr = 'Processor'; + $usage = snmp_get($device, $oid, '-Ovq'); if (is_numeric($usage)) { discover_processor($valid['processor'], $device, $oid, '0', 'edgecos', $descr, '1', $usage); } + unset($temp_id); } diff --git a/includes/polling/mempools/edgecos.inc.php b/includes/polling/mempools/edgecos.inc.php new file mode 100644 index 0000000000..9a9c7092a8 --- /dev/null +++ b/includes/polling/mempools/edgecos.inc.php @@ -0,0 +1,41 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ + +if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.24.')) { //ECS4510 + $temp_mibs = 'ECS4510-MIB'; +}; + +if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.22.')) { //ECS3528 + $temp_mibs = 'ES3528MV2-MIB'; +}; + +if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.45.')) { //ECS4120 + $temp_mibs = 'ECS4120-MIB'; +}; + +if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.42.')) { //ECS4210 + $temp_mibs = 'ECS4210-MIB'; +}; + +if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) { //ECS3510 + $temp_mibs = 'ECS3510-MIB'; +}; + +$temp_data = snmp_get_multi_oid($device, 'memoryTotal.0 memoryFreed.0', '-OUQs', $temp_mibs); +$total = $temp_data['memoryTotal.0']; +$avail = $temp_data['memoryFreed.0']; + +$mempool['total'] = $total; +$mempool['free'] = $avail; +$mempool['used'] = $total - $avail; + +unset($temp_mibs, $temp_data); diff --git a/tests/data/edgecos_ECS3510-52T.json b/tests/data/edgecos_ECS3510-52T.json new file mode 100644 index 0000000000..5be41677b6 --- /dev/null +++ b/tests/data/edgecos_ECS3510-52T.json @@ -0,0 +1,62 @@ +{ + "mempools": { + "discovery": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "0", + "mempool_used": "0", + "mempool_free": "0", + "mempool_total": "0", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + }, + "poller": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "73", + "mempool_used": "97779712", + "mempool_free": "36438016", + "mempool_total": "134217728", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + } + }, + "processors": { + "discovery": { + "processors": [ + { + "entPhysicalIndex": "0", + "hrDeviceIndex": null, + "processor_oid": ".1.3.6.1.4.1.259.10.1.27.1.39.2.1.0", + "processor_index": "0", + "processor_type": "edgecos", + "processor_usage": "21", + "processor_descr": "Processor", + "processor_precision": "1", + "processor_perc_warn": "75" + } + ] + }, + "poller": "matches discovery" + } +} \ No newline at end of file diff --git a/tests/data/edgecos_ECS4210-28T.json b/tests/data/edgecos_ECS4210-28T.json new file mode 100644 index 0000000000..4800915a10 --- /dev/null +++ b/tests/data/edgecos_ECS4210-28T.json @@ -0,0 +1,62 @@ +{ + "mempools": { + "discovery": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "0", + "mempool_used": "0", + "mempool_free": "0", + "mempool_total": "0", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + }, + "poller": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "93", + "mempool_used": "124489728", + "mempool_free": "9728000", + "mempool_total": "134217728", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + } + }, + "processors": { + "discovery": { + "processors": [ + { + "entPhysicalIndex": "0", + "hrDeviceIndex": null, + "processor_oid": ".1.3.6.1.4.1.259.10.1.42.101.1.39.2.1.0", + "processor_index": "0", + "processor_type": "edgecos", + "processor_usage": "45", + "processor_descr": "Processor", + "processor_precision": "1", + "processor_perc_warn": "75" + } + ] + }, + "poller": "matches discovery" + } +} \ No newline at end of file diff --git a/tests/data/edgecos_ECS4510-28F.json b/tests/data/edgecos_ECS4510-28F.json new file mode 100644 index 0000000000..6d56636026 --- /dev/null +++ b/tests/data/edgecos_ECS4510-28F.json @@ -0,0 +1,62 @@ +{ + "mempools": { + "discovery": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "0", + "mempool_used": "0", + "mempool_free": "0", + "mempool_total": "0", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + }, + "poller": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "71", + "mempool_used": "191696896", + "mempool_free": "76738560", + "mempool_total": "268435456", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + } + }, + "processors": { + "discovery": { + "processors": [ + { + "entPhysicalIndex": "0", + "hrDeviceIndex": null, + "processor_oid": ".1.3.6.1.4.1.259.10.1.24.1.39.2.1.0", + "processor_index": "0", + "processor_type": "edgecos", + "processor_usage": "15", + "processor_descr": "Processor", + "processor_precision": "1", + "processor_perc_warn": "75" + } + ] + }, + "poller": "matches discovery" + } +} \ No newline at end of file diff --git a/tests/data/edgecos_ECS4510-52T.json b/tests/data/edgecos_ECS4510-52T.json new file mode 100644 index 0000000000..e0f414fd37 --- /dev/null +++ b/tests/data/edgecos_ECS4510-52T.json @@ -0,0 +1,62 @@ +{ + "mempools": { + "discovery": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "0", + "mempool_used": "0", + "mempool_free": "0", + "mempool_total": "0", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + }, + "poller": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "79", + "mempool_used": "211349504", + "mempool_free": "57085952", + "mempool_total": "268435456", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + } + }, + "processors": { + "discovery": { + "processors": [ + { + "entPhysicalIndex": "0", + "hrDeviceIndex": null, + "processor_oid": ".1.3.6.1.4.1.259.10.1.24.1.39.2.1.0", + "processor_index": "0", + "processor_type": "edgecos", + "processor_usage": "28", + "processor_descr": "Processor", + "processor_precision": "1", + "processor_perc_warn": "75" + } + ] + }, + "poller": "matches discovery" + } +} \ No newline at end of file diff --git a/tests/data/edgecos_ES3528MV2.json b/tests/data/edgecos_ES3528MV2.json new file mode 100644 index 0000000000..365a6faf12 --- /dev/null +++ b/tests/data/edgecos_ES3528MV2.json @@ -0,0 +1,62 @@ +{ + "mempools": { + "discovery": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "0", + "mempool_used": "0", + "mempool_free": "0", + "mempool_total": "0", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + }, + "poller": { + "mempools": [ + { + "mempool_index": "0", + "entPhysicalIndex": null, + "hrDeviceIndex": null, + "mempool_type": "edgecos", + "mempool_precision": "1", + "mempool_descr": "Memory", + "mempool_perc": "72", + "mempool_used": "97112064", + "mempool_free": "37105664", + "mempool_total": "134217728", + "mempool_largestfree": null, + "mempool_lowestfree": null, + "mempool_deleted": "0", + "mempool_perc_warn": "75" + } + ] + } + }, + "processors": { + "discovery": { + "processors": [ + { + "entPhysicalIndex": "0", + "hrDeviceIndex": null, + "processor_oid": ".1.3.6.1.4.1.259.10.1.22.1.39.2.1.0", + "processor_index": "0", + "processor_type": "edgecos", + "processor_usage": "22", + "processor_descr": "Processor", + "processor_precision": "1", + "processor_perc_warn": "75" + } + ] + }, + "poller": "matches discovery" + } +} \ No newline at end of file diff --git a/tests/snmpsim/edgecos_ecs3510-52t.snmprec b/tests/snmpsim/edgecos_ecs3510-52t.snmprec index a6a2092bd3..fa8f4d5364 100644 --- a/tests/snmpsim/edgecos_ecs3510-52t.snmprec +++ b/tests/snmpsim/edgecos_ecs3510-52t.snmprec @@ -1,2 +1,10 @@ 1.3.6.1.2.1.1.1.0|4|ECS3510-52T -1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.259.10.1.27.102 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.259.10.1.27.102 +1.3.6.1.2.1.1.3.0|67|1418077063 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.4.1.259.10.1.27.1.39.2.1.0|2|21 +1.3.6.1.4.1.259.10.1.27.1.39.3.1.0|2|134217728 +1.3.6.1.4.1.259.10.1.27.1.39.3.3.0|2|36438016 +1.3.6.1.6.3.10.2.1.3.0|2|14180788 diff --git a/tests/snmpsim/edgecos_ecs4210-28t.snmprec b/tests/snmpsim/edgecos_ecs4210-28t.snmprec index d66349de41..22b52f4097 100644 --- a/tests/snmpsim/edgecos_ecs4210-28t.snmprec +++ b/tests/snmpsim/edgecos_ecs4210-28t.snmprec @@ -1,2 +1,10 @@ 1.3.6.1.2.1.1.1.0|4|ECS4210-28T -1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.259.10.1.42.101 \ No newline at end of file +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.259.10.1.42.101 +1.3.6.1.2.1.1.3.0|67|88167239 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.4.1.259.10.1.42.101.1.39.2.1.0|2|100 +1.3.6.1.4.1.259.10.1.42.101.1.39.3.1.0|2|134217728 +1.3.6.1.4.1.259.10.1.42.101.1.39.3.3.0|2|9670656 +1.3.6.1.6.3.10.2.1.3.0|2|881628 diff --git a/tests/snmpsim/edgecos_ecs4510-28f.snmprec b/tests/snmpsim/edgecos_ecs4510-28f.snmprec index 40a8ff9de5..e81a0cf79e 100644 --- a/tests/snmpsim/edgecos_ecs4510-28f.snmprec +++ b/tests/snmpsim/edgecos_ecs4510-28f.snmprec @@ -1,2 +1,10 @@ 1.3.6.1.2.1.1.1.0|4|ECS4510-28F -1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.259.10.1.24.103 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.259.10.1.24.103 +1.3.6.1.2.1.1.3.0|67|2168272514 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.4.1.259.10.1.24.1.39.2.1.0|2|31 +1.3.6.1.4.1.259.10.1.24.1.39.3.1.0|2|268435456 +1.3.6.1.4.1.259.10.1.24.1.39.3.3.0|2|76738560 +1.3.6.1.6.3.10.2.1.3.0|2|21682306 diff --git a/tests/snmpsim/edgecos_ecs4510-52t.snmprec b/tests/snmpsim/edgecos_ecs4510-52t.snmprec index 8097a3a8ec..9e52fcb775 100644 --- a/tests/snmpsim/edgecos_ecs4510-52t.snmprec +++ b/tests/snmpsim/edgecos_ecs4510-52t.snmprec @@ -1,2 +1,10 @@ 1.3.6.1.2.1.1.1.0|4|ECS4510-52T -1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.259.10.1.24.104 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.259.10.1.24.104 +1.3.6.1.2.1.1.3.0|67|2202586266 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.4.1.259.10.1.24.1.39.2.1.0|2|27 +1.3.6.1.4.1.259.10.1.24.1.39.3.1.0|2|268435456 +1.3.6.1.4.1.259.10.1.24.1.39.3.3.0|2|57085952 +1.3.6.1.6.3.10.2.1.3.0|2|22025502 diff --git a/tests/snmpsim/edgecos_es3528mv2.snmprec b/tests/snmpsim/edgecos_es3528mv2.snmprec index 99d87f30b9..12206664a5 100644 --- a/tests/snmpsim/edgecos_es3528mv2.snmprec +++ b/tests/snmpsim/edgecos_es3528mv2.snmprec @@ -1,2 +1,10 @@ 1.3.6.1.2.1.1.1.0|4|ES3528MV2 -1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.259.10.1.22.101 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.259.10.1.22.101 +1.3.6.1.2.1.1.3.0|67|3259522528 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.4.1.259.10.1.22.1.39.2.1.0|2|20 +1.3.6.1.4.1.259.10.1.22.1.39.3.1.0|2|134217728 +1.3.6.1.4.1.259.10.1.22.1.39.3.3.0|2|37105664 +1.3.6.1.6.3.10.2.1.3.0|2|144029748