diff --git a/includes/definitions/freebsd.yaml b/includes/definitions/freebsd.yaml index adc2d6ecf1..03d037a543 100644 --- a/includes/definitions/freebsd.yaml +++ b/includes/definitions/freebsd.yaml @@ -8,3 +8,5 @@ over: - { graph: device_ucd_memory, text: 'Memory Usage' } discovery_modules: applications: 1 +discovery: + - sysDescr: FreeBSD diff --git a/includes/definitions/linux.yaml b/includes/definitions/linux.yaml index a72ce0371c..245f198a70 100644 --- a/includes/definitions/linux.yaml +++ b/includes/definitions/linux.yaml @@ -31,3 +31,6 @@ register_mibs: KNIrxCounter: GANDI-MIB KNItxCounter: GANDI-MIB KNIdropCounter: GANDI-MIB +discovery: + - sysObjectId: .1.3.6.1.4.1.8072.3.2.10 + - sysDescr_regex: '/^Linux/' diff --git a/includes/discovery/os/freebsd.inc.php b/includes/discovery/os/freebsd.inc.php deleted file mode 100644 index 757c6c0370..0000000000 --- a/includes/discovery/os/freebsd.inc.php +++ /dev/null @@ -1,6 +0,0 @@ - $def) { + if (isset($def['discovery']) && !in_array($os, $deferred_os)) { + foreach ($def['discovery'] as $item) { if (checkDiscovery($device, $item, $sysObjectId, $sysDescr)) { - return $tmp['os']; + return $os; } } } @@ -135,6 +128,17 @@ function getHostOS($device) } } + // check deferred os + foreach ($deferred_os as $os) { + if (isset($os_defs[$os]['discovery'])) { + foreach ($os_defs[$os]['discovery'] as $item) { + if (checkDiscovery($device, $item, $sysObjectId, $sysDescr)) { + return $os; + } + } + } + } + return 'generic'; }