* Add transceivers module
Move os specific code to OS
Fix errors and updated connector names
Add RouterOS, a lot less data there.
Add Comware
Add Exa, required a transformer function (mw to dBm)
Add Junos, revision was too short
Just starting on ui
Graphs, and more ui
some polling fixes
collapse header for small screens
refactor a bit
Missed graphs
Transceivers icon inline
Use @once on popup javascript
update db_schema.yaml
Don't show transceivers in basic view
basic view could use a review
Apply fixes from StyleCI
API functions
Comware don't fail if port is missing
Apply fixes from StyleCI
Add alert rules to collection
Device Overview
Attempt to fix bad alert rule, probably needs more
Fix up Comware and remove old sensors
Mark transceiver metrics without thresholds as Unknown
Routeros cleanup
Exa cleanup
Handle missing port
Graph allow filter by channel
More translations
Add transceiver graphs to port graphs
Add Cisco support, use entPhyscial module data if available
Fix OcNos divisors
Labels on transceiver page
Show encoding if available
Hacky OcNos port mapping
Fix up Junos optics and remove old sensors
FS switch support
Metric casts to prevent thrashing
Extra transform_function support
Add link to transceivers page from overview
Change default sort to group by type, then channel
move some code out of overview blade template
Fix bad type ocnos
Apply fixes from StyleCI
Add scales to graphs
Add some test data
Default sort order for metrcis in SQL applied by default
Transceiver metrics threshold manual settings via WebUI and API
Fixes to channels verbiage
Fix severity calculations
Add cable field for SM/MM/Copper
Apply fixes from StyleCI
update test data
Show DDM
Update DB schema file
Extend serial field to 32, even though devices shouldn't be able to have one longer than 16
Missing import
Add status field to database, that way we can support snmp implementations that only return an enum
Add missing files
Fix db_schema
Fix style
Fixes
Style fix
Work around phpstan issue
Update transceivers.blade.php
Missed getStatus() call
Prevent extra dots when channels are not changed
Update module to match upstream
Save ocnos metrics as sensors
Move to regular sensors
add entity physical index
Update UI to sensors WIP
Apply fixes from StyleCI
Forgot one change
Update ui to use sensors
Remove transceiver metrics
Remove metric os discover code
fs-switch pending
Remove transceiver metrics for fs-centec
Exa link up
Revert all test data
Fix up transceiver module interface
Remove unused Convert class
comware cache and transceiver type
Fix some transceiver metrics filtering and formatting issues
Consolidate display formatting
Coalesce commare hh3cTransceiverTable walks to prevent double walk
Use group to identify transceiver sensors
Fixup routeros
Fix up cisco
update db_schema
Small addition to docs
Improve overview layout and add graph popup
Update Junos
update css files
ddm should be nullable
Increase the field length for type and model
Cisco Improve detection when there is an intermediary container
Add transceiver test data
Apply fixes from StyleCI
Fix incorrect test data
Improve display formatting
Fix test data
Apply fixes from StyleCI
Fix up more data
Fix up more data
Fix incorrect return type in routeros
Update ocnos data
* Remove some remaining references to transceiver_metrics table
* AuthSSOTest: clear roles cache
* PollingJob: When a poller module doesn't exist, return null instead of false. Skip all other checks and disable polling in that case.
* Sensors: Guess high and low limits separately as needed
* Sensors: drac test psu current data was wrong, referencing the snmprec, 8 / 10 and 0 / 10 should be the values
NOTE: drac is messed up and runs a billion snmp queriess for no reason
* please phpstan
* Sensors: limits reference old code
move to "creating"
* Fix gw-eydfa accidental assignment
* Fix ies5000 test data now that the bad state is removed
* Fix ies5000 test data part 2
* Move sensor discovery reset into discover_device()
* infinera remove duplicate sensor (also a lot of trailing whitespace apparently)
* Fix innovaphone bad yaml discovery
* module tests should be using null when test data doesn't exist, not an empty array
* When discovery or polling is not supported, dump null instead of an array.
Account for nulls in testing
* update ISE serial
* Janitza was seemingly wrong before
* Remove some private data
* bgp-peers requires ipv4-addresses and ipv6-addresses for bgpPeerIface
* fix polycomLens broken state sensor discovery
* Raritan pdu and pdu2 test data was combined in one test file, split it out
* scs-ks duplicate temperature sensor indexes
* sentry3 someone tried to avoid breaking stuff but just broke things more
* smartos-dcp-m fix incorrect numeric oids
* ssu2000 apparently test data was wrong, must have fixed a bug in the code.
* timos remove duplicate dbm sensor definitions
* bgpPeerIface is working in tests now
* Fix moxa-etherdevice when mibs are a bit different
* xw_to_dbm negative values should return null
* Update cisco test data due previous fixes/changes
* One more bgpPeerIface
* Add orderBy to ospf module db dumps
* Remove links test data for now
* Improve handling of bad data in ipv6-addresses module
* Convert Config to a singleton
Continuation of #14364 by @Jellyfrog
This time, make the old class a shim for the facade. Will update references in a separate PR.
* Remove logging config call
* Apply fixes from StyleCI
* Fix bad Git constructor call
* Fail on config table does not exist instead of throw exception
* Inline LibrenmsConfig::isRegistered()
* Debug call in case there are more issues,
remove before merge.
* Fix up config tests
* Allow config cache controlled by CONFIG_CACHE_TTL (disabled by default for now)
* Enable config cache for tests
* Remove debug statement and deprecation phpdoc
* Apply fixes from StyleCI
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* save-test-data.php improvements
Message when snmprec data is not found
Output when venv setup fails
* Apply fixes from StyleCI
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* Split out single device polling to a Laravel Job
Probably totally broken :)
* Add dispatch option to device:poll
* Fix up submodules
* Add missing logger parameter
* Apply fixes from StyleCI
* Update module format in test helper
* Apply fixes from StyleCI
* Use Log facade to match other code
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* Initial entity-physical code
* Split out Entity-MIB trait
* Cisco Cellular inventory
* Fix bad test data
* alfo80hd - we now include all entPhysical entries
* Correct aos7 test data
* Add entPhysicalClass as last resort for label in ui
* aos add previously filtered data
* Fixup arista-eos data
* Update ariast_eos data
* Arris, clean garbage in Rev fields
* Aruba Instant custom inventory ported
* ArubaOS CX add vendor type mib
* aviat-wtm test data refresh
* axos add shelf fix data fields a bit
* ciena-rls
* ciena-sds
* Skip cimc for now... no test data
* Cisco updates
* Comware data update
* Update dnos
* Clean Edgeos garbage, make code from Arris shareable
* Relaxed ifIndex match, some devices cheat and send back static strings instead of formatted OIDs
* Regex refinement and updated edgeos with new clean data
* Update edgeswitch data
* Update eltex-mes21xx data
* eltex-mes23xx
* Guess at eltex-mes24xx since there is no test data
* Update eurostor, fix firmware version
* Apply fixes from StyleCI
* fixes
* Update fortigate data
* Update fortiweb, ftd, and fusion
* Update linux LSI
* Fix hexToAscii null removal with different seperator handling
* icotera add final snmprec data to avoid snmpsim bug
* Update IOS data
* Update mrv-od
* Add junos translation
* Generic data updates n-r
* ruijie workaround snmpsim bug
* Port saf-cfm
* Recode Schleifenbauer, and fix entPhysicalIndex values
* SmartAX fixes
* sm-os and tait-infra93
* timos inventory was not right, fix it up
* ubiquoss-pon
* VRP, has custom data collection on top of normal
adapt port ifIndex lookup to handle it
* VRP exceeded the string length specified in ENTITY-MIB...
* data updates
* Final data update and code cleanup
* Apply fixes from StyleCI
* Lint fixes
* Add missing SnmpResponse->pluck() code
* Update db_schema.yaml
* Fix bad test data
* Another instant-on update
* oops
* Remove some unused code
# Conflicts:
# includes/html/pages/device/overview.inc.php
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* Snmpsim use python venv
Patch to enable listening while minimizing output
Update lnms dev:simulate, tests, and ./scripts/save-test-data.php
removed old option to start snmpsim from older scripts, use lnms dev:simulate
* Apply fixes from StyleCI
* various fixes
* Remove patch official package is updated
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Fix some testing issues
index doesn't exist in ModuleTestHelper
Cache issue in NetSnmpQuery (specifically affects testing)
* Apply fixes from StyleCI
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* add nfs-shared.inc.php
* add nfs poller
* polling now works
* add nfs.inc.php page
* mount options works now
* format cleanup
* add some missing items to the stats
* commit work from last night so I can swap over to ldap
* add gauge support
* save the OS type for it
* more work on NFS stuff
* more nfs work
* display cleanup some
* more nfs work
* update docs for NFS
* add nfs_server_rpc
* style fix
* add snmprec file
* more test stuff
* data cleanup
* style cleanup
* more style fix
* another style fix
* add deleted_at
* add client_rpc_info_calls
* more test tweaks
* more tweaks
* set two items as gauges that should be gauges
* convert a few more things from counters to gauges
* a few more tweaks for NFSv4
* 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>
* Merge duplicate toBytes functions
Replace other duplicate code and add tests
* Allow space between similar to formatSI output
* Style fixes
* Match previous behavior in Docker app
* Addition of influxdb-client-php to Composer.
* Addtion of InfluxDBv2 support.
* Addition of front-end options.
* Addition of documentation.
* Addition of the acknowledgement of the PHP library used.
* Fixed a unneeded bracket.
* Addition of a basic datastore test.
* StyleCI fixes.
* StyleCI fixes.
* StyleCI fixes.
* Fixed exception class.
* Revert accidental change.
* Fix to composer lock to not update all packages.
* Fix to composer lock to not update all packages, but still include the new Influx lib.
* Another attempt at getting Composer to behave the way I think it should work.
* Fixed merge-conflict in Composer due to #15869.
* Update composer.json
* Update composer.lock
* Update composer.json
* Update composer.lock
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* New utility Number::constrainInteger()
Fixes a bug with Number::unsignedAsSigned() and implements signed support as well.
* cleanup
* Apply fixes from StyleCI
* Remove default cases
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Cisco CSCvj53634
tests
change RRD minimas to accept negative dbm output power
unnecessary tests
* unsignedAsSigned function
* use new function Number::unsignedAsSigned
* negative power for Vdsl as well
* style
* style
* Add types
* simplify and exception if over max value
* Add tests
* Style fixes
* Tell phpstan to shut up
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fixed BGP Remote peer link and graph in Routing Overview, or just static text when not a device in LibreNMS
* Added extra space
* Reverted back to overlibLink (due to BGP update graphs on hover)
* Added extra space
* Remove graph for remote peer, as it is falsely (showed earlier the Updates Graph for local peer)
* Removed unnecessary/unused code
* Remove graph for remote peer, as it is falsely (showed earlier the Updates Graph for local peer), replaced with just a DeviceLinks
* Change Url::deviceLink to return $text if the device doesn't exist. Default to ''
Import some of the things to improve readability.
* update phpdoc
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* IP::fromHexString handle ascii
Some bad MIBs convert the hex to ascii on display.
Attempt to decode that if the situation is detected.
fixes#15501
* add ascii tests
* Ports min polled period of 1
Prevent divide by 0
Use Mac utility
* fix bad snmprec for airos-af-ltu
* Update a large amount of invalid mac addresses
either the script is capturing them wrong or users are mangling them
* More updated test data
* Update test data with bad input
* Fix ones using encoded <private> and attempt to fix capture
* Update awplus data
* restore missing data
* update other DNOS
* Fix ones using encoded <private> and attempt to fix capture
* Fix ones using encoded <private> and attempt to fix capture
* fix typo
* Update some data
* update data
* update ruijie
* Module status helper
* Correct reference
* Rename function to make it more explicit
* Same for exists checks, normalize argument names
* Use new functions
* Agent: Packages fixes
Don't try to save invalid packages, probably due to script failure on device.
Add pacman support
* Apply fixes from StyleCI
* Add version
* cast to number
* Update includes/polling/unix-agent/packages.inc.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Refactor MAC utils to a new utility class
* Apply fixes from StyleCI
* Inline functions
Add tests
Handle bridgeid format
* Apply fixes from StyleCI
* Dedicated code path for stp bridge parsing, and improve STP output a bit
* Correctly parse dot1dBaseBridgeAddress and don't store int in bool field
* trim any unexpected character from bridge addresses, add extra test data.
* better comment
* barsBridge can handle dot1dBaseBridgeAddress correctly now
* parseBridge, check for properly formatted mac first.
* update test data, empty data = empty mac
* Fix new usage after rebase
* import
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Remove snmp functions that are barely used
Replace them with SnmpQuery calls
* Apply fixes from StyleCI
* Fix missing namespace
* Import Oid
* No more variables left may be repeated multiple times at the end with snmpsim, remove them all
* update data fixed by SnmpResponse bugfix
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Refactor poller to allow modules to run even if the device is down
Include core in config (but not webui) to avoid silly shenanigans
Inject datastore into polling
* Needed to split datastore interface
* Cleanup some data_udpate() references
* Apply fixes from StyleCI
* Fix legacy poller :D
* Output to the correct stream
* Fix lint issues
* Apply fixes from StyleCI
* Fix discovery not including core and submodule handling
* Use whereRaw
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>