Improved support for Equallogic storage arrays and DELL servers

This commit is contained in:
Peter TKATCHENKO
2016-05-12 17:36:08 +02:00
parent 847d639cbf
commit c99c74bd95
5 changed files with 300 additions and 29 deletions

View 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);
}
}