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']);
 | 
					   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))
 | 
					  if (is_file($file))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    include($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