Files
librenms-librenms/includes/discovery/storage/freenas-dataset.inc.php
Peter Childs 0b98b6ff72 add os check in discovery for aix/freenas storage and cisco cdp (#15104)
* add os check in discovery for aix/freenas storage and cisco cdp

* use os_group = cisco
2023-07-24 19:07:23 -05:00

24 lines
1.2 KiB
PHP

<?php
if ($device['os'] == 'truenas') {
$datasetTable_array = snmpwalk_cache_oid($device, 'datasetTable', null, 'FREENAS-MIB');
$sql = "SELECT `storage_descr` FROM `storage` WHERE `device_id` = '" . $device['device_id'] . "' AND `storage_type` != 'dataset'";
$tmp_storage = dbFetchColumn($sql);
if (is_array($datasetTable_array)) {
foreach ($datasetTable_array as $index => $dataset) {
if (isset($dataset['datasetDescr'])) {
if (!in_array($dataset['datasetDescr'], $tmp_storage)) {
$dataset['datasetIndex'] = $index;
$dataset['datasetTotal'] = $dataset['datasetSize'] * $dataset['datasetAllocationUnits'];
$dataset['datasetAvail'] = ($dataset['datasetAvailable'] * $dataset['datasetAllocationUnits']);
$dataset['datasetUsed'] = $dataset['datasetTotal'] - $dataset['datasetAvail'];
discover_storage($valid_storage, $device, $dataset['datasetIndex'], 'dataset', 'freenas-dataset', $dataset['datasetDescr'], $dataset['datasetTotal'], $dataset['datasetAllocationUnits'], $dataset['datasetUsed']);
}
}
}
}
}