mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Add EdgeCore ECS4110-28T Support (#10525)
* Add ECS4110 cpu usage
* Add cpu usage oid for ECS4110
* TESTED
* Fix EdgeCore ifOperStatus does not follow the Cisco convention
* Since EdgeCore use "lowerLayerDown" in ifOperStatus when port is unplugged
* On the other way, Cisco use briefly "down".
* So change "lowerLayerDown" to "down" to workaround the bug that will make port always show as up/up
* Refactor Edgecos cpu usage oid
* Codeclimate is unhappy about it maybe the refactor will make it happy.
* Add EgdeCore ECS4110 MIB
Just got MIB from EdgeCore
* Refactor Egdecos Mempool
* a bit refactor of Mempool discover and polling
* add support for ECS4110 via MIB
* Modify ECS-4110 MIB
* MODULE-IDENTITY change from ECS4110-52P-MIB to ECS4110-MIB
* strip off syntax error part(time range)
* Add EdgeCore ECS-4110 OS polling
* polling OS and Hardware via MIBs
* Fix typo
* Sorry that I am dazzled
* Fix Syntax Check
* Codeclimate is a bit aggressive
* Update edgecos.inc.php
* Update edgecos.inc.php
* Revert "Fix EdgeCore ifOperStatus does not follow the Cisco convention"
This reverts commit 27971b34a8.
* Add snmprec file for unit testing.
* Create edgecos_ecs4110-28t.json
This commit is contained in:
+7
-15
@@ -43,25 +43,17 @@ class Edgecos extends OS implements ProcessorDiscovery
|
||||
|
||||
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
|
||||
} elseif (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
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.39.')) { //ECS4110
|
||||
$oid = '.1.3.6.1.4.1.259.10.1.39.1.39.2.1.0';
|
||||
} elseif (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
|
||||
} elseif (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
|
||||
} elseif (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';
|
||||
};
|
||||
|
||||
if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.8.1.11.')) { //ES3510MA
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.8.1.11.')) { //ES3510MA
|
||||
$oid = '.1.3.6.1.4.1.259.8.1.11.1.39.2.1.0';
|
||||
};
|
||||
|
||||
|
||||
@@ -18,3 +18,4 @@ discovery:
|
||||
- .1.3.6.1.4.1.259.10.1.42.101
|
||||
- .1.3.6.1.4.1.259.10.1.27.102
|
||||
- .1.3.6.1.4.1.259.10.1.45.101
|
||||
- .1.3.6.1.4.1.259.10.1.39
|
||||
@@ -14,38 +14,26 @@
|
||||
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
|
||||
} elseif (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
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.39.')) { //ECS4110
|
||||
$temp_mibs = 'ECS4110-MIB';
|
||||
} elseif (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
|
||||
} elseif (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
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) { //ECS3510
|
||||
$temp_mibs = 'ECS3510-MIB';
|
||||
};
|
||||
|
||||
if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.8.1.11.')) { //ES3510MA
|
||||
$temp_mibs = 'ES3510MA-MIB';
|
||||
};
|
||||
|
||||
$temp_data = snmp_get_multi_oid($device, ['memoryTotal.0', 'memoryFreed.0'], '-OUQs', $temp_mibs);
|
||||
$temp_data = snmp_get_multi_oid($device, ['memoryTotal.0', 'memoryFreed.0','memoryAllocated.0'], '-OUQs', $temp_mibs);
|
||||
$total = $temp_data['memoryTotal.0'];
|
||||
$avail = $temp_data['memoryFreed.0'];
|
||||
$used = $total - $avail;
|
||||
$percent = ($used / $total * 100);
|
||||
$used = $temp_data['memoryAllocated.0'] ?? ($total - $avail);
|
||||
|
||||
if ((is_numeric($total)) && (is_numeric($avail))) {
|
||||
if ((is_numeric($total)) && (is_numeric($avail)) && (is_numeric($used) )) {
|
||||
discover_mempool($valid_mempool, $device, 0, 'edgecos', 'Memory', '1', null, null);
|
||||
}
|
||||
unset($temp_id, $temp_data, $tmep_mibs);
|
||||
|
||||
@@ -12,30 +12,23 @@
|
||||
|
||||
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
|
||||
} elseif (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
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.39.')) { //ECS4110
|
||||
$temp_mibs = 'ECS4110-MIB';
|
||||
} elseif (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
|
||||
} elseif (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
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) { //ECS3510
|
||||
$temp_mibs = 'ECS3510-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.8.1.11.')) { //ECS3510MA
|
||||
$temp_mibs = 'ES3510MA-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;
|
||||
$temp_data = snmp_get_multi_oid($device, ['memoryTotal.0', 'memoryFreed.0','memoryAllocated.0'], '-OUQs', $temp_mibs);
|
||||
$mempool['total'] = $temp_data['memoryTotal.0'];
|
||||
$mempool['free'] = $temp_data['memoryFreed.0'];
|
||||
$mempool['used'] = $temp_data['memoryAllocated.0'] ?? ($mempool['total'] - $mempool['free']);
|
||||
|
||||
unset($temp_mibs, $temp_data);
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
<?php
|
||||
|
||||
if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.6.')) {
|
||||
if (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.6.')) { //ES3528M0
|
||||
$tmp_mib = 'ES3528MO-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.22.')) {
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.22.')) { //ES3528MV2
|
||||
$tmp_mib = 'ES3528MV2-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.24.')) {
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.24.')) { //ECS4510
|
||||
$tmp_mib = 'ECS4510-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.42.')) {
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.39.')) { //ECS4110
|
||||
$tmp_mib = 'ECS4110-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.42.')) { //ECS4210
|
||||
$tmp_mib = 'ECS4210-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) {
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.1.27.')) { //ECS3510
|
||||
$tmp_mib = 'ECS3510-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.')) {
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.10.')) { //ECS4120
|
||||
$tmp_mib = 'ECS4120-MIB';
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.8.1.11')) {
|
||||
} elseif (starts_with($device['sysObjectID'], '.1.3.6.1.4.1.259.8.1.11')) { //ES3510MA
|
||||
$tmp_mib = 'ES3510MA-MIB';
|
||||
}
|
||||
|
||||
@@ -21,3 +23,5 @@ $tmp_edgecos = snmp_get_multi($device, ['swOpCodeVer.1', 'swProdName.0', 'swSeri
|
||||
$version = trim($tmp_edgecos[1]['swHardwareVer'], '"') . ' ' . trim($tmp_edgecos[1]['swOpCodeVer'], '"');
|
||||
$hardware = trim($tmp_edgecos[0]['swProdName'], '"');
|
||||
$serial = trim($tmp_edgecos[1]['swSerialNumber'], '"');
|
||||
|
||||
unset($temp_mibs, $tmp_edgecos);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user