FreeBSD mempools Fix (#9659)

* add hrMemorySize polling

* switch to sysObjectID that is more gereric

* add snmprec data

* Create pfsense.json
This commit is contained in:
Vitali Kari
2019-01-19 19:38:56 +01:00
committed by Tony Murray
parent 59d4dc5490
commit 96d9cfd672
3 changed files with 7206 additions and 1 deletions

View File

@@ -3,6 +3,8 @@
// HOST-RESOURCES-MIB - Memory Objects
if (!is_array($storage_cache['hrstorage'])) {
$storage_cache['hrstorage'] = snmpwalk_cache_oid($device, 'hrStorageEntry', null, 'HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES');
$storage_cache['memorySize'] = snmp_get($device, 'hrMemorySize.0', '-OUqv', 'HOST-RESOURCES-MIB');
$storage_cache['memorySize'] = $storage_cache['memorySize'] * 1024; // hrMemorySize is stored in KBytes
d_echo($storage_cache);
} else {
d_echo('Cached!');
@@ -12,5 +14,9 @@ $entry = $storage_cache['hrstorage'][$mempool['mempool_index']];
$mempool['units'] = $entry['hrStorageAllocationUnits'];
$mempool['used'] = ($entry['hrStorageUsed'] * $mempool['units']);
$mempool['total'] = ($entry['hrStorageSize'] * $mempool['units']);
if ($device['sysObjectID'] == '.1.3.6.1.4.1.12325.1.1.2.1.1') { // bsnmpd based devices, like FreeBSD, opnsense, pfsense ...
$mempool['total'] = $storage_cache['memorySize'];
} else {
$mempool['total'] = ($entry['hrStorageSize'] * $mempool['units']);
}
$mempool['free'] = ($mempool['total'] - $mempool['used']);

1737
tests/data/pfsense.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff