49 lines
1.9 KiB
PHP
Raw Normal View History

<?php
global $valid_processor;
if ($device['os_group'] == "unix" || $device['os'] == "windows" || $device['os'] == "routeros")
{
echo("hrDevice ");
$hrDevice_oids = array('hrDevice','hrProcessorLoad');
foreach ($hrDevice_oids as $oid) { $hrDevice_array = snmpwalk_cache_oid($device, $oid, $hrDevice_array, "HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES"); }
foreach($hrDevice_array[$device['device_id']] as $index => $entry)
{
if ($entry['hrDeviceType'] == "hrDeviceProcessor")
{
$hrDeviceIndex = $entry['hrDeviceIndex'];
$usage_oid = ".1.3.6.1.2.1.25.3.3.1.2." . $index;
$usage = $entry['hrProcessorLoad'];
#### What is this for? I have forgotten. What has : in its hrDeviceDescr?
#### Set description to that found in hrDeviceDescr, first part only if containing a :
$descr_array = explode(":",$entry['hrDeviceDescr']);
if($descr_array['1']) { $descr = $descr_array['1']; } else { $descr = $descr_array['0']; }
### Workaround to set fake description for Mikrotik who don't populate hrDeviceDescr
if($device['os'] == "routeros" && !isset($entry['hrDeviceDescr'])) { $descr = "Processor";}
$descr = str_replace("CPU ", "", $descr);
$descr = str_replace("(TM)", "", $descr);
$descr = str_replace("(R)", "", $descr);
$old_rrd = $config['rrd_dir'] . "/".$device['hostname']."/" . safename("hrProcessor-" . $index . ".rrd");
$new_rrd = $config['rrd_dir'] . "/".$device['hostname']."/" . safename("processor-hr-" . $index . ".rrd");
if($debug) { echo("$old_rrd $new_rrd"); }
if (is_file($old_rrd)) {
rename($old_rrd,$new_rrd);
echo("Moved RRD ");
}
if(isset($descr) && $descr != "An electronic chip that makes the computer work.")
{
discover_processor($valid_processor, $device, $usage_oid, $index, "hr", $descr, "1", $usage, NULL, $hrDeviceIndex);
}
}
}
}
## End hrDevice Processors
?>