* WIP Device Ports porting to Laravel
* WIP port links
* Port Links WIP
* Port Links
* in_array -> isset
* Add request to DeviceTab data
* Add initial Pagination
* Missing select component
* Collapsed and expandable port neighbors
New expandable component
* Port sorting
* Fix port transfer
* Use menu entries to filter ports
* Add translatable strings
* style fixes and cleanup
* update css
* graph views and tidy controller
basic port link view
* cleanup
* port row blade to reuse in legacy port view
* Legacy tab url handling
work properly in subdirectory
remove includes from sub tab directory to prevent oddity
* fallback to detail list when the view doesn't exist
* Use named variable to simplify
* Fix issue from file that was a symlink
* Submenu handle sub items and query string urls
* extract pageLinks to improve readability
* fix typo
* Apply fixes from StyleCI
* phpstan was not happy using the relationship HasMany query
* Don't allow *bps etc to be on a second line
* Improve table on small screens
* Fix sort
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* autodiscovery fix
* much simpler approach
* murrant suggestion
* Simplify even more
* Use nullable operator
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix warnings up to Arbos
* fixes a-c
* a-r
* a-vrp
* There and back again
* Update test data, couple fixes
* PHPSStan fixes
* style fixes, and fix Asyncos, whoops
* flip serial back.......
* less bogus data
* Poweralert sysName during polling too
* make sure things are calculated in the correct order
* fix style and bad nullables
* update test data
* A comple more conversions
* cambium ptp, misc, and hardware_mib
* remaining except vmware-esxi
* Fixes
* Update baseline
* fixes and fix up baseline
* adjust SnmpQueryMock to upstream options change
* data corrections
* restore slashes
* correctly handle all options input in SnmpQueryMock
* undo ftos changes
* restore vccodec sysDescr
* Arista EOS: Added groups and better sensor names
* Changed few sensors naming to remove redundancy
* Test files
* Better naming v2
* More rewriting and grouping
* And more grouping/rewritting
* Update arista_eos_vrf.json
* Minor code format fix
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Implement OS specific information discovery
That way it doesn't have to be fetched during polling
Also improve discovery process, os is only detected once, in the core module.
EXA is the test os, a couple improvements there.
* Use local variable, then unset it so we don't pollute.
* fix style issues
* test and other fixes
* attribute update fixes
* Update exa data, need new source data
* null missing "os" values
* fix ftos odd character
* fix ftos odd character
* only null for new style or we will reset to null every discovery
* Move device observer to own class
* Handle location, relocate event logging
* update exa e7-2 data
* update ird test data, apparently unicode is now working.
* update Linux ntc, now uses correct icon
* Only load all os on the web, also, we can't load existing the the database isn't connected.
* only for devices that have a location
* revert ftos test data apparently
* revert ird
* Dynamic entPhysicalIndex values for YamlDiscovery
* Use degree symbol when displaying temperature values
* Adjust SNMP options for new snmp_get_multi()
The OS polling module for mrv-od was using snmpget commands with
-Ovqs, rather than -OQUs, which meant that the equal sign was
stripped in the snmpget output. But that equal sign is now used
as the explode() delimiter so it broke the construction of the
returned array for the snmp_get_multi() function.
Additionally, I removed the NBS-CMMC-MIB:: prefix which is no
longer returned by snmp_get_multi() as part of the OID. Now,
the mrv-od.inc.php OS polling module is retrieving data from
positions in the array with actual content.
* Convert mrv-od to yaml, improve sensors discovery
Converted sensors discovery for mrv-od to yaml, retaining all
functionality for pre-cache, dbm, and temperature. Replaced specific
SFF-8472 Digital Diagnostics state sensors with generic ones, given that
we are now reading out detailed values through new dbm, current, voltage
sensors.
Reasoning: the generic Digital Diagnostics state sensors report state
diagsOk, or else the worst severity level measured among all of the
Digital Diagnostics values for that optical data point. You'd really
only want to set a generic "alarm" so the box can report that it
thinks something is wrong, whereafter a human can look at the graphs
and/or the CLI to draw their conclusions about the alarm. Otherwise,
things would quickly become too spammy as you are essentially duplicating
every sensor across both regular measurements and state measurements.
Further changes:
- Increase maximum number of detected PSUs from 4 to 8 per the MIB.
- State sensor to detect (in)sufficient power budget for all modules.
- Use skip_values to hide state sensors with the notSupported value.
- Use skip_values to hide sensors which are unsupported per the MIB,
signified by the device returning special values -1 or -2147483648.
- Add dBm, temperature "over" graphs to the mrv-od device header bar.
* Add mrv-od entity-physical support
MRV does not use the ENTITY-MIB data format, so we had to reconstruct
the inventory from their proprietary format using the following tables
from their NBS-CMMC-MIB:
- nbsCmmcChassisTable
- nbsCmmcSlotTable
- nbsCmmcPortTable
Additionally, since sensors didn't have their own ifindex in the
NBS-CMMC-MIB, I went ahead and appended the last OID digit to
the "containing" ifindex create a unique number. The same was
done for the sensors in the yaml-discovery.
* Test data for mrv-od, fix 2* pre-commit.php issues
* Fix entPhysicalIndex returning 0 instead of null
Some unit test breakage was caused by 62167ebcb which changed
the code to return 0 instead of null when {{ $index }} was
set as the entPhysicalIndex in the YamlDiscovery. So now we
detect if it returns some value which may be interpreted as
false, and if so we set null rather than 0.
* Fix some comment and documentation typos.
* Fix various entphysical page display issues.
- Resolve flickering during loading (missing liClosed for nested items).
- Clicking a sensor actually takes you to the matching graph now.
* Add a few nicecase() calls to clean up html page display.
* Create discover_entity_physical() function
- Add discover_entity_physical() function into includes/discovery/functions.inc.php
- This allows for an easy implementation of OS-specific entity-physical discovery.
- Update includes/discovery/entity-physical/entity-physical.inc.php to use the new function.
* Add power_consumed and power_factor sensors.
* Two new icons, make more entPhysical data visible.
* Pre-commit fix: blank line found at end of control structure.
* Add Schleifenbauer OS support.
* Now really fix the comment typo.
* Fix parsing mistakes.
* Add a generic count sensor.
* Make the Schleifenbauer discovery use count instead of state sensors.
* Don't place count sensor at the top, add sane limits for Schleifenbauer
* Finetuning the rrd_options, changing Schleifenbauer sensor names.
* Update schleifenbauer.svg
* optimize logo too
* add test data
* fix sensor value display (spaces break it)
* update entPhysicalIndex
* Refactor FDB Tables to Laravel
Hopefully much better performance with large tables.
Better dns resolution (limit to 4 IPs tried per MAC)
* update style
* de-duplicate IPs
* fixed column width for mac and vlan
* Make DNS column visibility control whether or not we send the dns query.
Hide that column by default.
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.
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`
Originally had this pull request earlier this year to add support for this: #8466 but looks like Juniper changed this at some point when the Juniper chassis mibs were updated here: #8678
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`
* update FOUNDRY-SN-ROOT-MIB to support MLXe and more
* add some (former) brocade rewrites
* improved IronWare version detection
* work around IronWare signed versus unsigned bug
* correct coding guidelines
* update FOUNDRY-SN-ROOT-MIB to support MLXe and more
* add some (former) brocade rewrites
* improved IronWare version detection
* work around IronWare signed versus unsigned bug
* correct coding guidelines
* pop spaces around mempool checks
* device: Add XOS X480 and X650 desc and tests
Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
* device: add XOS x480 and x650 test data
Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
* Add missing hardware string in test data
* Entity state sensors??
* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.
* fix empty last changed, timezones, alarm parsing, and db updates
* do not display unavailable alarms (80)
add tooltip with state value
* remove debug
* Entity state sensors??
* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.
* fix empty last changed, timezones, alarm parsing, and db updates
* do not display unavailable alarms (80)
add tooltip with state value
* remove debug
* Use a discovery module and only fetch the rest of the data if entStateLastChanged is updated.
* A little more efficient sql use in the case nothing has changed.
* disabled by default, add to docs.
* moved schema file to 220.sql
* refactor: Moved ifLabel -> cleanPort and updated the usage
* added list of tags allowed
* few updates as per comments from @murrant
* Added simple unit tests
* double display for javascript popover
* Remove ifNameDescr() function
Fix realtime port page
* remove accidental temp code
* Remove double display calls in ajax tables