Neil Lathwood 42e5819130 refactor: Updated discovery/poller to use numeric sysObjectID (#7922)
* refactor: Updated discovery to use a core module for sysDescr/sysObjectID use

* final update hopefully

* revert changes

* more changes + docs

* migrated poller to use numerical sysObjectID

* more updates for sysObjectID

* update any alert rules which might have enterprises. in

* moved schema file

* small updates

* updated getHostOS()

* scrut fixes

* updated sysObjectId -> sysObjectID

* updated sysObjectId -> sysObjectID

* updated remainder of sysObjectId -> sysObjectID

* another sysObjectId -> sysObjectID

* fixed secureplatform test data

* Fix tests: $device is not pulled from the database before polling
Also, update the db in the core discovery module.
2018-01-06 23:00:47 -06:00

31 lines
879 B
PHP

<?php
use LibreNMS\RRD\RrdDefinition;
$version = preg_replace('/(.+)\ version\ (.+)\ \(SN:\ (.+)\,\ (.+)\)/', '\\1||\\2||\\3||\\4', $device['sysDescr']);
list($hardware,$version,$serial,$features) = explode('||', $version);
$oids = array(
'.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',
);
$sess_data = snmp_get_multi_oid($device, $oids);
list ($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 = array(
'allocate' => $sessalloc,
'max' => $sessmax,
'failed' => $sessfailed,
);
$tags = compact('rrd_def');
data_update($device, 'screenos_sessions', $tags, $fields);
$graphs['screenos_sessions'] = true;