mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
storage legend fix (lazy sid3windr!) add generic ucd processor discovery/poller
git-svn-id: http://www.observium.org/svn/observer/trunk@1089 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@@ -9,7 +9,7 @@ $rrd_options .= " -b 1024";
|
||||
|
||||
$iter = "1";
|
||||
$sql = mysql_query("SELECT * FROM storage where storage_id = '".mres($_GET['id'])."'");
|
||||
$rrd_options .= " COMMENT:' Size Used %age\\n'";
|
||||
$rrd_options .= " COMMENT:' Size Free % Used\\n'";
|
||||
while($storage = mysql_fetch_array($sql)) {
|
||||
$hostname = gethostbyid($storage['device_id']);
|
||||
if($iter=="1") {$colour="CC0000";} elseif($iter=="2") {$colour="008C00";} elseif($iter=="3") {$colour="4096EE";
|
||||
@@ -23,8 +23,8 @@ $rrd_options .= " -b 1024";
|
||||
$rrd_options .= " CDEF:$storage[storage_id]size=$storage[storage_id]used,$storage[storage_id]free,+";
|
||||
$rrd_options .= " CDEF:$storage[storage_id]perc=$storage[storage_id]used,$storage[storage_id]size,/,100,*";
|
||||
$rrd_options .= " LINE1.25:$storage[storage_id]perc#" . $colour . ":'$descr'";
|
||||
$rrd_options .= " GPRINT:$storage[storage_id]size:LAST:%6.2lf%sB";
|
||||
$rrd_options .= " GPRINT:$storage[storage_id]free:LAST:%6.2lf%sB";
|
||||
$rrd_options .= " GPRINT:$storage[storage_id]used:LAST:%6.2lf%sB";
|
||||
$rrd_options .= " GPRINT:$storage[storage_id]perc:LAST:%5.2lf%%\\\\n";
|
||||
$iter++;
|
||||
}
|
||||
|
@@ -1,46 +0,0 @@
|
||||
<?php
|
||||
$id = $device['device_id'];
|
||||
$hostname = $device['hostname'];
|
||||
$community = $device['community'];
|
||||
$snmpver = $device['snmpver'];
|
||||
$port = $device['port'];
|
||||
|
||||
echo("CISCO-ENHANCED-MEMORY-POOL : ");
|
||||
|
||||
## Cisco Enhanced Mempool
|
||||
if($device['os_type'] == "ios") {
|
||||
|
||||
$oids = shell_exec($config['snmpwalk'] . " -m CISCO-ENHANCED-MEMPOOL-MIB -".$device['snmpver']." -CI -Osq -c ".$community." ".$hostname.":".$port." cempMemPoolName | sed s/cempMemPoolName.//g");
|
||||
$oids = trim($oids);
|
||||
foreach(explode("\n", $oids) as $data) {
|
||||
$data = trim($data);
|
||||
if($data) {
|
||||
list($oid, $cempMemPoolName) = explode(" ", $data);
|
||||
list($entPhysicalIndex, $Index) = explode(".", $oid);
|
||||
$cempMemPoolType = trim(shell_exec($config['snmpget'] . " -m CISCO-ENHANCED-MEMPOOL-MIB -O qv -".$device['snmpver']." -c $community $hostname:$port cempMemPoolType.$oid"));
|
||||
$cempMemPoolValid = trim(shell_exec($config['snmpget'] . " -m CISCO-ENHANCED-MEMPOOL-MIB -O qv -".$device['snmpver']." -c $community $hostname:$port cempMemPoolValid.$oid"));
|
||||
if(!strstr($descr, "No") && !strstr($usage, "No") && $cempMemPoolName != "" ) {
|
||||
$descr = str_replace("\"", "", $descr);
|
||||
$descr = trim($descr);
|
||||
#echo("[$cempMemPoolName ($oid)] ");
|
||||
if(mysql_result(mysql_query("SELECT count(cempMemPool_id) FROM `cempMemPool` WHERE `Index` = '$Index' AND `entPhysicalIndex` = '$entPhysicalIndex' AND `device_id` = '$id'"),0) == '0') {
|
||||
$query = "INSERT INTO cempMemPool (`Index`, `entPhysicalIndex`, `cempMemPoolType`, `cempMemPoolName`, `cempMemPoolValid`, `device_id`)
|
||||
values ('$Index', '$entPhysicalIndex', '$cempMemPoolType', '$cempMemPoolName', '$cempMemPoolValid', '$id')";
|
||||
mysql_query($query);
|
||||
#echo("$query\n");
|
||||
echo("+");
|
||||
} else { echo("."); }
|
||||
$valid_cpm[$id][$oid] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
} ## End Cisco Enhanced Mempool
|
||||
|
||||
##### ************FIX ME***********
|
||||
##### WRITE CODE TO REMOVE OLD RAMS
|
||||
##### SOMETIMES THEY CAN GET STOLED
|
||||
##### *****************************
|
||||
|
||||
echo("\n");
|
||||
|
||||
?>
|
@@ -1,39 +0,0 @@
|
||||
<?php
|
||||
|
||||
echo("OLD-CISCO-MEMORY-POOL: ");
|
||||
|
||||
$cmp_oids = array('ciscoMemoryPoolName','ciscoMemoryPoolAlternate','ciscoMemoryPoolValid','ciscoMemoryPoolUsed','ciscoMemoryPoolFree','ciscoMemoryPoolLargestFree');
|
||||
|
||||
foreach ($cmp_oids as $oid) { echo("$oid "); $cmp_array = snmp_cache_oid($oid, $device, $cmp_array, "CISCO-MEMORY-POOL-MIB"); }
|
||||
|
||||
foreach($cmp_array[$device[device_id]] as $index => $cmp) {
|
||||
if(is_array($cmp)) {
|
||||
if(mysql_result(mysql_query("SELECT count(cmp_id) FROM `cmpMemPool` WHERE `Index` = '$index' AND `device_id` = '".$device['device_id']."'"),0) == '0') {
|
||||
$query = "INSERT INTO cmpMemPool (`Index`,`cmpName`,`cmpAlternate`,`cmpValid`,`cmpUsed`,`cmpFree`,`cmpLargestFree`,`device_id`)
|
||||
values ('$index', '".$cmp['ciscoMemoryPoolName']."', '".$cmp['ciscoMemoryPoolAlternate']."',
|
||||
'".$cmp['ciscoMemoryPoolValid']."', '".$cmp['ciscoMemoryPoolUsed']."', '".$cmp['ciscoMemoryPoolFree']."',
|
||||
'".$cmp['ciscoMemoryPoolLargestFree']."', '".$device['device_id']."')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
$valid_cmp[$index] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM `cmpMemPool` WHERE `device_id` = '".$device['device_id']."'";
|
||||
$query = mysql_query($sql);
|
||||
|
||||
while ($test_ciscoMemoryPool = mysql_fetch_array($query)) {
|
||||
if(!$valid_cmp[$test_ciscoMemoryPool[Index]]) {
|
||||
echo("-");
|
||||
mysql_query("DELETE FROM `ciscoMemoryPool` WHERE ciscoMemoryPool_id = '" . $test['ciscoMemoryPool_id'] . "'");
|
||||
}
|
||||
}
|
||||
|
||||
unset($valid_ciscoMemoryPool);
|
||||
echo("\n");
|
||||
|
||||
?>
|
20
includes/discovery/processors-ucd-old.inc.php
Normal file
20
includes/discovery/processors-ucd-old.inc.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM processors WHERE device_id = '".$device['device_id']."' AND processor_type != 'ucd-old'"),0);
|
||||
if($device['os_group'] == "unix" && $count == "0") {
|
||||
|
||||
echo("UCD Old: ");
|
||||
|
||||
$system = snmp_get($device, "ssCpuSystem.0", "-OvQ", "UCD-SNMP-MIB");
|
||||
$user = snmp_get($device, "ssCpuUser.0", "-OvQ", "UCD-SNMP-MIB");
|
||||
$idle = snmp_get($device, "ssCpuIdle.0", "-OvQ", "UCD-SNMP-MIB");
|
||||
|
||||
$percent = $system + $user + $idle;
|
||||
|
||||
if(is_numeric($percent)) {
|
||||
discover_processor($valid_processor, $device, 0, 0, "ucd-old", CPU, "1", $system+$user, NULL, NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
@@ -8,6 +8,10 @@ include("processors-junos.inc.php");
|
||||
include("processors-hrdevice.inc.php");
|
||||
include("processors-ironware.inc.php");
|
||||
|
||||
## Last-resort discovery here
|
||||
|
||||
include("processors-ucd-old.inc.php");
|
||||
|
||||
### Remove processors which weren't redetected here
|
||||
|
||||
$sql = "SELECT * FROM `processors` WHERE `device_id` = '".$device['device_id']."'";
|
||||
|
11
includes/polling/processors-ucd-old.inc.php
Normal file
11
includes/polling/processors-ucd-old.inc.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
### Simple poller for UCD old style CPU. will always poll the same index.
|
||||
|
||||
$system = snmp_get($device, "ssCpuSystem.0", "-OvQ", "UCD-SNMP-MIB");
|
||||
$user = snmp_get($device, "ssCpuUser.0", "-OvQ", "UCD-SNMP-MIB");
|
||||
$idle = snmp_get($device, "ssCpuIdle.0", "-OvQ", "UCD-SNMP-MIB");
|
||||
|
||||
$proc = $system + $user;
|
||||
|
||||
?>
|
@@ -4,10 +4,17 @@ $query = "SELECT * FROM processors WHERE device_id = '" . $device['device_id'] .
|
||||
$proc_data = mysql_query($query);
|
||||
while($processor = mysql_fetch_array($proc_data)) {
|
||||
|
||||
$proc = snmp_get ($device, $processor['processor_oid'], "-O Uqnv");
|
||||
|
||||
echo("Checking CPU " . $processor['processor_descr'] . "... ");
|
||||
|
||||
$file = $config['install_dir']."/includes/polling/processors-".$processor['processor_type'].".inc.php";
|
||||
if(is_file($file)) {
|
||||
include($file);
|
||||
} else {
|
||||
$proc = snmp_get ($device, $processor['processor_oid'], "-O Uqnv");
|
||||
}
|
||||
|
||||
|
||||
|
||||
$procrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("processor-" . $processor['processor_type'] . "-" . $processor['processor_index'] . ".rrd");
|
||||
|
||||
if (!is_file($procrrd)) {
|
||||
|
Reference in New Issue
Block a user