Commit Graph

497 Commits

Author SHA1 Message Date
Tony Murray
b41d1b7ffb Fix Port Channels take 2 (#16246)
* Resubmit of #16227

* Add missing new files
2024-07-26 08:45:34 -05:00
Jellyfrog
e45dd59f77 Revert "Fix Port Channel (#16227)" (#16245)
This reverts commit 0d201c44c9.
2024-07-26 15:26:04 +02:00
Tony Murray
0d201c44c9 Fix Port Channel (#16227)
* Fix expandable sizing

* Temp fix: port_id_{low,high} is actually ifIndex

* new PortsStack discovery module, store actual port_ids

* Show 4 rows of ports by default

* Add test data

* Fix up the single port view too

* Apply fixes from StyleCI

* Update db_schema.yaml

* Update base migration because sqlite cannot add primary keys

* Fix phpstan failures

---------

Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
2024-07-25 23:39:36 -05:00
Tony Murray
a81a9f3cfc Fix custom map default settings error (#16236)
and config order
2024-07-22 09:24:56 -05:00
Joe Clarke
e6f02ea7ff Add support for Prometheus pushgateway basic auth (#16230)
Co-authored-by: Joe Clarke <jclarke@cisco.com>
2024-07-21 20:03:32 +02:00
Tony Murray
cf7b025fb1 Custom Maps configurable new map defaults (#16212) 2024-07-17 16:05:44 -05:00
Walkablenormal
99f72823bb InfluxDBv2 allow filter by group and disable debug by default (#16186)
* CHG: Dynamic debug flag and ability to exclude networks.

* Update config_definitions.json

* Update settings.php

* Update documentation.

* FIX: StyleCI Fixes.

* FIX: StyleCI Fixes.

* CHG: Changed excluding by network to by group membership

* Update settings.php

* Update config_definitions.json

* Update documentation.

* FIX: StyleCI Fixes.

* FIX: StyleCI Fixes.

* FIX: Fetch device data from cache.

* Add a check to see if we are trying to exclude by group before fetching groups.

* remove whitespace

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-07-14 18:17:02 -05:00
Tony Murray
e7dec574ce Change entPhysical table column defaults (#16199)
* Change entPhysical table column defaults

* Update db_schema.yaml

* Restore unrelated db_schema change
2024-07-14 11:17:10 -05:00
Zane C. Bowers-Hadley
0a184d180a add some alert template items for CAPEv2 (#16077)
* add CAPE reported = 0 && completed = 0 , nothing is processing

* add CAPE metric generation is failing for some reason and add delay for the last one

* add CAPE Criticals > 0

* add CAPE Errors > 0

* drop of the rules and convert the other to builder

* finalize rules for cape
2024-06-30 19:37:27 -05:00
Tony Murray
a37efd2876 Device Ports settings (#16132)
* Device Ports settings

* Save port settings per user

* style

* Delete user pref if it matches the defaults

* Because we are saving settings now, we must explicitly set to make the links work
2024-06-18 23:58:10 -05:00
Tony Murray
592ea1c263 Change port pagination default to 32 (#16131)
* Change port pagination default to 32
that way this includes all ports for most switches.
Most port counts are base 2, so change pagination options to match

* ignore upstream missing closure type

* Fix style again

* more
2024-06-17 09:09:33 -05:00
Tony Murray
075ba4c932 Ports UI update (#16115)
* WIP Device Ports porting to Laravel

* WIP port links

* Port Links WIP

* Port Links

* in_array -> isset

* Add request to DeviceTab data

* Add initial Pagination

* Missing select component

* Collapsed and expandable port neighbors
New expandable component

* Port sorting

* Fix port transfer

* Use menu entries to filter ports

* Add translatable strings

* style fixes and cleanup

* update css

* graph views and tidy controller
basic port link view

* cleanup

* port row blade to reuse in legacy port view

* Legacy tab url handling
work properly in subdirectory
remove includes from sub tab directory to prevent oddity

* fallback to detail list when the view doesn't exist

* Use named variable to simplify

* Fix issue from file that was a symlink

* Submenu handle sub items and query string urls

* extract pageLinks to improve readability

* fix typo

* Apply fixes from StyleCI

* phpstan was not happy using the relationship HasMany query

* Don't allow *bps etc to be on a second line

* Improve table on small screens

* Fix sort

---------

Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
2024-06-16 11:29:06 -05:00
Tony Murray
449b53d7fc Revert "fixed (#16114)" (#16121)
This reverts commit 4f6dd3af11.
2024-06-14 20:55:39 -05:00
PipoCanaja
4f6dd3af11 fixed (#16114) 2024-06-13 18:02:19 +02:00
PipoCanaja
d48fa27fbd Rename index_string to str_index_as_numeric (#15916)
* rename index_string to index:str2num

* rename to str_index_as_numeric
2024-06-13 10:00:03 -05:00
Tony Murray
7ac1b3303f ESRI ArcGIS geo map support (#16059) 2024-06-05 08:16:33 -05:00
Nicolas
c777d5429e Fix duplication of processor entries & limit length of type (#16075)
* Fix duplication of processor entries & limit length of type

* delete duplicate processor entry

* added maxLength to processor type

* shorter processor type

* forgot to regen test data
2024-05-29 14:42:05 -05:00
whitej46
eed83061e6 Add nfsen_base to config_definitions.json (#16065)
* Update config_definitions.json

Added nfsen_base so that nfsen stats feature works.  I had to add as an array as it was the way I was able to make it work, even though another type may make more sense from a user interface perspective.  I put it in order 10 as there seemed to be a gap there, but one could argue that it should be higher and other nfsen items renumbered.

* Update config_definitions.json

Fixed typo

* Update config_definitions.json

* Update settings.php

Added Default NFSen Base Directory

* Update settings.php

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-05-29 08:06:09 -05:00
Justin Lentz
a466b83438 remove enable_ports_poe (#16056) 2024-05-22 21:36:16 -05:00
Tony Murray
f0966f4d23 Widget hot refresh & worldmap cleanup (#16053)
* Iterate in javascript and separate processing

* Widget refresh/destroy events

* Remove old dom and unbind events

* fix whitespace

* Fix up bootgrid tables, they inserted a div before the first div breaking event propagation
switch to regular js function to scope variables instead of jquery

* Handle settings the same way as the normal widget

* Use standard init_map and add layer control

* May need L.Control.Locate now

* Set maxZoom for marker cluster

* Try setMaxZoom

* worldmap size 100 and resize on refresh/widget resize

* Add resize event (and throttle it a bit)

* Further worldmap cleanup

* Move most javascript to common js, will cause js errors until page is reloaded, but better in the long run
2024-05-22 21:23:39 -05:00
Justin Lentz
df6a42f2a3 Remove device_perf_purge (#16057) 2024-05-22 12:18:42 -05:00
Tony Murray
0d246a6ffc Custom Maps: geo map and color backgrounds (#16020)
* Custom Maps: geo map and color background
tabs blade component
geo-map blade component and related script enhancements

* Update css/js

* style fixes

* update db_schema.yaml

* fix db_schema hand edit

* ignore phpstan being wrong

* Handle null

* another possible null spot

* Use standard file cache for custom map background images

* Create map->image as jpeg so we can compress it

* whitespace fix

* Fix background cancel button when other type is selected than the saved type

* Save and restore layer

* Map must exist before creating static image

* Don't show set as image button for Google and Bing.
Bing gives an odd error, but Google won't work.
2024-05-13 08:12:59 -05:00
Tony Murray
f78edf4d11 New Map Menu (#15969)
* Map Menu
New top level Map menu.
Ability to group custom maps.
Ajax Select controller improvements

* Fix style
2024-04-25 15:32:33 -05:00
Tony Murray
613fd18511 packet_loss macros quick fix (#15961)
* packet_loss macros quick fix
Due to device_perf table going away, this macro no longer functions as it did.
Use device status to make it somewhat functional until a better solution can be found.

* remove space
2024-04-20 09:26:51 -05:00
Tony Murray
49f8269262 Improved Latency graph (#15940)
* Improved Latency graph
Store loss+jitter info in rrd instead of database
New graph icmp_perf (legacy ping_perf still valid referencing part of the newer data)
Delete device_perf table

* Change loss to an area so it is more visible

* Style fixes

* Cleanups from phpstan & tests

* exit_code fix

* Remove alert usage of device_perf

* Don't use magic __get

* Add test for bulkPing
Add host to previous tests

* style fixes

* Fix issue fping error responses
2024-04-18 09:57:01 -05:00
OSIRIS-REx
393e954664 Added support for new device OS Westermo WeOS (#15674)
* Added support for new device OS Westermo WeOS

updated high limits

* Removed config regarding discovery and polling modules

* First test with moving sensor discovery to YAML

* Updates to discovery snr sensor, new test data, deleted sensors written in php

* Fix for SNR discovery sensor descr

* Removed shdsl from bad_iftype

---------

Co-authored-by: OSIRIS-REx <sphinxes@protonmail.com>
2024-04-10 18:14:11 +02:00
Heath Barnhart
d457f92f22 devices - Ciena RLS 6500 (#15909)
* rls definition
* Adding discovery
* Temp Sensor Discovery
* files for discovery
* Adding and updating MIBS
* Add snmpsim
* Modified yaml for unit test
* phpfmt format
* ci changes
* fixing temp sensor
* fix json
* db schema out of date causing bad snmpsim json
* changed temperature discovery to php
* With updated snmpsim data
* index_string restored, YAML for temperature
* style
* Fixed index_string usage in JUNOS files
* Update YamlDiscovery.php
Allow filtering on "index" in skip_values
* Move DBM to YAML as well
* style
* schema update
* Slot XX Yyyyyy
remove unwanted dot
* matching tests
* schema, round 2
* states in YAML
* put temp sensor back in yaml
* enable default poll and discovery modules
---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-04-01 18:52:03 +02:00
PipoCanaja
8c4205c614 refactor - remove unused entPhysicalIndex_measured (#15892)
* remove unused entPhysicalIndex_measured
* tests
* tests
* doc
* entPhysicalIndex_measured must be ports OR null currently
* Should not pass tests
* tests
* back to normal
2024-03-19 10:24:07 +01:00
Justin Lentz
10f4024d6a Update config_definitions.json (#15895) 2024-03-14 01:35:38 +01:00
Walkablenormal
c855d6c2fe Support for InfluxDB V2 API (#15861)
* Addition of influxdb-client-php to Composer.

* Addtion of InfluxDBv2 support.

* Addition of front-end options.

* Addition of documentation.

* Addition of the acknowledgement of the PHP library used.

* Fixed a unneeded bracket.

* Addition of a basic datastore test.

* StyleCI fixes.

* StyleCI fixes.

* StyleCI fixes.

* Fixed exception class.

* Revert accidental change.

* Fix to composer lock to not update all packages.

* Fix to composer lock to not update all packages, but still include the new Influx lib.

* Another attempt at getting Composer to behave the way I think it should work.

* Fixed merge-conflict in Composer due to #15869.

* Update composer.json

* Update composer.lock

* Update composer.json

* Update composer.lock

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-03-07 12:26:21 -06:00
eskyuu
cb09ae0d54 Additional custom map features (#15806)
* Added options on edges for a label and to show graphs as bps as well as percentages

I think that vis.js needs to be updated to allow both bps and percentages at the same time.

* Add database migration

* Try to avoid putting multiple mid points in the same position

* Added a URL parameter for screenshot mode, where node labels are blanked out
Also fixed up the node labels in the editor

* Added legend to the editor as well as database options for reversing arrows and adjusting the edge separation

All features have been implemented in the editor, but need to be implemented in the viewer

* Fix missing defaults on the edit map list page
Added arrow reverse code to the viewer
Added legend code to the viewer
Added code to the editor to correclty handle moving the legend

* Formatting fixes and DB schema update

* Remove view from database schema
2024-02-07 11:42:35 -06:00
SourceDoctor
11246ca8e1 option to ignore device status (#15697)
* option to ignore device status

* .

* .

* schema update
2024-01-31 13:18:34 -06:00
eskyuu
30953c386f Add functionality for custom maps (weathermaps) (#15633)
* Initial commit with editor.

* Added custom map models and database migrations.
Modified the controller and view to support saving the custom map settings to the database

* Added menu items and sorted out access permissions for maps and nodes

* Cleaned up some of the conditions in the javascript section of the blade

* Started work on the map data save

* Save of map nodes and edges is complete

* Got the map to load data on page load and added the delete functionality

* Fixed a typo and made link colour black if intertface is down

* Various usability fix-ups

* Show the save button on node and edge delete

* Fixed up access for users without global read

* Increase typeahead search size and standardised the way modals are triggered.

* Update data fetch to copy values into array so I can add more fields

* Convert blank array check to use count()

* Formatting changes

* More formatting fixes

* Formatting again

* DB schema update

* Revert previous commit

* Pass device id to pages

* Remove bad characters from javascript

* Re-add the - character in search results

* Update to avoid background colour being set to the current colour for offline devices

* Fixed a bug in speed detection when no suffix is given

* Fixed up the speed colour calculation and added comments

* Update default edge font size to 12

* Reduce arrow size

* Formatting fix

* Update the custom map controller to handle null interface speeds

* Alter JSON columns to be longtext instead

* Only refresh map data on successful save

* Update labels on default settings to make it clear that they are not saved

* Added timestamps to all custom map tables
Use HasFactory instead of static definitions for custom map tables
convert JSON DB fields to longtext and updated PHP to do the appropriate JSON decoding as a result

* Added missing vis.js images for the editor

* Split the custom map blade into different pages

* formatting fixes

* Initial commit with editor.

* Added custom map models and database migrations.
Modified the controller and view to support saving the custom map settings to the database

* Added menu items and sorted out access permissions for maps and nodes

* Cleaned up some of the conditions in the javascript section of the blade

* Started work on the map data save

* Save of map nodes and edges is complete

* Got the map to load data on page load and added the delete functionality

* Various usability fix-ups

* Show the save button on node and edge delete

* Fixed up access for users without global read

* Increase typeahead search size and standardised the way modals are triggered.

* Convert blank array check to use count()

* Formatting changes

* More formatting fixes

* Formatting again

* DB schema update

* Revert previous commit

* Pass device id to pages

* Remove bad characters from javascript

* Re-add the - character in search results

* Update to avoid background colour being set to the current colour for offline devices

* Reduce arrow size

* Only refresh map data on successful save

* Update labels on default settings to make it clear that they are not saved

* Added timestamps to all custom map tables
Use HasFactory instead of static definitions for custom map tables
convert JSON DB fields to longtext and updated PHP to do the appropriate JSON decoding as a result

* Added missing vis.js images for the editor

* Split the custom map blade into different pages

* Updated the custom maps to use the select2 searches for ports and devices

* Fix port search clearing with select2

* Update DB schema to add timestamps

* Add the ability to set a node alignment value where nodes will align to a grid

* Add a checkbox to re-center edge lines

* Schema update for node alignment

* Removed unused route

* Fixups after rebase

* Remove DevicePortSearchController

* Rebase fixups

* Remove unneeded controller

* Formatting fixes

* Update all network map documentation

* Fixed typo in doc

* Change background imgae database migration

* Update migration for custom map background to fix schema error

* Place a try/catch around the BLOB->MEDIUMBLOB migration

* Formatting fix

* Moved custom map background image location and added some SVG images to test as image options

* Updated the editor to use a static set of device images

* Update the image logic in the editor and added to the viewer

* DB Schema update

* Formatting

* remove svg height/width attributes

* Added some more icon options for arrows

* Added database migration to allow nodes to link to another custom map
Fixed an error in the image migration

* Added the ability to link a node to another custom map

* Formatting fixes

* DB Schema update

* Remove images-custom directory

* Explicitly cast map ID to int

* Made the image selection list dynamic based on the contents of the custom map icons directory

* Formatting fix

* Double-clicking on a link will take you to the link

* Remove whitespace

* Add translations
fix an xss and hopefully not add any new ones
refactor node image to use translations with fallback

* split modals out into separate files
return width/height to avoid js scope issues

* Formatting fixes

* refactor edit select page into a "manage" page
Still left:
validation/custom request
Controller refactor
ui tweaks

* MapSettingsRequest

* Refactor more routes, policy, controller
I think this is the last refactor. Everything is now organized in a standard way.
Missing a method to check if a user has access to a map

* Fix booleans and style

* Add versioning to the background image to prevent browser caching

* Fixed the background image update by splitting it into a separate modal
Changed the delete button on the map editor screen to return to the map list

* Formatting fix

* Added double-click actions in editor to edit nodes and edges

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-01-31 08:56:59 -06:00
PipoCanaja
a7a6e67e87 NAC - Improve search in WebUI - Keep Historical data (#15629)
* search improvement for PortNac

* rename func

* style

* DB migration for timestamps

* style

* rules

* fix manually db_schema

* remove vlan only search for now

* add a bool column to ident historical nac entries

* add columns to the table

* queryByOui renamed everywhere

* age value instead of delete

* style

* style

* use Illuminate\Support\Facades\DB;

* tests fix

* module_tables.yaml

* dump model instead of tests/module_tables.yaml

* tests

* testVrp

* daily

* config

* display historical NAC entries in global view

* same for NAC device page

* nac tab on device/port view

* and display the tab link if necessary

* filter by port as well

* historical data in port tab

* formatters
2024-01-24 09:15:40 +01:00
Tony Murray
1a36a25f25 Fix twofactor default value. (#15772)
Showed enabled in the webui, when it was actually disabled.
2024-01-22 21:37:31 +00:00
Neil Lathwood
7325995954 Updated bill_data table, alter indexes and add new column (#15751)
* Updated bill_data table, alter indexes and add new column

* Added missing <

* Removed first

* Moved column in bill_data

* Updated schmea changes

* Updated schmea

* Updated migration

* Use id alias

* index after and only index

* Update and rename 2024_01_09_223917_bill_data_new_column.php to 2024_01_09_223917_bill_data_new_primary.php

* Trying these schema changes

* Another go

* And another

* Debugging

* Revert change

* Revert changes + debugging

* Updated schemas again

* Trying to rename column name

* Updated db_schema.yaml

* renamed column back to id

* Added debugging

* Added debugging

* Added debugging

* Added debugging

* Added debugging

* Remove redundant primary id

* Remove var_dump

* Remove var_dump

* I swear

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-01-22 06:35:36 -06:00
Stef
5733942aa2 WebUI - Alert Rule Editor: new notes field (#15631)
* add a new notes field to the rule editor. use a bigger text field for sql queries to avoid mistakes...
* add api doc
* allow notes field from the collection
* add a sample notes to the collection
* lint and db schema
* unmix some schema changes from a nother PR
* unmix schema update No°2
* unmix schema update No°3 - silly me
* add strip_tags, minor optimisation, db default value
* apply linting
* db_schema empty '' as default
* update db_schema.yaml
* default value changed as 'BLOB, TEXT, GEOMETRY or JSON column 'notes' can't have a default value'
* better keep the migration in 2023...
* Update 2023_12_12_171400_alert_rule_note.php
* Update create-alert-item.inc.php

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-01-17 09:09:19 +01:00
Tony Murray
2a7892b4cc Add isis module to os schema (#15710)
* Add isis module to os schema
Helps for enabling os.<osname>.isis true via lnms config:set
* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2024-01-08 19:49:57 +01:00
TvL2386
956b7af095 Fixed typo in misc/alert_rules.json with regards to "Space on ..." alerts (#15708)
* fixed typo
* restore double quotes 
`\"/\"`

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-01-08 18:42:32 +01:00
PipoCanaja
b12ee04bda bug - timos MPLS - more poller fixes (#15624)
* fix 1, ErrorException: Undefined array key sdpFarEndInetAddress in /opt/librenms/LibreNMS/OS/Timos.php:584

* fix2: don't try mplsSdpBinds polling if prerequisites not met

* fix 3: ErrorException: Attempt to read property lsp_path_id on null in /opt/librenms/LibreNMS/OS/Timos.php:790

* style

* fix phpstan

* schema_update

* schema

* migration_style

* migration drops and recreate

* migration drops and recreate

* migration drops and recreate

* style
2023-12-17 20:15:46 -06:00
Tony Murray
db1e28c040 Mark old alert email settings as deprecated (#15650)
Use the mail alert transport instead, it can now handle all use cases of the old "contacts" code
2023-12-15 09:59:19 -06:00
Tony Murray
917aa743f9 Add bad port settings to webui (#15649)
* Update manifest

* update regex text

* remove unused translations
2023-12-15 09:39:16 -06:00
amyjohn000
a8480e5e0a Update the type of nummonbssid column in the access_points table (#15647)
* Update the type of nummonbssid field in the access_points table
* Update 2023_12_15_105529_access_points_nummonbssid_integer.php
Fix format errors
2023-12-15 09:16:46 +01:00
Peter Childs
90927be973 Add support for Okta Group claims to set Roles (#15592)
* Add support for Okta Group claims to set Roles

* styleci changes

* make Stan happy
2023-11-27 20:38:41 -06:00
Justin Lentz
d61c71bcbe Change default graph image to SVG (#15586)
* Update config_definitions.json

* Update Rrd.php
2023-11-27 18:43:15 -06:00
AdamB
a61c11db7e Make vminfo.vmwVmGuestOS wider (#15595)
With tools installed, the string provided by ESXi contains a lot more information. In 8.9, Red Hat have further extended the string to include a machine readable string, parsable by tools that are compatible with OVAL:

Linux 4.18.0-513.5.1.el8_9.x86_64 Red Hat Enterprise Linux 8.9 (Ootpa) 8.9 Red Hat Enterprise Linux 8.9 (Ootpa) cpe:/o:redhat:enterprise_linux:8::baseos
2023-11-22 22:53:19 -03:00
not-known
cf69a00cd0 Add option to disable the send of acknowledgement alerts. (#15208) 2023-11-13 21:56:06 -06:00
Justin Lentz
678213fa15 Remove api_demo config setting (#15563)
* Update settings.php

* Update config_definitions.json

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php
2023-11-11 00:26:37 -06:00
Tony Murray
7c006e9625 Disable GET login by default (#15558)
* Disable GET login by default
GET login allows users to put username and password in the url, this is helpful for displays where you cannot login interactively.
Unfortunately, the plaintext password will be in the access logs.
GET login also allows brute force attacks against your install.

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-11-07 16:25:28 -06:00
Tony Murray
cefbe901e4 Wifi module does not exist anymore, delete (#15549) 2023-11-05 20:24:59 -03:00