Commit Graph

77 Commits

Author SHA1 Message Date
SourceDoctor
afa26d66b5 Fix datatype for Availability_perc Column 2020-06-23 01:06:49 +02:00
SourceDoctor
4e6a7291a2 Device Availability Calculation (#11784)
* Device Availability Calculation

* Travis fix

* .

* schema corrections

* flexible duration

* travis

* .

* .

* .

* .

* remove not needed code

* line Text to RRD

* update humantime

* .

* only set up again if device was marked as down

* set RRD area transparency

* save uptime also, to keep last availability as good as possible

* file description correction

* look for outages even if uptime > duration
2020-06-22 22:57:30 +02:00
Tony Murray
867aa132c1 Merge pull request #11661 from SourceDoctor/app_dhcp_enhancement
Application DHCP Upgrade
2020-06-16 17:03:45 -05:00
Tony Murray
240b84aa3f Merge pull request #11776 from TheGreatDoc/ups-traps
Added UPS-MIB Trap On Battery (upsTraps.0.1)
2020-06-14 16:41:42 -05:00
Tony Murray
d00e18a32e support sqlite 2020-06-12 09:27:25 -05:00
Tony Murray
13ade9ab6c Merge branch 'master' into alerts-carbon 2020-06-12 07:48:51 -05:00
SourceDoctor
1093315700 Merge branch 'master' into app_dhcp_enhancement 2020-06-08 20:51:41 +02:00
Tony Murray
300645388f Dispatcher Service settings (#11760)
* Poller settings WIP

* Poller settings WIP2

* working on SettingMultiple

* setting multiple working

* settings sent with all required info

* fix translation

* Fix keys

* fix groups setting

* Apply settings to service
fixes and validations for setting

* don't error when no poller_cluster entry exists

* hid tab when no poller cluster entries

* Authorization

* make prod

* daily maintenance toggle should be advanced

* Update schema def
2020-06-08 08:27:03 -05:00
TheGreatDoc
2f245c0e82 Removed sensor_id from factory()->Sensor:class 2020-06-08 06:30:13 +02:00
TheGreatDoc
e1d5b8ca5f Added sensor_oid to factory->sensor 2020-06-07 12:49:30 +02:00
TheGreatDoc
95ffe2a8b4 Fix correct field 2020-06-07 11:55:54 +02:00
TheGreatDoc
6f91e9e287 Create factory->Sensor model. Fix some format issues in UpsTrapsOnBattery.php and more UpsTrapsOnBatteryTests 2020-06-07 11:21:14 +02:00
SourceDoctor
97e2ab4c04 Merge branch 'master' into app_dhcp_enhancement 2020-05-23 00:12:14 +02:00
Tony Murray
5fc3fcb9e8 Make migrations work in SQLite (#11643)
* WIP Sqlite

Down methods don't work either, avoid them with refresh for now.

WIP persistent support

WIP db_schema

WIP db_schema 2

Update new migrations...

revert dump_db_schema changes for now, too much difference.

fix migrations on mysql

fix up some more items, this should be our target schema
lots of index renames and a two misc changes

index rename WIP

index rename WIP

another round

fix up new schema changes

try case insensitive fix

Trying tests WIP

fix down methods

DBSetupTest working (uses mysql)

Test sqlite migrations work

* Properly validate sqlite output

* revert glue changes, should be separate PR

* remove dusk workaround

* remove unused variables

* import

* sqlite capitalization

* Revert some refresh tests

* testing_mysql back to testing
2020-05-22 16:49:21 -05:00
SourceDoctor
afd2be0292 . 2020-05-22 23:41:15 +02:00
SourceDoctor
4ef5bb1ea6 class rename 2020-05-22 23:34:51 +02:00
SourceDoctor
cbe572f959 Application DHCP Upgrade 2020-05-22 23:02:19 +02:00
Heath Barnhart
e414352356 OSPF SNMP Trap Handlers (#11647)
* Intitial push working tests

* Adding unit tests

* created interface state unit tests

* started ospf nbr unit tests

* finished nbr change unit tests

* precommit checks pass

* removed uneccsarry relationship
2020-05-21 15:15:39 -05:00
Tony Murray
73ac93d729 Fix errors for some devices loading components (#11527)
* 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.
2020-05-08 00:30:56 -05:00
Mathieu Poussin
fc391090e1 BGP Polling: Add error code management (#11424)
* BGP Polling: Add error code polling

* Rework describe_bgp_error_code and fix bgp error fields migration

* Add real test data for IOS-XR and Arista EOS
2020-04-24 22:47:20 -05:00
SourceDoctor
cc2894c0df Widget Eventlog Sensors Link and Mouseover functionality (#11380)
* 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>
2020-04-19 12:57:49 -05:00
Vitali Kari
ce4ad2a09f Fix for Nokia 7705 SAR (#11021)
* Fix for Nokia 7705 SAR

* fix copy and paste typo

* Update 2020_01_10_075852_alter_mpls_lsp_paths_table.php

just trigger tests

* Update 2020_01_10_075852_alter_mpls_lsp_paths_table.php

* Update 2020_01_10_075852_alter_mpls_lsp_paths_table.php

Co-authored-by: Neil Lathwood <gh+n@laf.io>
2020-04-12 01:08:15 +02:00
Tony Murray
525c4f0f8e use Eloquent mutators/accessors 2020-04-10 20:04:14 -05:00
Tony Murray
a68be76015 Make AlertSchedule::isActive work 2020-04-10 13:23:06 -05:00
Tony Murray
eac7838de9 we only need start end... we already have start/end 2020-04-10 12:32:54 -05:00
Tony Murray
6347687d54 Convert existing schedules to UTC 2020-04-10 11:25:21 -05:00
SourceDoctor
7dfb4ef1df Adding Column ifSpeed_prev, ifHighSpeed_prev to Ports Table (#11348)
* adding Column ifSpeed_prev, ifHighSpeed_prev to Ports table

* grammar fix

* rename migration class

* tests

* .

* .
2020-04-01 10:50:33 +02:00
Richard Kojedzinszky
676a120510 Database: add primary key to device_graphs (#11331)
* Database: add primary key to device_graphs

Percona Xtradb refused to INSERT IGNORE into a table
without a primary key.

* Update 2020_03_24_0844_add_primary_key_to_device_graphs.php

* Update db_schema.yaml

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-03-24 12:07:10 -05:00
SourceDoctor
5bfc44f812 Location based Alert Rule (#11128)
* Location base Alert Rule

* travis fix
2020-02-12 12:53:26 -06:00
Joseph Tingiris
6285caba52 Hide devices added for devices that existed before #11104 (#11107)
* Migrate devices.inserted to allow null values and set existng row values to null

* Hide Device Added for devices that existed before https://github.com/librenms/librenms/pull/11104

* Don't display any date that stats with a zero

* make schema match migration
2020-02-06 05:44:04 -06:00
Joseph Tingiris
79bdbe91b5 Show when a device was added and last discovered (#11104)
* Add inserted column to devices table

* Added schema for devices.inserted

* Show when a device was added and last discovered

* Added collection rule for "Device added within the last 60 minutes"
2020-02-05 14:06:43 -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
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
louis-oui
a384fc2830 Do not update alert timestamp when updating a triggered alert (#10907)
* Do not update alert timestamp when updating a triggered alert

* Only update alerts timestamp if alert is triggered or recovered

* db schema

* db schema

* cleanup timestamp update
2020-01-22 15:01:25 -06:00
louis-oui
e235c59d2f Add alert rule option to invert devices and groups "map to" list (#11038)
* Add alert rule option to invert map to
* Update 2019_12_17_151314_add_invert_map_to_alert_rules.php
* fix invert map to does not work if several groups are set in map to
* Clarify labels
* fix invert map to at rule creation
* clarify invert label
* Fix device in map to - not group
* dummy commit
2020-01-19 14:55:51 +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
Kevin Krumm
10b42137e9 Revert "Add alert rule option to invert devices and groups "map to" list (#10954)" (#11036)
This reverts commit 7a8d0b9e09.
2020-01-16 08:42:53 +01:00
louis-oui
7a8d0b9e09 Add alert rule option to invert devices and groups "map to" list (#10954)
* Add alert rule option to invert map to

* Add alert rule option to invert map to

* Update 2019_12_17_151314_add_invert_map_to_alert_rules.php

* fix invert map to does not work if several groups are set in map to

* fix invert map to does not work if several groups are set in map to

* fix invert map to does not work if several groups are set in map to

* Clarify labels

* Clarify labels

* Clarify labels

* Clarify labels

* fix invert map to at rule creation

* clarify invert label
2020-01-15 11:40:01 -06:00
louis-oui
0e3c472018 "Disable alerting" on device disables alert rules check (not just alert transport) (#11015)
* Fix disable notify

* Fix disable notify

* Disable all alerting

* fix db migration

* fix db migration

* fix db migration

* Add autoclearing active alerts if disable alerting set

* Add autoclearing active alerts if disable alerting set

* fix check

* Device in gray if disable_notify is set - not ignore tag
2020-01-09 18:46:52 -06: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 <murraytony@gmail.com>
2019-12-30 12:11:26 +01:00
louis-oui
934260cc75 Feature: Custom OID polling and graphing (#10945)
* merge

* fix db migration

* fix new auth

* fix new auth

* fix new auth

* fix new auth

* fix db schema tests

* fix polling customoid

* fix polling customoid

* fix graph

* fix graph

* fix graph

* fix CI

* fix CI

* always update prev value

* typo
2019-12-18 18:17:21 -06: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
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
699aa8a042 Consolidate configuration settings and implement dynamic webui settings (#9809)
* initial db/defaults dump

* numeric values

* Remove $config['time']

* Use config_definitions.json

* try setting definition as a complete array

* a little more

* fix format

* WIP converting dynamic setting pages

* rewriting the webui

* remove legacy and add translations

* finish email section

* improve navigation
update js a bit

* Import the remaining existing settings

* Update backend still some wip
migration

* fix config loading (db not overriding defaults)

* some cleanup

* more array collapsing

* update settings

* Settings search

* add purge settings to ui, order groups and sections

* collapse more arrays

* Auth definitions WIP

* remove needless slash escapes

* add warning to json

* moving settings from defaults.inc

* remove slow_statistics

* Move rrdtool settings to the poller section

* Use translations more consistently

* removing more settings from defaults.inc.php

* show setting name in tooltip

* allow help text to be shown on mobile

* disable settings that are set in config.php

* Implement undo and reset to default.

* Vue.js functional

* Vue.js WIP

* Implement tabs component

* accordion WIP

* lodash ver update

* two items

* Accordion somewhat working

* hash navigation

* Refine Accordion

* Fix up tab styling a bit

* Cleaner tab selected property
Hide html while loading

* spinner?

* Icon support
property for accordion to active

* WIP

* Tabs/Sections from ajax

* Setting Component skeletons

* Dynamic Component resolution

* Basic functionality

* toggle class

* Refactor components

* translate tabs and accordions

* simple array attempt

* improve readonly tooltip

* array styling

* array value editing

* organize snmp info

* Handle initial tab/section in url

* Use Laravel to parse tab/section, dump old

* Draggable array entries

* v-tooltip, for clickable (and touch) help tooltips
disable draggable

* Navigation WIP

* Navigation WIP

* groups computed

* filter settings

* fix event reference

* vue.js i18n initial

* missing description = just setting name

* en fallback

* tidy up the language support and js generation

* persist value to db

* fix issue with 0

* Delete settings from DB instead of setting them to default

* ldap-groups
fixup style

* Default dashboard selection

* fix array of options instead of object

* allow custom validation for settings

* translate options in SettingSelect

* SNMP v3 WIP

* fix setting arrays

* Split persist out of set

* Hook up events for SNMP v3 Auth
correct Config::persist behaviour with arrays

* dependent settings (primitive for now)
actually update the settings values in the LibrenmsSettings component

* more complex "when" behaviour

* remove un-needed seeder

* add poller_modules.cisco-qfp

* remove en.json (disable warning)

* don't set default for log_dir or log_file, otherwise it won't be processed correctly

* Fix module order
add some missing settings

* more config corrections

* correct graphs
correct loading values set to null (although it should have no difference)
remove project_name_version

* Add nfsen settings.  Docs are very confusing, so might have flubbed something
remove option for array definition of select option as numeric indexes messes it up

* Correct more upstream config differences

* Config cleanup after a bunch of merges.

* Fixes

* add version tags to js/css files
remove old js

* Print out full settings list read-only

* Add http_proxy setting
fix indents in config_definitions.json

* repeaters default is 0 (aka 20)

* cleanups

* rewrite the dynamic config docs

* add language docs

* Don't show snmp v3 auth add/remove if disabled by config.php
2019-10-16 21:22:05 +00:00
Tony Murray
be04388137 Store config data serialized (#10651)
* Store config data serialized
This way we can store null, booleans, and more reliably.

* Use model to get the mutated output.

* fix whitespace and unused function

* use json_encode/decode and casts
migration to transfer

* json_encode JSON_UNESCAPED_SLASHES

* Use JSON_UNESCAPED_SLASHES.  That is only relevant if you are printing into an HTML page.

* pre-encode the seed...

* filter other fields besides config_value
2019-10-06 21:51:22 +00:00
Tony Murray
7482422614 When sending email alerts use CRLF for windows clients (#10563)
* When sending email alerts use CRLF for windows clients

* Convert hard \r\n into line return in templates

* there is no down really
2019-10-02 14:08:10 +00:00
Vitali Kari
2825a7f7ec add discovery of mempool percent warning limit (#10618)
* add ability to discover percent warning on mempools discovery

* remove wierd charachters from json

* remove database defaults, add defaults for Linux and Vmware

* update db schema

* update test data

* adapt hrstorage mempools

* rebase
2019-09-30 13:22:55 +00:00
Wil Reichert
565833a69c add index to notifications_attribs (#10589) 2019-09-10 13:11:12 +00:00