mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added netapp storage support and restructured storage files/dir
This commit is contained in:
28
includes/discovery/storage/netapp-storage.inc.php
Normal file
28
includes/discovery/storage/netapp-storage.inc.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
$netapp_storage = snmpwalk_cache_oid($device, "dfEntry",NULL, "NETAPP-MIB");
|
||||
|
||||
if (is_array($netapp_storage)) {
|
||||
echo "dfEntry ";
|
||||
foreach ($netapp_storage as $index => $storage) {
|
||||
$fstype = $storage['dfType'];
|
||||
$descr = $storage['dfFileSys'];
|
||||
$units = 1024;
|
||||
if (isset($storage['df64TotalKBytes']) && is_numeric($storage['df64TotalKBytes'])) {
|
||||
$size = $storage['df64TotalKBytes'] * $units;
|
||||
$used = $storage['df64UsedKBytes'] * $units;
|
||||
} else {
|
||||
$size = $storage['dfKBytesTotal'] * $units;
|
||||
$used = $storage['dfKBytesUsed'] * $units;
|
||||
}
|
||||
|
||||
foreach ($config['ignore_mount'] as $bi) { if ($bi == $descr) { $deny = 1; if ($debug) echo("$bi == $descr \n"); } }
|
||||
foreach ($config['ignore_mount_string'] as $bi) { if (strpos($descr, $bi) !== FALSE) { $deny = 1; if ($debug) echo("strpos: $descr, $bi \n"); } }
|
||||
foreach ($config['ignore_mount_regexp'] as $bi) { if (preg_match($bi, $descr) > "0") { $deny = 1; if ($debug) echo("preg_match $bi, $descr \n"); } }
|
||||
|
||||
if (!$deny && is_numeric($index)) {
|
||||
discover_storage($valid_storage, $device, $index, $fstype, "netapp-storage", $descr, $size , $units, $used);
|
||||
}
|
||||
unset($deny, $fstype, $descr, $size, $used, $units, $storage_rrd, $old_storage_rrd, $hrstorage_array);
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ foreach (dbFetchRows("SELECT * FROM storage WHERE device_id = ?", array($device[
|
||||
rrdtool_create($storage_rrd, "--step 300 DS:used:GAUGE:600:0:U DS:free:GAUGE:600:0:U ".$config['rrd_rra']);
|
||||
}
|
||||
|
||||
$file = $config['install_dir']."/includes/polling/storage-".$storage['storage_mib'].".inc.php";
|
||||
$file = $config['install_dir']."/includes/polling/storage/".$storage['storage_mib'].".inc.php";
|
||||
if (is_file($file))
|
||||
{
|
||||
include($file);
|
||||
|
||||
15
includes/polling/storage/netapp-storage.inc.php
Normal file
15
includes/polling/storage/netapp-storage.inc.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
if (!is_array($storage_cache['netapp-storage'])) {
|
||||
$storage_cache['hrstorage'] = snmpwalk_cache_oid($device, "dfEntry", NULL, "NETAPP-MIB");
|
||||
if ($debug) {
|
||||
print_r($storage_cache);
|
||||
}
|
||||
}
|
||||
|
||||
$entry = $storage_cache['netapp-storage'][$storage[storage_index]];
|
||||
|
||||
$storage['units'] = 1024;
|
||||
$storage['used'] = $entry['hrStorageUsed'] * $storage['units'];
|
||||
$storage['size'] = $entry['hrStorageSize'] * $storage['units'];
|
||||
$storage['free'] = $storage['size'] - $storage['used'];
|
||||
Reference in New Issue
Block a user