2010-02-13 21:45:39 +00:00
|
|
|
<?php
|
|
|
|
|
2011-05-16 20:33:51 +00:00
|
|
|
foreach (dbFetchRows("SELECT * FROM processors WHERE device_id = ?", array($device['device_id'])) as $processor)
|
2011-03-16 01:11:27 +00:00
|
|
|
{
|
2010-08-05 23:00:35 +00:00
|
|
|
echo("Processor " . $processor['processor_descr'] . "... ");
|
2010-02-13 21:45:39 +00:00
|
|
|
|
2010-05-06 21:28:18 +00:00
|
|
|
$file = $config['install_dir']."/includes/polling/processors-".$processor['processor_type'].".inc.php";
|
2011-03-16 01:11:27 +00:00
|
|
|
if (is_file($file))
|
|
|
|
{
|
2010-05-06 21:28:18 +00:00
|
|
|
include($file);
|
|
|
|
} else {
|
|
|
|
$proc = snmp_get ($device, $processor['processor_oid'], "-O Uqnv");
|
|
|
|
}
|
|
|
|
|
2010-02-13 21:45:39 +00:00
|
|
|
$procrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("processor-" . $processor['processor_type'] . "-" . $processor['processor_index'] . ".rrd");
|
|
|
|
|
2011-03-16 01:11:27 +00:00
|
|
|
if (!is_file($procrrd))
|
|
|
|
{
|
|
|
|
rrdtool_create($procrrd, "--step 300 \
|
2010-02-13 21:45:39 +00:00
|
|
|
DS:usage:GAUGE:600:-273:1000 \
|
|
|
|
RRA:AVERAGE:0.5:1:1200 \
|
|
|
|
RRA:MIN:0.5:12:2400 \
|
|
|
|
RRA:MAX:0.5:12:2400 \
|
|
|
|
RRA:AVERAGE:0.5:12:2400");
|
|
|
|
}
|
|
|
|
|
|
|
|
$proc = trim(str_replace("\"", "", $proc));
|
2011-03-16 01:11:27 +00:00
|
|
|
list($proc) = preg_split("@\ @", $proc);
|
2010-02-13 21:45:39 +00:00
|
|
|
|
2011-03-16 01:11:27 +00:00
|
|
|
if (!$processor['processor_precision']) { $processor['processor_precision'] = "1"; };
|
2010-07-09 14:09:29 +00:00
|
|
|
$proc = round($proc / $processor['processor_precision'],2);
|
|
|
|
|
2010-02-13 21:45:39 +00:00
|
|
|
echo($proc . "%\n");
|
|
|
|
|
2010-02-15 21:02:07 +00:00
|
|
|
rrdtool_update($procrrd,"N:$proc");
|
2011-05-16 20:33:51 +00:00
|
|
|
dbUpdate(array('processor_usage' => $proc), 'processors', '`processor_id` = ?', array($processor['processor_id']));
|
2010-02-13 21:45:39 +00:00
|
|
|
}
|
|
|
|
|
2011-05-16 20:33:51 +00:00
|
|
|
?>
|