`mib_dir`: You can use this to specify the additional directories to look in for MIBs:
```yaml
mib_dir:
- juniper
- cisco
```
`poller_modules`: This is a list of poller modules to either enable (1) or disable (0). Check `includes/defaults.inc.php` to see which modules are enabled/disabled by default.
```yaml
poller_modules:
wifi: 1
cisco-ace-serverfarms: 0
cisco-ace-loadbalancer: 0
```
`discovery_modules`: This is the list of discovery modules to either enable (1) or disable (0). Check `includes/defaults.inc.php` to see which modules are enabled/disabled by default.
```yaml
discovery_modules:
cisco-cef: 1
cisco-sla: 1
cisco-mac-accounting: 0
```
##### Discovery Logic
YAML is converted to an array in PHP. Consider the following YAML:
```yaml
discovery:
- sysObjectId: foo
-
sysDescr: [ snafu, exodar ]
sysObjectId: bar
```
This is how the discovery array would look in PHP:
```php
[
[
"sysObjectId" => "foo",
],
[
"sysDescr" => [
"snafu",
"exodar",
],
"sysObjectId" => "bar",
]
]
```
The logic for the discovery is as follows:
1. One of the first level items must match
2. ALL of the second level items must match (sysObjectId, sysDescr)
3. One of the third level items (foo, [snafu,exodar], bar) must match
So, considering the example:
-`sysObjectId: foo, sysDescr: ANYTHING` matches
-`sysObjectId: bar, sysDescr: ANYTHING` does not match
-`sysObjectId: bar, sysDescr: exodar` matches
-`sysObjectId: bar, sysDescr: snafu` matches
### Poller
OS polling is done within `includes/polling/os/$os.inc.php` and is where we detect certain values.