PR #9546 has resulted in Platform being detected as
"Juniper Virtual Chassis Switch" when a set of devices
is stacked. Hence, no more possibility to see whether
it is for example an EX2300 or EX3400 virtual-chassis.
This commit falls back to using rewrite_junos_hardware()
if the "Juniper Virtual Chassis Switch" string is detected
in boxDescr, resulting in usable hardware data.
Caveat - it's possible to build a virtual-chassis of
multiple switch models, but only for higher end hardware:
https://www.juniper.net/documentation/en_US/junos/topics/concept/virtual-chassis-ex4200-overview.html#jd0e75
Example SNMP output:
mschmidt@nlrtm1-librenms1:~$ snmpwalk -v2c -cremoved -m JUNIPER-MIB -M /opt/librenms/mibs hostname jnxBoxDescr
JUNIPER-MIB::jnxBoxDescr.0 = STRING: Juniper Virtual Chassis Switch
Also reported previously via the community forums:
https://community.librenms.org/t/pr-9546-results-in-junos-platform-detection-quirks-in-combination-with-virtual-chassis/6537
This will make the poller try to get the hardware platform from jnxBoxDescr.0, which gives a nice string without going to rewrites. As a fallback if that oid returns nothing, the rewrites.php file and related MIB have been updated with almost 300 other Juniper devices.
For example...
Before change: Juniper jnxProductQFX520032C32Q
After change: Juniper QFX5200-32C-32Q Switch
Fallback: Juniper QFX5200-32C-32Q
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.
convert the junos call to translate too.
Not 100% sure what was wrong with arris-c4, but removing this data fixed it and tests still pass.
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
Fixed an issue in the SRX session graphing code which caused Junos BGP sessions to alert as down even though they were established. Previous pull to add the session graphs: #8815
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
This was previously a pull request that was closed#8721
Not sure why it was closed or if it was abandoned since the branch they had was deleted, but I just put everything back together along with some test data. Kudos to @centralscrutiniser for the code in the original request.
* 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.
* refactor: Centralize MIB include directory specification
The default is now:
```
$config['mib_dir'].'/mibdirname:'.$config['mib_dir']
```
This means we exclude OS mibs and only use ours (we could prepend `+` if we want to include os mibs.
All snmp calls should only include the name of the subdirectory under the mibs directory.
* Remove d_echo from Proc
Fix snmpsim tests.