librenms/LibreNMS/OS/Sonicwall.php
Marvin Kuurstra e2a8349440 Adding Sonicwall SMA 400 support (#9555)
* Adding Sonicwall SMA 400 support

* Added metric clients for use in SSL VPN client alerting
* Support for specifying multiple sensors for clients metric
* RAM info supported
* CPU info supported
* Added test data

* Dashes in graph aren't really useful

* Updated test data with script from upstream (#10)

* Fix style errors (#11)

* Now 8 spaces on line 56

* port clients sensor to count
Some sensor cleanups (move all icon definitions to one spot)

* update port data

* add sensor test data.  Make a guess at userLicense output since it is missing.

* cleanup missed items

* typo

* Updating test data

* Fixed missing CPU info

* Recreated test data

* Recreate test data after rebase

* Test data without ignore statements in config
2019-01-22 17:00:33 -06:00

59 lines
1.7 KiB
PHP

<?php
/*
* LibreNMS
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*
* @package LibreNMS
* @subpackage webui
* @link http://librenms.org
* @copyright 2018 LibreNMS
* @author LibreNMS Contributors
*/
namespace LibreNMS\OS;
use LibreNMS\Device\Processor;
use LibreNMS\Interfaces\Discovery\ProcessorDiscovery;
use LibreNMS\OS;
class Sonicwall extends OS implements ProcessorDiscovery
{
/**
* Discover processors.
* Returns an array of LibreNMS\Device\Processor objects that have been discovered
*
* @return array Processors
*/
public function discoverProcessors()
{
if (starts_with($this->getDevice()['sysObjectID'], '.1.3.6.1.4.1.8741.1')) {
return array(
Processor::discover(
'sonicwall',
$this->getDeviceId(),
'.1.3.6.1.4.1.8741.1.3.1.3.0', // SONICWALL-FIREWALL-IP-STATISTICS-MIB::sonicCurrentCPUUtil.0
0,
'CPU',
1
)
);
} else {
return array(
Processor::discover(
'sonicwall',
$this->getDeviceId(),
$this->getDevice()['sysObjectID'] . '.2.1.3.0', // different OID for each model
0,
'CPU',
1
)
);
}
}
}