. * * @link https://www.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->getDeviceArray(), '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; } }