mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Improved support for Equallogic storage arrays and DELL servers
This commit is contained in:
37
includes/discovery/storage/eql-storage.inc.php
Normal file
37
includes/discovery/storage/eql-storage.inc.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* LibreNMS
|
||||
*
|
||||
* Copyright (c) 2016 Peter TKATCHENKO https://github.com/Peter2121/
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
$eql_storage = snmpwalk_cache_oid($device, 'EqliscsiVolumeEntry', null, 'EQLVOLUME-MIB', $config['install_dir'].'/mibs/equallogic');
|
||||
|
||||
if (is_array($eql_storage)) {
|
||||
echo 'EqliscsiVolumeEntry ';
|
||||
foreach ($eql_storage as $index => $storage) {
|
||||
$fstype = $storage['eqliscsiVolumeAdminStatus'];
|
||||
$descr = $storage['eqliscsiVolumeName'];
|
||||
$units = 1;
|
||||
$size = $storage['eqliscsiVolumeSize'] * $units;
|
||||
$used = $storage['eqliscsiVolumeStatusAllocatedSpace'] * $units;
|
||||
if (is_int($index)) {
|
||||
discover_storage($valid_storage, $device, $index, $fstype, 'eql-storage', $descr, $size, $units, $used);
|
||||
} else {
|
||||
// Trying to search the last '.' and take something after it as index
|
||||
$arrindex = explode(".", $index);
|
||||
$newindex = (int)(end($arrindex))+0;
|
||||
if (is_int($newindex)) {
|
||||
discover_storage($valid_storage, $device, $newindex, $fstype, 'eql-storage', $descr, $size, $units, $used);
|
||||
}
|
||||
}
|
||||
unset($deny, $fstype, $descr, $size, $used, $units, $storage_rrd, $old_storage_rrd, $hrstorage_array);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user