* Test WIP
* WIP
* port getComponents to Eloquent
* port more
* simpler creation
* change to explicit arrays
* add missed file
* restore commented code
* fix inserting null value for component prefs
* Fix some bugs in setCompenentPrefs
Can't create tests without fixing bugs first :D
* another test
* another test
* Modernize setComponentPrefs
* Test for event log entries
* Fix delete event
* fix invalid values for component toggles
* status log too
* Use Setters to work around bad data, $casts doesn't do what we want.
* Python3 Modul Dependency Check
* code climate
* binary existance check
* move Python Modul Version Check
* .
* adding verbose argument
* args parser nicement
* enhance Validator for detailed approvements
* Update Python.php
* Update check_requirements.py
* python version to Version class
use Process
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Send Device group membership to Pagerduty
Send device group membership to pagerduty. This allows routing (event rules) on the Pagerduty side to make decisions based on group membership inside LibreNMS
* Simplified changes
Rolled all changes into one line per @murrant sugguestions
* MPLS updates and bugfixing
* Tests
* tests
* code climate, tests
* tests
* tests
* remove nokiaIfName(), fetch ifName from the database instead
* restore from messed rebase
* tests
* btw, fix travis about the missing docs
* tests
* tests
* clean the messed up test data an generate new for timos
* rebase
* SIAE add additional sensors and data
Improved labels
Modulation
Rate
Serial Number
Hardware name
* Add total rates
* was supposed to be divisor
* Short array syntax
* Allow manual configuration of Pagerduty Integration Key
Pagerduty supports a global event queue per account and provides the integration key for it. This allows you to enter the key directly and bypass the OAuth workflow if desired.
* Update Pagerduty.php
Fixed spacing.
* Throw some shit together, rough outline.
* Reorganize tabs, use tab controllers
* Implement performance (into the latency tab)
* Update resources/views/device/header.blade.php
Co-Authored-By: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Add more tabs
* All controllers created
* Implement routes
* Implement smokeping
* routing and auth
* fix smokeping check
* Implement device dropdown menu
* Update deviceUrl to new style
* Use Gates
* Fix style
* use more appropriate gates
* add show-config gate
remove Laravel helper
* Only show vlan tab if VLANs exist for the device :D
* Fix rancid file check will return false
* revert over-zealous file name changes
* don't need to request the location parameter, just cast to string to avoid bugs when not found
* Move latency tab (ping/performance) to the position of performance instead of ping.
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Global Settings - Alert Default Settings
* Revert "Global Settings - Alert Default Settings"
This reverts commit a1af62b146.
* Widget Eventlog - Sensors link and overlib Image
* travis fix
* handling via AppServiceProvider
* collect function
* Travis ...
* static list of Sensor Types
* adding all sensor graph_types
* remove collect
* correct getTypes - remove change to lower case
* class sensor_descr switch
* class sensor_descr switch - revert
* Use standard sensor type names
* move types to attribute list
* going back to changes from 9eee7fad58
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Delete ports via eloquent event
Chunk delete during purge all operations so we don't use too much memory.
* protect against missing device
* fix whitespace
* fetch less from the database when deleting a device's ports
fix output
* Add support for sending events to Sensu
Sensu is an alerting and monitoring service (and much more) that has a
nagios compatible check API.
This transport translates LibreNMS alerts into Sensu events, and sends
them to the agent API running on the same host as the poller.
The transport has a few options, but none of them are required - if the
Sensu agent is correctly configured, alerts will be sent as soon as the
transport is enabled.
There's a fair amount of code, as I've tried to translate as much data as
possible between LibreNMS and Sensu.
* Update Transports.md
* If alerted is 0, send an "ok" alert dated rrd.step / 2 seconds ago
This makes Sensu aware of the last time the check ran successfully (ish).
If we don't send the initial "ok", Sensu will either display 'unknown',
or an incorrectly high duration for the incident.
Alerted gets set to 1 after the first alert is sent.
We choose rrd.step / 2 as:
* rrd.step is the maximum time ago the check could have succeeded
* we halve it, so that if a check is flapping, it is not masked
Basically, we guess that the check fails around halfway through the time
since the poller last ran.
* Add additional metadata
* Improve codeclimate slightly
* Consider names that are 2 or 3 components long
* ipv6 support for BGP routes in VRP devices
* reverse bgpPeers array to allow VRF aware BGP
* codeclimate
* codeclimate
* codeclimate, finally
* Split VRP out of bgp-peers for readabilty
* Split VRP out of bgp-peers for readabilty
* tests
* CodeClimate
* improve function description
* improve function description
* v6data
* rebase
* space
* ipv6 support for BGP routes in VRP devices
* reverse bgpPeers array to allow VRF aware BGP
* codeclimate
* codeclimate
* codeclimate, finally
* Split VRP out of bgp-peers for readabilty
* Split VRP out of bgp-peers for readabilty
* tests
* CodeClimate
* improve function description
* improve function description
* v6data
* rebase
* space
* fixed corner case
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible
* Missed rrdtool_tune() call
* Test update WIP
* OpenTSDB now includes tags
* fix style
* Rewrite Poller Management to Blade/Eloquent
* remove further no more needed file
* Code Climate
* Code Climate
* hardcode tabs
* change URL style
* change prefix from poller-groups to poller
* .
* parameter fix
* Refactor to use more direct routing.
remove switch statement.
Co-authored-by: Tony Murray <murraytony@gmail.com>