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:
Adam Amstrong
2010-05-06 21:28:18 +00:00
parent 07e730de71
commit e205ce3f8f
7 changed files with 46 additions and 89 deletions

View File

@@ -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++;
}

View File

@@ -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");
?>

View File

@@ -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");
?>

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

View File

@@ -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']."'";

View 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;
?>

View File

@@ -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)) {