. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Tony Murray * @author Tony Murray */ namespace LibreNMS\OS; use LibreNMS\Device\Processor; use LibreNMS\Interfaces\Discovery\ProcessorDiscovery; use LibreNMS\OS; class Sgos extends OS implements ProcessorDiscovery { /** * Discover processors. * Returns an array of LibreNMS\Device\Processor objects that have been discovered * * @return array Processors */ public function discoverProcessors() { $data = snmpwalk_group($this->getDevice(), 'sgProxyCpuCoreBusyPerCent', 'BLUECOAT-SG-PROXY-MIB'); $processors = array(); $count = 1; foreach ($data as $index => $entry) { $processors[] = Processor::discover( $this->getName(), $this->getDeviceId(), ".1.3.6.1.4.1.3417.2.11.2.4.1.8.$index", zeropad($index), "Processor $count", 1, $entry['s5ChasUtilCPUUsageLast10Minutes'] ); $count++; } return $processors; } }