. * * @package LibreNMS * @link https://www.librenms.org * @copyright 2020 Tony Murray * @author Tony Murray */ namespace LibreNMS\OS; use LibreNMS\Interfaces\Polling\OSPolling; use LibreNMS\RRD\RrdDefinition; class Screenos extends \LibreNMS\OS implements OSPolling { public function pollOS() { $sess_data = snmp_get_multi_oid($this->getDeviceArray(), [ '.1.3.6.1.4.1.3224.16.3.2.0', '.1.3.6.1.4.1.3224.16.3.3.0', '.1.3.6.1.4.1.3224.16.3.4.0', ]); [$sessalloc, $sessmax, $sessfailed] = array_values($sess_data); $rrd_def = RrdDefinition::make() ->addDataset('allocate', 'GAUGE', 0, 3000000) ->addDataset('max', 'GAUGE', 0, 3000000) ->addDataset('failed', 'GAUGE', 0, 1000); $fields = [ 'allocate' => $sessalloc, 'max' => $sessmax, 'failed' => $sessfailed, ]; $tags = compact('rrd_def'); data_update($this->getDeviceArray(), 'screenos_sessions', $tags, $fields); $this->enableGraph('screenos_sessions'); } }