* 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
* Sensors remove reliance on global variable
* Apply fixes from StyleCI
* Clear the instance instead of reset.
Remove $valid['sensors'] from docs
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* remove unused entPhysicalIndex_measured
* tests
* tests
* doc
* entPhysicalIndex_measured must be ports OR null currently
* Should not pass tests
* tests
* back to normal
* Fix error when missing poller data
* Apparently impossible to detect regex without error, so require regex always. Update docs.
* Apparently this adva code is garbage :D
* Missing count sensor type
* Processor handle missing input
* Handle missing ifName a little better
* Yep, ports module is a dumpster fire. Attempt to clean up some.
* apparently os yaml trying to replace on non-existent fields
* Might as well define all sensor type units
* revert previous fix, real issue was vlans module does not have polling.
* Move `resources/lang` folder
* Shift registered middleware
* Remove `fruitcake/laravel-cors` dependency
* Streamline `$commands` property
* Upgrade to Flysystem 3.0
* Shift core files
* Convert `optional()` to nullsafe operator
* Remove unnecessary `$model` property
* Convert route options to fluent methods
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
* Convert deprecated `$dates` property to `$casts`
* Shift config files
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.
* Bump Laravel dependencies
* Use `<env>` tags for configuration
`<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI.
Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/
* Fix error provider
* Match new symfony syntax
* Match upstream syntax
* Fix route syntax
* generate composer.lock
* Sync back configs
* routes
* composer
* Fix more flare
* fix cors
* sync lang
* Apply fixes from StyleCI (#14517)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* bump larastan
* update packages
* wip
* Temporarily lower phpstan level
* Update phpstan.neon
* wip
* wip
* wip
* Apply fixes from StyleCI (#14592)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test
* Update CiHelper.php
* Update test.yml
* Update CiHelper.php
* Update CiHelper.php
* Apply fixes from StyleCI (#14616)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test?
* fix phpstan problems
* dont run snmpsim on github ci
* Fix whitespace
* More whitespace
* More whitespace ???
* I think the space broke it
* fix the reset of the whitespace
* hard code auth guard
---------
Co-authored-by: Shift <shift@laravelshift.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* inital commit of a new syslog sink over http
* cosmetics
* cosmetics fix...
* cosmetic fix again
* cosmetics fix again
* its nice now...
* add non blocking option
* Syslog Sink integrated as API PUT method
* lint fix
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* change to POST, fix decoding issue and json exception
* logstash/json documentation added. syslog documentation a bit re-structured
* lint fix
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Improve trap testing
Add helper log() to Trap
Avoid saving to the database at all
* style
* Move all traps to $trap->log()
* Update tests
* Lint and style fixes
* Use correct partial mock call
* more style
* Add docs
* debug in ci
* use the correct log function....................
* all, I guess
* not the first??
* 3rd?
* use event_id to order
* add lnms_return_optimizer
* add compression test using zfs-v1
* minor style fix
* save the original output if not json
* replace gzinflate with gzdecode as apparently that does not require yanking the header
* Minor comment cleanup. Also note it in the application notes as well.
* update docs on how it is called
* update the spelling of it in a few places
* and a few more
* dev docs updated a bit
* the suricata extend has native support for this now
* add exception handling for base64 and gzip decoding failure
* minor cleanup for new exceptions
* minor misc changes
* minor formatting fix
* more phpdoc tweaks
* minor formatting tweak
* remember to actually include the new exceptions
* more phpdoc tweaking
* correct name in JsonAppGzipDecodeException
* add debug and verbose output
* style fix
* not base64 is it starts with a line with only a integer
* initial work on add the ability to save/fetch app data
* update to use get_app_data for ZFS
* update the poller for the new app_data stuff
* ZFS now logs changes to pools
* add schema update for app_data stuff
* small formatting fix
* add a missing \
* now adds a column
* sql-schema is no longer used, so remove the file that was added here
* misc cleanups
* rename the method in database/migrations/2022_07_03_1947_add_app_data.php
* hopefully fix the migration bit
* add the column to misc/db_schema.yaml
* more misc small DB fixes
* update the test as the json column uses collat of utf8mb4_bin
* revert the last change and try manually setting it to what is expected
* remove a extra ;
* update suricata as well
* correct the instance -> instances in one location to prevent the old instance list from being stomped
* remove a extra ;
* update fail2ban to use it as well
* remove two unused functions as suricata and fail2ban no longer use components
* style cleanup
* postgres poller updated to use it
* update html side of the postgres bits
* chronyd now uses app data bits now as well
* portactivity now uses it as well
* style fix
* sort the returned arrays from app_data
* correct log message for port activity
* collocation change
* try re-ordering it
* add in the new data column to the tests
* remove a extra ,
* hmm... ->collate('utf8mb4_unicode_ci') is not usable as apparently collate does not exist
* change the column type from json to longtext
* mv chronyd stuff while I sort out the rest of the tests... damn thing is always buggy
* hmm... fix a missing line then likely move stuff back
* style fix
* add fillable
* add the expexcted data for fail2ban json
* escape a " I missed
* add data for portactivity
* add suricata app data
* add app data to zfs legacy test
* put the moved tests back into place and update zfs-v1 test
* add app data for chronyd test
* add app data for fail2ban legacy test
* update zfs v1 app data
* add some notes on application dev work
* add Developing/Application-Notes.md to mkdocs.yml
* add data column to it
* added various suggestions from bennet-esyoil
* convert from isset to sizeof
* type fix
* fully remove the old save app data function and move it into a helper function... the other still needs cleaned up prior to removal
* update docs
* get_app_data is fully removed now as well
* a few style fixes
* add $casts
* update chronyd test
* attempt to fix the data
* more doc cleanup and try changing the cast
* style fix
* revert the changes to the chronyd test
* apply a few of murrant's suggestions
* document working with ->data as json and non-josn
* remove two no-longer used in this PR exceptions
* ->data now operates transparently
* style fix
* update data tests
* fix json
* test fix
* update the app notes to reflect how app data now works
* app test fix
* app data fix for linux_lsi
* json fix
* minor doc cleanup
* remove duplicate querty and use json_decode instead
* style fix
* modelize the app poller
* use a anon func instead of foreach
* test update
* style cleanup
* style cleanup
* another test cleanup
* more test cleanup
* reverse the test changes and add in some more glue code
* revert one of the test changes
* another small test fix
* Make things use models
Left some array access, but those will still work just fine.
* missed chronyd and portactivity
* rename poll to avoid make it any confusion
* Remove extra save and fix timestamp
* save any changes made to app->data
* nope, that was not it
* What are magic methods and how do they work?
* fix two typos
* update linux_lsi test
* change quote type
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Procurve hardware description cleanup
Include part number and other details where available
Covers 100% of known sysDescr
Adds Aruba Instant On parsing
adds string replacements for OS fields
Could use hardware: ENTITY-MIB::entPhysicalDescr.1, but strings contain a lot of fluff and some are just "HP", I leave that for another PR
* restore .gitignore.........
* less specific
* Change regex cosmetically
* Add ubiquiti Airfiber 60
* New AF60 data and MIB
* Stylci fix and small additions
* Update test data
* Stylefix
* Remove the weird ubiquity oids containing encoded mac addresses
* Updated test data
* Remove more complex sensors for now to be added after the conflict airos airos-af60 is solved
* Fix hardware and OS
* To be verified is this is the most practical / clean way of doing it
* Advanced wireless and MCS state sensor
* Fix link capacity multiplier and active link
* Test data update fix lint
* Maybe better
* Fix Temperature Sensor for AirOS 8
* Update airos_airos8.json
* Update airos.json
* Add new skip_values feature to deal with Ubiquiti nonsense.
Tweak test data to test the change
fix not_regex
Co-authored-by: Tony Murray <murraytony@gmail.com>
* forcewalk param
* [snmp][no_bulk]
* var names, test, schema
* Key off OIDs, not mibs
luminato is POC and needs to be reverted before merge.
* fix up os schema
* docs
* remove luminato arbitrary changes
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Allow 'list_devices' to query by exact device-id
* Remove 'http://' prefix from --dev-addr in doco for 'mkdocs serve'
* Document 'list_parents_of_host' API call by reference to 'list_devices' call
* Remove possibility of SQL injection attacks
* Remove possibility of SQL injection attacks
* Use GitLab instead of Gitlab
Only change text part, the Alert.Transport.Gitlab class left as is.
* Fix href in document
* Move section in document
The agent list in this document is sorted by alphabetical order,
"SDFS info" is the only exception.
* Remove trailing spaces in document
* Align code in document
* Fix Markdown in document
- Escape underline
- Add syntax highlight
- Add two space in the end of line to make it a newline
- Add newline before list or code section
* Update LibreNMS/Alert/Transport/Gitlab.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Test the num_oid generation
* Refactor num_oid discovery
* cnt
* Cache the value to avoid unnecessary snmptranslate
* desc of function
* typo
* Negative caching as well
* Negative caching
* style
* Str::before
* Str::before
* Str::before
* Fix key, and model Devices
* types
* types
* doc update
* re-run tests
* Use Cache class
* Simplify caching and do it into oidToNumeric
* Simplify caching and do it into oidToNumeric
* style
* Extend to 3 hours
* and not ->cache_time
* force re-run tests
* only one OID for num_oid test
* rerun tests
* typo in MD
* restore
* Exemple
* Exemple
* light change
* test
* test
* test
* back to PR
* phpstan + suggestions from Tony
* fix firebrick num_oid
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Developer device simulation
lnms dev:simulate
handy helper to start snmpsim with test data and optionally add and remove a device to LibreNMS
* doc update
* Cisco enhanced cellular support
* Extra sensors, camelcasing and bugfixes
* Doc update
* German translation
* French translation
* Style fixes
* Style changes
* Style changes
* Style changes
* Style changes
* Style changes
* Added test data
* New test data --variant
* New test data --variant ir1101
* Made the new wireless sensors generic
* Added test data for ios variant ir809
* Fix includes/discovery/sensors/count/cisco.inc.php, thanks PipoCanaja
* Moved cellular operating band from Wireless sensors to count sensor
* test data
* test data
* test data
* test data
* Moved ICCID/IMSI/IMEI to inventory
* test data and style fix
* Cellular state sensors now have a group
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
* Add BGP discovery and polling for Dell OS10 devices
* Add BGP testing data for Dell OS10
* Add BGP testing data for Dell OS10 (fix)
* Add DB info for unit testing
DB_TEST_HOST must be changed when running mysql in a separate docker container or unit tests fail
* Set bgpLocalAs in discovery (fixes unit test fail)
Ideally the main `bgp-peers.inc.php` should be fixed so it does not
depend on finding bgpLocalAs from BGP4-MIB
* Change comment style
* Remove link to code in documentation
* Discover BGP counters
* Use IPv6 addresses in compressed format
* Updated the creating documentation page with more informationg on
building and viewing. Fixed some formatting and markup issues with
existing text.
* Minor corrections
* Revert "Minor corrections"
This reverts commit efbe4bde55.
* Minor corrections
* Update Creating-Documentation.md
* Update Creating-Documentation.md
* Update Creating-Documentation.md
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Added tv_signal sensor class (TV signal in dBmV (decibells to millivolt))
* Added OS motorola-cm (Motorolla DOCSIS Cable Modem)
* Added OS thomson-cm (Thomson DOCSIS Cable Modem)
* Update Documentation
Most work in Graylog and SNMP
Fixed many code tags, spelling and wording.
Added SNMP PowerShell example.
* Update SNMP-Configuration-Examples.md
Fix TOC brackets
* mempools to modern module
quick hacky hrstorage port
* port ucd-snmp-mib to Mempools
* Populate DB for ucd
Prep for yaml
* initial yaml attempt
* more complex conversions
fixes to YamlDiscovery, make leading $ optional and allow mib::oid format
* walk full tables and skip values
normalize percentages above 100
* handle precent only ones (specify total as 100)
* Move default polling out of YamlMempoolsDiscovery
* fixes
* Update test data hrstorage should be correct.
* perc_warn for hrstorage
* Host Resources, record buffer, cached, and shared
* Host Resources is always better, don't do both HR and UCD
* fix unix, include warning levels
* variable size
* consolidate skip_values
* define mempools schema
* number instead of integer
* more schema refactor
* one more skip_values reference
* throw error for invalid oid translation
aos6
* a* and Cisco
* updated test data
* update almost all hrstorage data files
* b*
* c* with test data
use standard cache for hrStorage
* use cache for storage module too
* hand bsnmp properly
* bdcom
* exclude total oid from yaml so it is not polled
May add a way to ignore this behavior and poll it, but I don't know if that is needed.
* automatically handle percent only values
* ciscowlc
* only poll used or free if we have used, free, and total.
* fix skipping
* the dlinkoning
fix find value when value "name" is numeric
* support numeric oids
* dnos/ftos attempt
* I guess we can't filter on total > 0
* edgecos
* e*
* f WIP
* f*
* gwd (aka g*)
* h* + procurve
* i*
* j*
* m*
* support 0% used memory (however unlikely)
* n*
* CISCO-PROCESS-MIB memory, share cache with processors module
* ignore mempools with invalid total
* p*
* quanta
* r*
fix raisecom mibs terribly broken
* s-z
* style fixes
* Move VRP back to PHP and make it actually work
* fix zynos
* update schema
* Update Cisco processor data for description bug fixes
* fix comware processors
* comware mempools with memory size
default precision to 1
* sophos-xg updated data
* hrstorage use ram size for buffers, cache, and shared
* Show memory available instead of free in device overview
* UCD, use same rrd format, store available instead of free in the db.
* Calculate availability for HOST-RESOURCES-MIB
* Convert UCD to standard polling
* rename old rrd files
* initial graph work
* graph WIP
* Graph looking decent
* Graph looking decent for hr
* remove old ucd_graph code
* handle availability mempool
more graph cleanup
* color adjustments
* remove accidental free calculation
* Update test data and fix corner cases
* fis pfsense
* update schema
* add default value for mempool_class
* fix whitespace
* update schema
* update schema correctly
* one more time
* fortigate_1500d-sensors missing oids
* Update docs.
* fix indent
* add implements MempoolsDiscovery explicitly to OS
* remove ucd_memory graph references
remove unused device_memory graph
* remove unused functions
* set devices with mempools to rediscover to prevent/minimize gaps
* use a subquery
* add overview graph
* port health mempools table
* Update device mempool
* only show overview if multiple
* Don't override user set warn percentages in discovery
* fix missed usage
* fix style
* Safety check to not rename rrd files incorrectly if migration has not been run.
* Fix overview percent bar and represent available and used on the bar
* missed an item to convert to mempool_class
* percent on the wrong side