. * * Adva system alarm traps. This handler will log the description and a * description of the alarm. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 KanREN, Inc. * @author Heath Barnhart */ namespace LibreNMS\Snmptrap\Handlers; use App\Models\Device; use LibreNMS\Interfaces\SnmptrapHandler; use LibreNMS\Snmptrap\Trap; use Log; class AdvaSysAlmTrap implements SnmptrapHandler { /** * Handle snmptrap. * Data is pre-parsed and delivered as a Trap. * * @param Device $device * @param Trap $trap * @return void */ public function handle(Device $device, Trap $trap) { $alSeverity = $trap->getOidData($trap->findOid('CM-ALARM-MIB::cmSysAlmNotifCode')); switch ($alSeverity) { case "critical": $logSeverity = 5; break; case "major": $logSeverity = 4; break; case "minor": $logSeverity = 3; break; case "cleared": $logSeverity = 1; break; default: $logSeverity = 2; break; } $sysAlmDescr = $trap->getOidData($trap->findOid('CM-ALARM-MIB::cmSysAlmDescr')); Log::event("System Alarm: $sysAlmDescr Status: $alSeverity", $device->device_id, 'trap', $logSeverity); } }