Commit Graph
221 Commits
Author SHA1 Message Date
Tony Murray e323074416 Top Interfaces, exclude invalid ports (#11338) 2020-03-24 12:36:19 +01:00
SourceDoctor 40062e0e08 Widget - show selected DeviceGroup in Title (#11299)
* Widget Top - show selected DeviceGroup in Title

* now for all Widgets

* change if statement
2020-03-23 19:23:04 -05:00
SourceDoctor 8c5e03423c Fix: Widget - Device specific mouseover (#11325) 2020-03-23 08:45:20 -05:00
Tony Murray 425ac28bab Fix js warning in settings, update js deps (#11324) 2020-03-22 19:30:58 +01:00
Tony Murray 43a8616efd Some Poller page cleanups (#11287)
* Some Poller page cleanups
Some queries loaded all devices into memory and the counted them, we should have sql count them if we only need a count.
Models should be singular
Use named routes for url generation
Try to keep presentation and data collection separated in blade and controller.

* Update PollerController.php

* Fix style

* Fix new PollerGroup references
2020-03-22 19:29:31 +01:00
SourceDoctor 9092988f7b Fallback to default Poller Group on delete (#11278)
* Fallback to default Poller Group on delete

* rewrite to eloquent

* replace column remove with page reload (refresh everything)

* change access verification check method

* .

* Update PollerGroups.php

Co-authored-by: Tony Murray <[email protected]>
2020-03-20 10:16:49 +01:00
Tony Murray df16de9d2f Refactor Datastores to allow future improvements. OpenTSDB Tags. (#11283)
* 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
2020-03-16 09:17:58 -05:00
SourceDoctor 4e349efd11 Rewrite Poller Management to Blade/Eloquent (#11277)
* 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 <[email protected]>
2020-03-13 20:58:37 +01:00
Tony Murray 82eddfcf27 Sort Settings by translated names (#11280)
If browser language is different from the language set in LibreNMS, it might sort slightly incorrectly.
2020-03-12 11:39:06 -05:00
Tony Murray 7fe895bd08 Revert "Refactor datastores to classes (#9179)" (#11273)
This reverts commit e5dad7a64e.
2020-03-11 07:52:52 -05:00
Tony Murray e5dad7a64e Refactor datastores to classes (#9179)
* 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
2020-03-10 19:08:00 -05:00
SourceDoctor 0baeab567b Added Mountpoint ignore options to global settings (#11197)
* Global Settings - Mountpoint ignore options

* enhance AppServiceProvider with regex
2020-02-26 13:01:49 +00:00
SourceDoctor c8bdd10e6a Reduce DB polling while getting SNMP data (#11162) 2020-02-18 13:26:41 +01:00
SourceDoctor 6d9deedcc1 Maintenance Mode for a complete Location (#11089)
* Maintenance mode for a complete location

* updatedatabase query

* updatedatabase query

* add missing select
2020-02-03 11:26:08 -06:00
SourceDoctor c07678d55f Mark Devices in Maintenance Mode (#11092)
* Mark Devices in Maintenance Mode

* code climate fix
2020-02-02 08:33:01 -06:00
SourceDoctor 7950893cd1 Alternate Poller IP instead of Hostname (#10981)
* optional alternative poller ip

* add missing schema update

* .

* enhance API Call 'add_device' with overwrite_ip key

* .

* .

* updating docs
2020-01-30 06:20:30 -06:00
SourceDoctor 2bd19c655b enhance poller group management (#11073) 2020-01-27 06:17:52 -06:00
Joseph Tingiris 68419b1130 Fix FatalThrowableError in forgetAttrib() (#11064)
* From a device's SNMP edit form, when attempting to remove previously set Max Repeaters or Max OIDs values, a fatal error

was being thrown.
* Fix Call to a member function delete() on null {"userId":2,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function delete() on null at /opt/librenms/app/Models/Device.php:406)

* This patch corrects the ability to use the device's SNMP edit form to remove device attributes that had been previously set.  The values of Max Repeaters or MaxOIDs can now be deleted from the database.
2020-01-23 15:48:14 -06:00
louis-oui 6931df8990 Alertlog stats dashboard widget (#10967)
* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Cleanup

* Cleanup

* Cleanup

* date selection

* date selection

* fix js rule details

* cleanup js

* dummy commit to reload CI/CD

* dummy commit to reload CI/CD
2020-01-23 08:16:30 -06:00
louis-oui 4395b002ab Add 'alert history' widget for dashboard (#10901)
* add alert history dashboard

* add sql-schema

* only alert

* add settings

* add settings

* fix display alert details

* fix db-schema

* add filtering by severity

* fix code climate

* Update common.php
2020-01-23 05:27:57 -06:00
SourceDoctor 0b18ae7d89 Centralize Application Display Naming (#11047)
* centralize Application Display Naming
* remove space character
* function call corrections
* Travis fix
2020-01-19 22:31:40 +01:00
Heath Barnhart a342a45b74 VMWare Guest State Traps and UI (#11035)
* Initial push

* power trap tests

* vmware heartbeat trap tests

* heartbeat trap test

* created utilclass for common functions

* Changed util class name to better reflect its use

* make vm power state changes to db

* Traps will modify DB

* Removed unecesarry relationship

* Added vminfo modelfactory, tests, and fixed format

* Added suspended state to ui
2020-01-17 18:16:14 +01:00
louis-oui e3156cbef6 Support of "disable alerting" in availability map and device summary widget (#11022)
* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* merge for last release

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Widget device summary

* Widget device summary

* Widget device summary

* Widget device summary

* Widget device summary

* Widget device summary

* fix color in widget device summary

* fix color in widget device summary

* Commit to restart travis CI

* Commit to restart travis CI
2020-01-15 11:32:29 -06:00
PipoCanaja ee8297df19 Extend FS switches support, handle lowerLayerDown ifOperStatus (#10904)
* extend FS switches support

* MIB compilation

* HW and Ver

* sensors and CPU

* tests

* correct version

* try to handle properly "down" as not up, for OperStat like lowerLayerDown

* try to handle properly "down" as not up, for OperStat like lowerLayerDown

* try to handle properly "down" as not up, for OperStat like lowerLayerDown

* try to replace "down" with "not up" :)

* fix other ifOperStatus checks
2020-01-15 08:28:36 -06:00
SourceDoctor 252ee125b5 highlight Device Dependency Path to Dependency Root Device(s) (#11025)
* highlight Device Dependencies down to Dependency Root Device(s)

* rename function

* better var name

* codeclimate fixes
2020-01-15 08:10:58 -06:00
SourceDoctor f40f4e1864 highlight isolated Devices (Devices with no Dependencies) (#11018)
* highlight isolated Devices (no Dependencies)

* travis fix

* retrigger node analysis
2020-01-09 18:44:40 -06:00
SourceDoctor b8f2b094d7 Graphing Device Dependency (#10916)
* graphing Device Dependency

* remove uneeded code

* fix link to go to device Overview

* rebuild dependency map to blade/laravel

* remove uneeded file

* code climate fixes

* remove not used code

* remove blank line

* device access filter optimization

* remove blank line

* force new travis check ...

* fix deviceLink configuration

* .

* rewrite code

* moving to Maps Namespace

* retrigger tests

* some code changes

* further renaming

* retrigger tests

* some code improvements

* .

* move vis.min.js in javascript section

* Device Dependency for Device Groups

* .

* codeclimate fixes

* show child/parents of Device - even if not in Device Group

* Device Highlighting

* add missing function

* replace hardcoded get params with ->get in Controller

* redesign Controller

* code climate fixes

* fix binary operator to 'or'

* remove 'or'

* code climate fixes

* further Code changes

* move loadMissing behind merge
2020-01-07 14:23:36 +01:00
Jellyfrog 0094940283 Add Blade directives for common Url functions (#10995) 2020-01-04 16:14:50 +01:00
Vitali Kari 532ab1127a Mpls Path Visualization (#10936)
* update nokia mibs

* database migrations

* add code

* html code

* update db schema

* add test data

* add FIXME

* move mibs/nokia/MPLS-TE-MIB to mibs/MPLS-TE-MIB
2020-01-01 23:45:06 +01:00
Jellyfrog b361710148 Device group based access (#10568)
* Device group based access

* Use Permissions class to resolve permissions

Also give port access based on device access

* Convert more pages to use Permissions class

* shorten config setting name
use Eloquent relationships in several places
alphabetize config_definitions.json

* Change Models and Permissions

* Clean up ajax_search LIMIT sql

* Convert more pages to use Permissions class

Co-authored-by: Tony Murray <[email protected]>
2019-12-30 12:11:26 +01:00
SourceDoctor 07ef8e2f67 Array to String conversion fix (#10976)
* array to string conversion fix

* .

* Update cdata.yaml

Co-authored-by: PipoCanaja <[email protected]>
2019-12-26 23:49:01 +01:00
SourceDoctor 299da2600e Fix Device Mouseover View (#10962)
* fix device mouseover view
* move function to App/Models/Device.php
* load OS Setting in Device Constructor
* retrigger travis
2019-12-24 17:01:26 +01:00
SourceDoctor e98dd35a9b Protocol filter for Routing Table View (#10933)
* Protocol filter for Routing Table View
* change protocol selector to listbox
* fix for issue with orWhere in RouteTablesController search
* renaming function updateTable()
2019-12-15 22:50:28 +01:00
Munzy 0f3c6baab3 Corrected devices Unpolled Warning (#10903)
Currently the Device Unpolled warning is going to the wrong URL "poll-log/filter=unpolled/". "pollers/tab=log/filter=unpolled/" looks to be the appropriate URL now.
2019-12-04 21:58:50 +01:00
Tony Murray 2a66c6100f Delete applications when device is deleted (#10884) 2019-11-27 00:56:47 +01:00
Tony Murray 9436c34507 Fix static device group updated message (#10841)
Previous code was not counting devices added/removed properly, so it would always show no changes made (even though they were)
2019-11-20 09:59:13 +01:00
PipoCanaja 827cc0cce3 htmlspecialchars for ports (#10833) 2019-11-19 20:39:11 +00:00
PipoCanaja bf181b9dc2 Added support for routing table collection in discovery (#10182)
* Clean broken VRF lite code
* Change DB table for route discovery
* Add VRF simple support
* add port_id to db and discovery
* static-fy the translation arrays
* sort and search cleaning
* Sorting refactor and validation
* formatItem shortened
* Handle ifIndex==0 meaning no next hop defined (MPLS)
* Sync all create/updates
* purge in daily
* remove old route table
* get rid of inetCidrRouteNextHop_device_id
* fix wonky column orders
* add route snmprec
* fix sorting by interface
* Move to new config
* rename to route the new table
* Properly display ipv6 compressed addresses
* Translation before merge ./lnms translation:generate
* Update manifest
2019-11-17 16:30:43 +01:00
Tony Murray 138dc24f64 Fix system style setting (#10820) 2019-11-17 05:13:48 +00:00
Tony Murray dec9a498ee Updated device cache support (#10795)
* Device Cache
also some additional device related models

* attribs from cache

* replace common attribute functions

* remove legacy cache usage
tidy up some collection manipulation
remove some unused or single use functions

* cleanup some items

* always return a device, to prevent bugs

* clear device cache when testing after each test

* fix double assignment

* Clean up function to take advantage of null object
2019-11-14 21:56:06 +00:00
SourceDoctor a9212faa83 Allow user specific themes (#10799)
* allow user specific themes

* add missing newline

* use global function getDefinitions

* some fixes

* .

* travis fix

* .

* Optimize preference loading
Aka, don't run multiple sql queries per page load, now it is 0-1 queries (for preferences)

* Add a default option for user preferences

* Remove unused code

* more
2019-11-14 18:40:38 +00:00
Kade Cole 59ab34b67e Add Metrics Icons Tooltip (#10811) 2019-11-13 02:21:44 +00:00
Tony Murray b4fc84888d Fix snmp v3 when set via ui (#10797) 2019-11-09 13:10:44 +00:00
Tony Murray 8bc0af7b85 Translation generation command (#10794)
additional translatable strings: Filter Settings in settings page and Global Search on all pages.
remove duplicate fr key
also, language file signatures were wrong as I had a testing version of the vue generator
2019-11-09 13:01:41 +00:00
SourceDoctor ce628399a9 Allow user activation/deactivation (MySQL auth) (#10511)
* user deactivation feature

* update db_schema.yaml

* travis fix

* readd sqlfile with alter statement

* ..

* revert force push

* combine all queries

* fix query

* user enable/disable only visible on mysql authorization

* Update form.blade.php

* Update index.blade.php

* disable 'enabled' on own profile

* bootstraping checkboxes
2019-11-08 06:32:57 +00:00
Tony Murray 55750cebb4 Fix settings search (#10777)
restore dynamic menu building... data manipulation in js is yuck
2019-11-04 21:16:06 -06:00
Jellyfrog 75c27ed425 Fix invalid check for device->isUnderMaintenance() in worldmap (#10778)
Fixes #10751
2019-11-04 15:33:58 -06:00
Tony Murray 9b4406ec9e Add Graylog settings (#10740)
* Add Graylog settings
Fix order of settings
Don't clobber text input when validation fails
fixed spacing for setting reset/undo buttons and help

* fix style
2019-10-26 00:29:47 +00:00
Tony Murray e6423852ef Remove $_SESSION usage, except install (#10745)
* Remove $_SESSION usage, except install
Fixes issue with device debug capture
Removes secure_cookies setting, use the .env variable SESSION_SECURE_COOKIE instead.  Reminder secure cookies requires cookies are transported over https, if everything is already transported via https, the setting won't make a difference.

* Fix availability map controls
2019-10-26 00:29:12 +00:00
Tony Murray f9b704cb29 Add distributed polling config settings (#10711)
Show error on cli when type or validation is not set
2019-10-17 18:32:27 +00:00