534 Commits
Author SHA1 Message Date
DanielMuller-TN 16584d8090 Added conditional check for rules parameter on add_device_group API function (#13353) 2021-10-11 21:08:16 -05:00
Tony Murray 0b8b97bb68 Push Notifications (Mobile and PC) (#13277)
* Update manifest and add service worker
cleanup icons a bit

* Push notifications WIP

* navigate working

* cleanup

* acknowledge wired up

* Set VAPID keys on composer install

* Component to control notification permissions.

* Allow all user option to validate

* Enable on browser load if transport exists.

* Check for transport before showing user permissions
translations

* Documentation

* style fixes

* access via the attribute model

* fix alerting test

* update schema

* cleanup subscription on disable

* non-configurable db and table for webpush subscriptions (respect system connection)

* revert AlertTransport change
hopefully phpstan can figure it out

* phpstan fixes

* Support custom details display

* Match transport names to brand's preferred display

* less duplicate id errors

* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok

* Style fixes

* Style fixes 2

* Fix alert test

* Doc updates requires HTTPS and GMP

* unregister subscription when permission is set to denied

* cleanup after user deletion

* delete the right thing

* fix whitespace

* update install docs to include php-gmp

* suggest ext-gmp

* update javascript

* Update functions.php

Co-authored-by: Jellyfrog <[email protected]>
2021-10-06 07:29:47 -05:00
SourceDoctor 6288cb6edf alert detail fix (#13335) 2021-10-05 14:35:51 -05:00
SourceDoctor 8e1b9e2989 Show Detail by default Option on Alert Widget (#13309)
* Show Detail by default on Alert Widget

* .

* change to row count length limitation

* .

* .
2021-10-03 01:12:18 +02:00
Tony Murray fafb5a62c2 Fix port links (#13296)
yes is not a valid boolean
2021-09-30 09:41:12 +02:00
Tony Murray 66dddbaa66 SNMP Capabilities (#13289)
* SNMP Capabilities
Allow all available auth algorithms to be set in global settings
cleanup other usages

* fix style
2021-09-28 18:35:59 -05:00
SourceDoctor 708d1ebb87 API Call to set instant Maintenance mode (#13237)
* API Call to set instance Maintenance mode

* .

* remove unused code

* update query

* Use recent code

* remove accidental line return

* fix duration in success string

* style fix

* Try to fix bad code merge

Co-authored-by: Tony Murray <[email protected]>
2021-09-28 21:54:52 +02:00
Nick Peelman dda46447c3 Add ORDER BY to the ports query when showing the ports list on device overview (#13276) 2021-09-27 10:34:55 +02:00
Cupid@zul ba84acc1db Fix graphs showing bps instead of pps (#13266)
* fix issue #13119

try to detect if total_units exists (variable comes from errors.inc.php and nupkts.inc.php ) as 'pps' and define graph units as such.

* standardize units_descr for both ucastpackets and errors
2021-09-23 07:43:23 -05:00
SourceDoctor 11dfbc02b7 API Call to assign/remove a Portgroup to Ports (#13245)
* API Call to assign/remove a Portgroup to Ports

* .

* .
2021-09-21 08:41:01 -05:00
SourceDoctor 0d499b538b API port search by arbitrary field (#13231)
* DB Field specific Port Search

* .

* seperate function for API Call

* second parameter now optional

* code adjustments

* Update api_functions.inc.php

Co-authored-by: Tony Murray <[email protected]>
2021-09-19 19:28:42 -05:00
SourceDoctor a8ca79152c API add_device: respond with more device information (#13251)
* Advanced Response Information API add_device

* .
2021-09-19 18:47:50 -05:00
Tony Murray 1084bd6d1a Convert all ports backend to Laravel style ajax table (#13184)
* port ports to Laravel style ajax table

* fix style

* cleanups+fixes

* correct column name

* correct port formatter

Co-authored-by: Jellyfrog <[email protected]>

* always filter deleted

Co-authored-by: Jellyfrog <[email protected]>
2021-09-19 18:26:33 -05:00
Negatifff 962e05ea6b Add sysobjectid and hardware fields into oxidized maps (#13221)
* add sysobjectid and hostname field into oxidized maps

* add app.js
2021-09-16 19:00:06 -05:00
Tony Murray f3fa2ce1e2 Fix port minigraph (#13240)
missing div close
2021-09-14 11:36:21 -05:00
Tony Murray 055895e4a5 Fix static alert rule creation failing in api (#13222) 2021-09-11 21:35:11 +02:00
kimhaak e409a22e7d Changed map functionality in device overview (#13225)
Changed map in overview page for devices so that it is possible to move and drop the marker to update position, and possible to pan/move map without marker being stuck in center, marker stays in its fixed position.
2021-09-11 16:09:57 +02:00
Jellyfrog 258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
Jellyfrog 26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
Tony Murray 94ee737f3d Allow device actions to appear in device list and improve docs (#13177)
* Improve Device menu links and documentation

* device list actions functionality

* phpstan :/
2021-08-27 22:48:57 -05:00
Tony Murray 5a1988a4c9 Fix port zoom traffic, remove question mark accidentally left in (#13172) 2021-08-24 22:43:06 -05:00
Tony Murray 8e409ba051 Rewrite ISIS Adjacency discovery/polling (#13155)
* Rewrite ISIS Adjacency discovery/polling
hopefully much faster now, do most work in discovery and just check up/down in poller.

* unused variable

* Implement option for OS override

* fix an incorrect typehint

* test data

* work around stupid migration name

* update schema

* better handling for the on-demand discovery

* more detailed phpdoc

* fix when adjacency is not found

* don't clear out data when adjacency goes away

* Adjust nullable fields

* fixes

* fix class name

* correct migration

* fix bug causing adjacency data to always be blank

* port popups for port links

* isisISAdjState does not need to be nullable

* remove extra space

* default off

* If port is missing return $text

* update schema

* Cleanup old components

* correc copy paste error
2021-08-23 21:19:55 -05:00
Tony Murray d74bb37971 Show port speed on port graphs, optionally set scale (#11858)
* Show ifSpeed on Graph
Drop ifHighSpeed, we really don't want to store that value.

* safer truth check

* Allow global setting and per-graph variable

* match surrounding case

* Style fixes

* Remove old function usage

* update schema

* remove some old usages

* cleanup more ifHighSpeed references

* update test data to remove ifHighSpeed

* fix down migration

* Add button on graph page
Change default
tweak wording
2021-08-23 06:47:44 -05:00
Facundo Caselles 8bb6eec732 Dark mode improvements (#13141)
* Changes to dark theme.
- Tables with white background now has dark background.
- Listbox in searchbar now has dark background.

* Minor change to internal css to modify all tables without 'table' class applied. (view screenshot)

* -Transparency on mini graphs on ports

* bootgrid-table td.no-results now has dark background

* Changes suggested by @Talkabout
2021-08-21 20:06:13 +02:00
Arjit Chaudhary 1fcf58a7a4 Fix layout width (#13115)
* Fix layout width

* Update services.inc.php

Co-authored-by: Tony Murray <[email protected]>
2021-08-21 00:25:13 -05:00
fbourqui fcb1f2d6fa Revert to port description on port_link in Ports-Type pages after #13143 (#13149)
* Add Port description first to Ports-Type pages
Consistent with Customers pages.
For a port to be in a Ports-Type page it needs a parsed description
(Transit, Peering, Core, Custom, ...)

* make styleci.io happy

* Revert back to display Description like b4 #13143
2021-08-19 18:14:04 -05:00
fbourqui f1dc4435e3 Cleanup Port hover minigraph description when using "Interface Description Parsing" (#13143)
* Cleanup Port hover minigraph description.
Use port_descr_descr if exists or ifDescr.
Use the same generate_port_link() in:
- Devices - Ports
- Ports - All/Errored/Ignored
- Ports - "Types"

* Port-Customers, using Ajax Controller,  Util/Url

* make https://styleci.io/ check happy
2021-08-18 13:02:01 +02:00
geg347 6dbefd4a61 Adding API route to set bgpPeerDescr field (#13056)
* Adding API route to set bgpPeerDescr field

* Fixing CI test

* Fixing CI test part 2

* Adding validation of bgpPeerId as integer and changing SQL request with question mark syntax.

* Fixing CI test

* Following murrant's advices to protect against SQL injection

* Use built in json function

Co-authored-by: Tony Murray <[email protected]>
2021-08-13 00:58:47 +02:00
Kevin Zink 93209a0fc8 API mac search (#12964)
* API find a switchport with the mac from device

* fix style

* convert SQL to Eloquent

* convert SQL to Eloquent

* git mistake

* Global use App\Models\Port

* git mistake partII

* Refractor Eloquent - Not finish but easier to help for others

* Better Eloquent Query without filter option

* Validation

* fix style

* Add filter option and DOC

* convert to the better macToHex method

* add a maxToHex unit test

* fix style

* fix style

* fix syle - seems my dev:check is running again :-)

* Fix phpStan

* phpStan #2
2021-08-09 19:33:04 -05:00
Bennet Gallein 574eb1f0f0 Billing: add peak in and out (#13006)
* feat(api): added max in/out per bill_history period

* chore(Docs): updated docs to include in/out max values

* chore(formatting): style-ci

* chore(db): update db-schema

* fix(db): reverted wrong changes in schema

* fix: wrong table name in migration

* feat(billing-history-frontend): added max in/out values to frontend bill-history

* chore: renamed to peak instead of min/max
2021-07-26 10:37:52 -05:00
martinberg 342900ee53 Poll current connections for F5 ltm (#12968)
* Poll current connections for F5 ltm

* Changed polling to a separate RRD-file

* Reverted old changes

* Remove stats not needed in this file

* Fixed typos and cleanup

* Updated copyright
2021-07-22 01:07:30 +02:00
PipoCanaja ea8a5ba555 More sensor data on inventory page (#13057)
* new display

* style
2021-07-21 17:08:24 +02:00
Kevin Zink 0cc5647915 Fix "Sub-directory Support" in small steps (#12951)
* subdir5

* fix style

* Unused LibreNMS\Config

* revert short tags

* Fix bug

Found a bug when the url doesn't end with /
I don't think CSRF is need because this form is never submitted and it just dirties the URL.
Also, I think Request:url() is nicer than url()->current() (they are the same code wise)

* Fixed the root issue instead

Fixed the real issue in #13041

Co-authored-by: Tony Murray <[email protected]>
2021-07-14 09:27:22 -05:00
Tony Murray 131f626815 Don't add %3F=yes to the url (#13041)
* Don't add %3F=yes to the url...

* introduce variable
2021-07-14 09:26:33 -05:00
PipoCanaja 29a0310c4f display metric if available only (#13023) 2021-07-11 13:03:54 -05:00
Jellyfrog f76cfb4374 Revert "Refractor health (#13022)" (#13029)
This reverts commit 16f5985f00.
2021-07-11 14:08:14 +02:00
Kevin Zink 16f5985f00 Refractor health (#13022)
* Add power consumed

* Revert "Add power consumed"

This reverts commit 424554ac04bd340de2fd962cb6808045024ef783.

* Refractor Device health sensors

* fix style

* fit style

* fix style
2021-07-10 14:31:43 +02:00
PipoCanaja 5acece54eb fix application fault detail (#13016) 2021-07-09 21:34:17 +02:00
martinberg 504fd0b248 Wrong statement used (#13001) 2021-07-05 18:38:52 +02:00
PipoCanaja 63b9896ac4 Leave it to generate_device_link for sysName/hostName/IP (#13000)
* avoid forcing displayed name, so generate_device_link decides according to LibreNMS config

* same fix for BGP display

* other generate_device_link occurences

* more

* more
2021-07-04 20:58:05 +02:00
PipoCanaja 7e2ce6179a Added VRP ICMP SLA (NQA in huawei naming) support (#12973)
* added VRP icmpAppl SLA (NQA in huawei naming) support

* style

* style

* remove unnecessary values in RRD

* enable SLA for VRP devices

* tests
2021-07-03 15:16:38 +02:00
Sean 6f7d0b2027 Fix typo in filename (#12996)
Was introduced 10 years ago by commit 63b25bb2f.
This page seems not used in any code but accessible by the URL:
https://libre.nms/device/device=1/tab=graphs/group=ipSytemStats/
2021-07-01 16:21:56 +02:00
martinberg 131f5c7e87 Option to filter Oxidized groups (#12966)
* Add support for Liebert humidity setpoint and UPS powerfactor

* Option to ignore groups so they are not sent to Oxidized

* Revert "Add support for Liebert humidity setpoint and UPS powerfactor"

This reverts commit c338528aba.

* Updated docs

* Added ignore_groups option

* Added descriptions and updated translations

* Update settings.php

* Fixed typo

Co-authored-by: Tony Murray <[email protected]>
2021-06-28 12:53:16 +02:00
rhinoau 450463f7b1 filter out NULL lat/lng values from Geographical Map display queries (#12985)
* filter out null lat/long values from map display queries

* removed space

* and the 2nd one

Co-authored-by: PipoCanaja <[email protected]>
2021-06-25 01:33:20 +02:00
VTS b6f9dd29df return api error when device doesn't exist (#12978)
* return api error when device doesn't exist

Function device_by_id_cache returns a hash table, which isn't null despite the device not existing.  This checks to see if the type has been populated to also determine if the device exists. 

Without this, the function always returns a "valid" device, even if one doesn't exist.

* use device_id instead of type
2021-06-25 00:13:51 +02:00
Misha Komarovskiy e670097bf6 API: Add api call to list OSPF ports (#12955)
Signed-off-by: Misha Komarovskiy <[email protected]>
2021-06-16 20:31:05 +02:00
Kevin Zink 0489382768 Fix "Sub-directory Support" in small steps (#12910)
* Fix "Sub-directory Support" in small steps

This fixes small parts from #12205 part 3
fixes #12205

Even someone knows a better way, for example to fix js with the url() function. In my case it works.

* Update oxidized.inc.php

* Update oxidized.inc.php

* Update oxidized.inc.php

* Update oxidized.inc.php

* Update oxidized.inc.php

* Update oxidized.inc.php

* Update oxidized.inc.php
2021-06-15 08:11:18 -05:00
geg347 672fe61b5e New module add juniper rpm support + reimplementation of cisco-sla module (#12799)
* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Fix some error due to Elequent object replacing SQL request

* Fixing indentation

* Fixed continuous integrations errors

* Fixed continuous integrations errors part 2

* Fixed continuous integrations errors part 3 : missing last new lines

* Fixed PHP Static Analysis checks

* Fixed continuous integrations errors part 4

* Fixed PHP Static Analysis checks part 2

* Trying to convert existing cisco-sla to new slas one

* Trying to add slas to fix test failure (I am pretty sure this is not enough but I don't know how to do it)

* Switching old cisco-sla module declaration to new slas module in concerned OS files

* Fixing wrong sla module name instead of slas in concerned OS files

* Fixing wrong module name sla changed to slas (as is it in power-supplies reimplementation)

* Fixing some warnings shown in the Inspection CI but skipping some that are already present

* Adding tests files from virtual Juniper VMX and adding slas modules in /tests/module_tables

* Adding missing SNMP data files

* Module Slas modifications to use inheritance

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing no value on RTT graphs

* Fixing only last SLA to be polled : problem with loops

* Fix CI errors part 4

* Optimizing a little the Juniper RPM poller part

I wanted to query only the required values but it is complicated to query a specific OID
as Cisco-SLA does because the owner and tag are hardcoded in ASCII decimal with strange values.
So I use the function snmp_walk which gets the whole OID values in text.
And I index the Juniper MIB (because we want multiple values). But I changed the DISMAN MIB
requests to get only what we want.

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing PHP Static Analysis error 2/4

* Fix CI errors

* Implementing Interfaces to fix some errors that occurs with inheritance

* Adding missing Interfaces files

* Moving generic Sla discovery code into Junos Class

* Fix CI errors

* Fix CI errors part 2

* Fixing missing definition of SlaDiscovery in Cisco shared Class

* Fixing missing import for Illuminate\Database\Eloquent\Collection

* Fix CI errors part 3

* Fix PHP Static Analysis error

* change type strings to use translations instead of config

* IOSXR test data

* remove test data garbage

* simplify discovery

* Fix style

* Updating test files to adapt mock sla_nr ID starting from 0 and not 1 : CI tests should pass

* clean up polling
add rtt field in the db
cisco icmpjitter seems to have confused a lot of values

* rtt on discovery

* use crc32 for consistent sla_nr values

* revert snmprec

* Fix style

* correct schema

Co-authored-by: Tony Murray <[email protected]>
2021-06-11 13:48:33 -05:00
ottorei 69397ea70f ISIS-adjacency polling support (#12461)
* init

* Add adjacency polling support

* Format messages

* Fix prints

* Apply fixes from StyleCI

* Fix schema

* Schema fix

* Alert rule example

* Remove display format

* Change option order

* Add test data

* Add test data

* Test data

* Review fixes

* Remove duplicate MIB-file

* Add cleanup

* Fix

* Print fix

* Remove extra cleanup

* Revert "Remove duplicate MIB-file"

This reverts commit 4b3cf8127c.

* Remove unneeded MIB-files

* Add check for empty array

* Apply fixes from StyleCI

* Review fixes

* StyleCI

* StyleCI

* Apply fixes from StyleCI

* typo

* Update function calls on pages

* Linting fixes

* Apply fixes from StyleCI

* Discovery module

* Add discovery module

* Apply fixes from StyleCI

* Update example alert rule

Co-authored-by: ottorei <[email protected]>
Co-authored-by: PipoCanaja <[email protected]>
2021-06-10 19:42:34 -05:00
PipoCanaja 96479ab9b9 Filter unwanted data in Routes Ajax reply (#12847)
* filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

cleaner fix now

* add tooltips, except when text contains 'overlib' calls

* readability

DestType lost in the game

DestType lost in the game
2021-05-25 15:39:20 +02:00