. * * @package LibreNMS * @link http://librenms.org * @copyright 2019 PipoCanaja * @author PipoCanaja */ namespace LibreNMS\OS; use LibreNMS\Device\Processor; use LibreNMS\Interfaces\Discovery\ProcessorDiscovery; use LibreNMS\OS; class FsSwitch extends OS implements ProcessorDiscovery { /** * Discover processors. * Returns an array of LibreNMS\Device\Processor objects that have been discovered * * @return array Processors */ public function discoverProcessors() { $processors = []; // Tests OID from SWITCH MIB. $processors_data = snmpwalk_cache_oid($this->getDevice(), 'ssCpuIdle', [], 'SWITCH', 'fs'); foreach ($processors_data as $index => $entry) { $processors[] = Processor::discover( "fs-SWITCHMIB", $this->getDeviceId(), '.1.3.6.1.4.1.27975.1.2.11.' . $index, $index, "CPU", -1, 100 - $entry['ssCpuIdle'] ); } return $processors; } }