* Do not always show graph title.
Setting the default title too early cause the titles to always be shown.
AFAIK, they should only be shown when:
- title is set by the user or graph itself (not 100% sure)
- the title variable is set
* Use default for empty titles too
* Don't clean titles so aggressively
* Only show title if explicitly shown
* A little more consistent default titles
* use built-in escape
* Actually show user titles if set
Handle single quotes in title
* initialize title
* $title doesn't need to be nullable
add method getTitle() to always get some text
* Revert incorrect formatting change
* whitespace fix
* Fix up version and git helpers
Improve method names
Move all git calls into the git helper
Allow runtime and external cache of results where appropriate
Consolidate version headers for discovery, poller, and validate
* Style fixes
* improve consistency in git calls
* fix style
* don't send name inconsistently
* Improve database versions
* No need to cache Version it is not used more than once currently.
* Disable plugins that have errors
Disable plugin if a hook throws an error and set a notification
Move notification code to class, so we can access it
Clear notification when plugin is attempted to be enabled again
* fix style and lint fixes
* another lint fix and handle if property is missing
* Fix for smokeping integration with ping-only devices
* Change for simple quotes
* Update Smokeping.php
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
* 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>
* 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>
* 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 an issue when getting the local version from git
If the process is not the owner of the git repo, an unsafe directory error is thrown.
* fix style
* Add additional OpenBSD PF graphs
Some of these were already present for PFSense (matches, badoffset,
fragmented, short, normalized, memdropped) and reuse existing graph
types; the others are are added as new types.
* collect-snmp-data.php: support IPv6 hosts
* Add SNMP data for new OpenBSD OIDs
* Stack all OpenBSD PF drops into a single graph/rrdfile
* Pull additional drops in to pf_drops
The MIB descriptions don't say "drop", but reading the OpenBSD source:
c471a73b65/sys/net/pfvar.h (L1196)
it's clear that badoff, frag, short, and norm are all drop reasons.
Pull them in into the stacked drop graph, too.
* ./scripts/save-test-data.php -o openbsd -v pf
* Include device_graphs in saved os module test data
* Revert "Include device_graphs in saved os module test data"
This reverts commit a85c902fe9.
* Update to use SnmpQuery
Co-authored-by: Kevin Wallace <kevinwallace@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Move Config loading to a service provider
That way other service providers can depend on it
Move various random listener registrations into the EventServiceProvider
Various startup cleanup
* Config::persist Set live variable before persisting incase db update fail
* Disable strict mode for legacy code (init.php)
* Disable debug after os test data is gathered
* remove Eloquent::boot it is never used
* remove Eloquent::version
* lint fixes
* style fixes
* there is no c_echo here
* Revamp validate web page
to load page then validate, instead of validate then load page
* style fixes
* lint cleanups
* fixes
* translations and a couple fixes
* style fixes
* move result serialization into the class.
* Migrate addhost.php to lnms device:add
Have snmp-scan.py call lnms device:add (make exit codes line up so this works)
Fix issue with ping only devices trying to detect os via snmp
Reorder options in device:add help and improve formatting
Update docs to remove references to addhost.php
Fix a bit of code that was in functional code
* fixes
* fix snmp version message