254 Commits

Author SHA1 Message Date
217969e140 Update php-codesniffer (#11368)
* PHPCS 3.5+

* Fix newly detected style issues
2020-04-03 08:41:24 -05:00
7d2a1ae799 Display custom types as in the config file (with ucwords) (#11367)
* Display custom types as in the config file (with ucwords)

* filter same line
2020-04-02 23:38:38 +02:00
69280b3501 Fix dashboard html escaping and javascript redirect (#11370) 2020-04-02 23:33:18 +02:00
e469d15493 check if lat/long exist for each device with link (#11366) 2020-04-02 10:49:28 +02:00
daf451cef7 Convert overview page to laravel (#10757)
* Convert overview page to laravel

* Convert more pages

* More fixes
2020-03-31 23:03:02 -05:00
8145e1c580 Fix bills api percentage calculation with cdr/quota of zero (#11352)
PHP allows division by zero but the api will fail when trying to encode
the response to json as reported at
https://github.com/librenms/librenms/pull/11295#issuecomment-604290389
2020-03-27 00:18:17 +01:00
a59ab553be Don't show deleted ports in device overview (#11344) 2020-03-25 15:10:14 +01:00
68f957e0bc Fix invalid paths introduced in librenms/librenms#9883 (#11337) 2020-03-24 12:48:18 +01:00
8263046c00 Builder View Fix for Collection Selector (#11290)
* Builder View Fix for Collection Selector

* change rule, to set priority on builder rule like in backend code

* builder key existance verification

* Update alert_rule_collection.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-03-24 12:11:12 +01:00
b29103441e Use format_hostname in dependencies list (#11333) 2020-03-23 19:39:46 +01:00
9802179030 Alert Rule - add Operator 'in' and 'not in' (#11327)
* Alert Rule - add Operator 'in' and 'not in'

* .
2020-03-23 08:36:44 -05:00
e320fdf1cc Better map link scaling algorithm (#11329) 2020-03-23 11:42:18 +01:00
3aa5c15f6f Fix bills api output for period=previous (#11295)
Include static fields from the bills table in the previous period output.
Check lowercase(bill_type) because the history table uses CDR and Quota.
Update SQL IF() because the bills table always uses lowercase.

Because of these changes the calculation of the fields allowed, used,
percent and overuse for period=previous is now enabled.
2020-03-20 16:21:23 -05:00
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 <murraytony@gmail.com>
2020-03-20 10:16:49 +01:00
6c4d53d5e5 Fix previous with rrdgraph_real_percentile (#11306)
start and end only work with DEF (and are already devined for inoctetsX and outoctetsX.
2020-03-19 20:12:29 -05:00
22e8b16530 Fix show rrdtool command (#11305) 2020-03-19 10:12:00 -05:00
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
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 <murraytony@gmail.com>
2020-03-13 20:58:37 +01:00
75f741ca09 form csrf missing (#11282)
The csrf field is missing and you can not list all custom oids if there are more than 10 because the form fails.
How to reproduce:
Create more than 10 custom oids and then try to go to page 2 or change the total showed on the page to more than 10.
2020-03-13 20:30:05 +01:00
1cf7e206e5 Geographical map: Show network links between locations (#11269)
* Geographical map: Show links between locations

* Fix manifest after merge conflict
2020-03-13 11:22:32 +01:00
2ee2862357 app: mailcow-dockerized postfix stats (#11058)
* app-mailcow-dockerized-postfix

* fix docs

* updated niceCase

* test-data

* snmprec upload

* new test data

* new test data
2020-03-13 10:16:03 +01:00
7fe895bd08 Revert "Refactor datastores to classes (#9179)" (#11273)
This reverts commit e5dad7a64e74a207a0dc01293aa69a366f44d055.
2020-03-11 07:52:52 -05:00
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
cc53801e22 Define Poller Duration precision to 2 (#11271) 2020-03-10 23:14:43 +01:00
c6f06ceb92 Show the plugin's name in the title rather than just "Plugin" (#11258) 2020-03-07 11:21:17 +01:00
2cfc7c6f14 Extended unbound monitoring (#11255) 2020-03-05 11:35:23 +01:00
d32273decd Graph CPU Steal and IO Wait (#11235) 2020-03-03 13:17:42 +01:00
83b1374ce7 remove dbDelete() for alert_schedule_items (#11232)
* the table named alert_schedule_items was renamed to alert_schedulables
* see migration 277
2020-03-02 20:26:39 -06:00
d2247ebda3 Running Alerts colorized depending on to their severity (#11210)
* Running Alerts colorized depending on to their severity

* extra alert styling to generic function

* .

* link from table alerts to alert_layout function

* info icon for information alert severity
2020-03-01 15:50:45 +01:00
335a238349 Open Links to external Urls (Docs) in new tab (#11227)
* Open Links to external Urls (Docs) in new tab
2020-02-29 22:53:17 +01:00
e7f587e9f0 Copy existing Alert Rule (#11195) 2020-02-26 15:07:48 +01:00
baf2f9a4ce BGP API: Add filter by remote ASN (#11204)
* BGP API: Add filter by remote ASN

* Fix blocked merge
2020-02-26 14:29:44 +01:00
6d22a885af Created add, edit, remove location and edit, remove services to the API (#11080)
* Created add, edit, remove location and edit, remove services to the v0 API and added their corresponding routes

* Changed repeating code by adding a function that checks for missing parameters

* Reduced the lines of add_service_for_host, modified a little more the missing fields function

* Changed True and False to true and false, erased an unused var called $missing

* Solved merged confict

Deleted duplicate functions generated when solving merge conflicts

* fixed more conficts

Deleting duplicate entries produced by trying to solve a merge conflict

* fixing more duplicate functions

This merge conflict created more duplicates

* Update api_functions.inc.php

* Update api_functions.inc.php
2020-02-26 11:12:36 +01:00
70fb8ef62b Remove csrf token from url when updating url in device page (#11180)
* Remove csrf token from url when updating

* oneline
2020-02-24 08:19:07 +00:00
40cac40aec Option to default open Location Map on Device View (#11167)
* Option to default open Location Map on Device View

* String set fixes

* adding lanugage files
2020-02-22 00:09:51 +01:00
441262e739 More verbose Alert Detail Fallback (#11153)
* more verbose fallback output detail

* update if statemen

* Switched

Sorry, I typed them backwards :D

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-02-19 10:34:37 -06:00
481363194d Add Size column to edit Storage Settings table (#11164)
* add storage_size

* capitalize Settings to match Device Settings, SNMP Settings, etc.
2020-02-18 22:13:41 +01:00
3838d8e41f equalize default Poller Group Naming (#11156) 2020-02-18 13:26:12 +01:00
0bc2ea1f45 Configurable Alert Rule default settings (#11152)
* configurable Alert Rule default settings

* codeclimate fix#
2020-02-15 16:18:02 +01:00
fc280ffb08 Revert "Alert Detail Ping Latency (#11140)" (#11149)
This reverts commit 082a1ee079a8007f369062f52e45ad76274d5555.
2020-02-14 11:46:56 +01:00
b47decdb00 Added add and remove parents for device from the V0 API (#11100)
* Added add and remove parents for device from the V0 API

* Fixed some minors errors (white spaces and lack of them, an unnecesary else)

* Added missing }

* Reducing cognitive complexity

* Further reduced cognitive complexity and added a check if parent device existed (it blew up when it did not)

* Refactored the code and fixed bugs (that i created) when deviceIds or parentIds where nonexistent

* Fixed } not on a new line issue

* Empty space removed

* Deleted lines added by mistake to composer.json

* removed a comma  that broke composer.json

* added the missing element in composer.json

* Added optional ids to del_parents_fom_host

Updated del_parents_from_host() so it can accept parent(s) id(s) to delete, if none given it deletes all it's parents.

* Fixing code issues on del_parents_from_host

Refactored and solved small issues with del_parents_from_host

* Refactored code del_parents_from_host

Refactored del_parents_from_host() in order to comply with the projects standard

* Added one space

Added missing whitespace

* refactoring for better readability
2020-02-13 22:28:43 +01:00
5d2d82059b Alert Rule default update (#11143) 2020-02-13 22:10:40 +01:00
1ca49a532f Change Device, Group, Location - order (#11141) 2020-02-13 12:50:18 +01:00
082a1ee079 Alert Detail Ping Latency (#11140)
* Alert Detail Ping Latency

* link to ping graph
2020-02-13 10:18:00 +01:00
9c8af206b8 Alert Rule label fix (#11137)
* New Alert Rule label fix

* title as well

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-02-12 16:55:43 -06:00
5bfc44f812 Location based Alert Rule (#11128)
* Location base Alert Rule

* travis fix
2020-02-12 12:53:26 -06:00
53dc564ef5 Puppet Agent Monitoring (#10827)
* puppet agent monitoring

* change position of last run graph

* device overview panel

* updating documentation

* mouseover for Overview Dashboard

* adding blank line for code climate
2020-02-12 08:26:02 +01:00
c8fab3a13f Add alert_rule filtering to API ROUTE "list_alerts" (#11109)
* Add alert_rule filtering to API ROUTE "list_alerts"

* move alert_rule filter before "order by"

* $_GET to $request->get

* spacing

* multiple empty-lines
2020-02-11 19:04:55 +01:00
19a82e1500 Fix inventory page hostname/sysname and default generate_device_link behaviour (#11114)
* Fix inventory page hostname and default behaviour on generate_device_link
* force test re-run
* space
* simplify

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-02-10 12:07:27 +01:00
c2dfe7b21c Renovated Alert Rules (#11115)
* Change select order from id to name

* added example icmp/snmp down rules given by @kkrumm1

* Renovated Alert Rules

* Defaulted sort by name
* Moved top buttons and results selector outside of table and aligned them with pull-left and pull-right
* Collapsed '#' (ID) into 'Type' and added titles for the icons
* Added Devices and Transports columns for each rule
* Moved Extra column next to transports
* Added icons for Enabled when a user does not have global admin
* Changed row_# variable to rule_id_#
* Some 'else' cleanup
* Added various title tags for more information when hovering
* Moved pagination outside of table and align it with pull-left and added a bootgrid style summary pulled-right
* Added table & th tags for bootgrid (but didn't turn it on)

* code climate, round 1

* code climate, round 2

* add hrefs for device & device group edit

* added trailing slash for device-groups/../edit/

* prevent #name conflict with transport modal

* add hrefs for transport & transport group edit

* use popover consistently

* code climate, round 3

* removed unused variables

* code climate, round 4

* popover variables

* reload after successful delete

* more informative feedback

* use toastr, not #message, & don't reload

* added license header & fail faster if not admin

* use (more informative) ajax error message

* delete confirmation with alert name in the modal

* print each device per line

* add href for all devices

* refresh status & enabled data-content when/if a rule is turned on/off

* use DRY style per @SourceDoctor (& my) preference); codeclimate meh

* point devices popover to the right
2020-02-10 02:06:12 +01:00