* use component to discover if xDSL polling is needed
use component to discover if xDSL polling is needed
* Components OK, Polling in correct files, no DB for VDSL
* GUI
GUI_suite
* per port as well
* rename
* interface listing
* draytek_snmpsim
* fix arraymerge
fix names and max value
* schema
schema
style
* remove one dbFetchRows
remove 2x dbFetchCell
style
style
remove Legacy dbFetchRow
tests
tests
eloquent
more eloquent
more eloquent
one more gone
* fix properties access
eloquent_insert_update
style
tests
tests
tests
tests
* tests
tests
tests
* adslLineCoding
* Models
* fix not nullable cols in DB from code
default values
typo
rename
typo
schema
fix
fix
vdsl fix now
typo
typo
fix size
fix size
* Power values for VDSL
Power values for VDSL
Power values for VDSL
DB
* cleanup
* Rrd::checkRrdExists
* always enable DSL discovery
style
* xdsl module
* cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
* Fix display
* fix polling and tenth
* remove legacy poller
* Style and Cosmetics
Cosmetics
Cleanup
* Translations
Translations
* exists
exists
* add test support for xdsl
* remove last component call
unused
* translations
* remove non standard onclick event on xdsl line
* Update Discovery Support.md
Update Poller Support.md
toner_gone
* Notification for removal of lnms config:set enable_ports_adsl true
* enable on devices with potential DSL interfaces
* tests are working now
fix teldat tests
* os_schema
* teldat
* move to new module structure
* move to new module structure
* wrong dump function
* wrong dump function
* laravel_through_key hidden
* Update notifications.rss
* Update notifications.rss
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Improved Modern Modules
Modules now report module dependencies and can dump data for testing
This should serve to the process of building a module more obvious.
cleanup now only requires a device, not an os wrapped around a device
Helper to create a modern module (including the legacy adapter) from a name.
* return false correctly for dump and handle it.
* make sure test data is in the right format.
* wrong isis table name
* sort
* Fix style and lint issues
* Return GraphImage to include more metadata
Allows things like including title.
Implements __toString for backwards compatability
getImageData to allow controlling the output through flags
* Style and Lint
* Email embed graphs
* Allow attachment for non-html
Add setting to webui
Correct $auth setting
* Cleanups, throw RrdGraphException instead of returning an error image.
Generate the error image later, giving more control.
Reduce code duplication a little
* Style and lint fixes
Change to flags
* Add baseline for lint errors I don't know how to resolve
* oopsie, changed the code after generating the baseline
* Tiny cleanups. Make set DeviceCache primary, it is free.
* Docs.
* email_html note
* Allow control of graph embed at the email transport level to override the global config.
* Allow control of graph embed at the email transport level to override the global config.
* Add INLINE_BASE64 to make it easier to create inline image tags
* Discord ability to attach graph images
Must use @signedGraphTag()
Needs more work on the graph side of things still: issues with CORs and other.
* Fixes
* alert data is an array for transports
* No need to decode, that was a bug before
* More secure external graph access
Add @signedGraphTag() and @signedGraphUrl() blade directives
Takes either an array of graph variables or a url to a graph
Uses a signed url that is accessible without user login, embeds signature in url to authenticate access
See Laravel Signed Url for more details.
Adds Laravel route to graphs (does not change links to use it yet)
@graphImage requires the other PR
Also APP_URL is required in .env
* missing files from rebase
* Fix url parsing with a get string
* allow width and height to be omitted
* Documentation
* Add to, otherwise it will always be now
* Doc note for to and from relative security
* fix vars.inc.php (Laravel has a dummy url here)
* Error reporting
* Move code to ErrorReportingProvider
Enable reporting of error (and warning) messages.
report module exceptions
* Restore flare key
Not needed to set late anymore. We set up filtering before it is initialized.
* Remove unnecessary and maybe double Flare report
* lint
* Cannot use typed properties yet, use phpdoc
* fix handleError return type
* Filter both exceptions and reports (so we don't miss any)
Consolidate the check if reporting should be enabled
* Cache reportingEnabled check for the runtime
* Split out middleware to improve readability
Logging of why reporting is disabled
Fix reportingEnabled cache
* Style
* Return some user data
* Change to class based middleware, it looks nicer
* Fix error page error id report, add url.
* also rewrite intended url
* remove link
* Move ignition to production and update flare-client
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix Undefined variable/key warnings
* massage for test data
* restore set_numeric, only generates noise
* Fix ucd storage used (apparently free is not stored in discovery...)
* Fix legacy os extend support
Now compatible with oids that could have been used by older software:
extend .1.3.6.1.4.1.2021.7890.2 hardware
extend .1.3.6.1.4.1.2021.7890.3 manufacturer
extend .1.3.6.1.4.1.2021.7890.3 vendor
extend .1.3.6.1.4.1.2021.7890.4 serial
And correct the oids for VERY old exec options.
* Convert to SnmpQuery and convert some numeric oid to textual
* MIB-Dell-10892::chassisServiceTagName.1 is discovered already in ServerHardware trait, no need to double fetch
* OIDs were previously mixed up, fix data
* add new poller
* add a missing ;
* formatting cleanup
* graph stuff and metrics move
* add rrd name
* clean up metrics/rrd def
* more metric/rrd def cleanup
* cleanup
* add basic opensearch graphs
* add opensearch to apps.inc.php
* begin work on opensearch app page
* formatting cleanup
* add translog graphs
* add a missing graph
* fix pending tasks
* add the ability to fetch the saved cluster name
* add fetching the cluster name
* correct the opensearch comment
* add combined shard stats
* add indexing graphs
* correct graph name
* correct some units as being per second
* add more graphs
* add more items for graph sets
* cleanup of units and naming... also more graphs
* more graph stuff
* change the RRD def again and define a few more graphs
* finish basic graph sets
* more graph stuff
* another rrd def change
* add more graphs
* add some more graph sets
* correct unit for c_task_max_in_time
* more graph stuff
* more graph stuff
* correct the unit
* add missing tw_time and another rrd def change
* another unit change
* add trc graphs
* more graph stuff
* add tseg graphs
* add all shards graph to both cluster items
* more graph stuff
* update opensearch app page
* add Opensearch\Elasticsearch app
* add opensearch tests
* run php-cs-fixer on two files
* add alert examples for checking cluster status
* remove an item that was accidentally added as a metric in the test but is not
* derp! thanks jellyfrog
* make it come up as Elisticsearch\Opensearch in the webui
* no longer use components, but app_data, for cluster name change
* update the web side for opensearch for using app_data
* style fix
* update opensearch for new app data stuff
* update to the new Application model
* update poller and device app page for ES/OS
* style cleanup
* update graphs
* test fix
* more test cleanup
* Update alert_rules.json
* begin work on breaking out the RRDs
* update all non-multi rrd graphs for opensearch
* update time_all
* add a unass shards graph
* correct rrd name
* should all be good now
* add missing tm stats
* Un Assigned -> Unassigned
* style cleanup
* another style fix
* remove cluster_name from saved metrics as it is not a metric
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* BATS support
* Removed disabled discovery modules
* Style change, more test data, removed unused rows
* Style correction LibreNMS/OS/Bats.php
* Removed old reference
* Another style correction add LibreNMS/OS/Bats.php
* Changed location info and temperature
* Style, again
* Style, again
* New testdata needed
* Fix wrong state color in discovery/bats.yaml
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Delete bats_bats.snmprec
* Update bats.json
* Update bats.json
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Allow configuration of the SSL/TLS operating mode when connecting to a mysql database
* Support SSL/TLS DB connections in the dispatcher service as well
* Apply black formatting standards to Python files
* Suppress pylint errors as redis module is not installed when linting
* More pylint fixes
* Correct typo in logging output
* Refactor SSL/TLS changes into DBConfig class instead of ServiceConfig
* Define DB config variables as class vars instead of instance vars
* Break circular import
* New Poller validations
Seperated poller and distributed poller validations to make poller validations generally available
One auto fixer added
Translatable strings
* lint and style fixes
* and style
* and style
* Update LibreNMS/Validations/Poller/CheckLocking.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Update CheckPythonWrapper.php
* Try to check if cron is even installed before warning about not being able to read the cron files.
Likely most systems they won't be readable, but also, it is very unlikely we hit the cron check and it is meaningfully different than the first Poller::exists() check.
* Work on poller validation
Remove errors/warnings when at least one poller of the other type is active.
* style fixes
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* replace git show --no-patch option with --quiet
Older versions of git do not support --no-patch or -q, but both older and modern versions support --quiet.
* Merge #14161
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Stats: Collect OS distro and LibreNMS version
Add os distro/version and LibreNMS version to stats collection.
To view stats: https://stats.librenms.org
* style/lint fixes
* Put debug where it will work
* One call sends int, which is ok
* Fix 500 error in validation when UI containers and poller containers have unique node_ids
* Update DistributedPoller.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* lnms device:poll better feedback
Feedback when 0 devices are found to poll or 0 devices are polled.
Make devices polled summary string translatable.
* additional note on what the wildcard is
* Fix style