Commit Graph

2242 Commits

Author SHA1 Message Date
David Rickard
165af75419 Update RRDCached.md (#15864)
Added additional lines for selinux config to work with RHEL8
2024-03-01 00:29:53 +01:00
Tony Murray
ec9d040669 Changelog for 24.2.0 2024-02-27 12:54:09 -06:00
bnerickson
00f06c0cfb Applications.md formatting update for better readability. (#15849)
* Applications.md formatting update for better readability.

* update to restart testing
2024-02-26 14:03:42 -06:00
Skylark
851f682155 Transport - Jira transport rewrite (#15561)
* Add custom Field to Jira Payload

Allmost every Jira setup is diffenerent and requires customise information to be added to the API post.

This change will allow you add a custom fields to the '"fields": {   }' using json format.
Examples: are provided in the TransportUI

* applying StyleCI fixes

* Updating Jira transport

* Updating Jira transport

* Updating Jira transport

* styleci fixes

* Renaming variables to align with existing conventions

* Fixing imput checks to make sure values are legit

* style

* Fix minor typo

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>
2024-02-22 11:07:49 -06:00
Zane C. Bowers-Hadley
56471e63d7 add dhcp-stats tests and update for v3 of the extend (#15378)
* update dhcp polling for version 3 of the extend

* add initial lease display for dhcp

* note where I copied it from

* document the new ISC DHCP stuff

* add in displaying pool and subnet info

* finalize the docs the new dhcpd stuff

* rework the dhcp page to display more information in a cleaner manner

* now display port and device info if known for a lease

* minor comment cleanup for the dhcp page

* add tests

* do not display the optionbar if the extend is not 3+

* update dhcp-stats doc for -w

* poke includes/html/functions.inc.php with php-cs-fixer

* poke includes/html/pages/device/apps/dhcp-stats.inc.php with php-cs-fixer

* derp... add the tests and not the snmprec twice

* strftime -> date

* fix naming of the linux dhcp-stats test data files

* minor tweaks to the rest results

* test fix

* more test cleanup

* minor test fix

* set the data value for v3

* minor test tweak

* add sortable_table blade template

* no longer need render_table

* formatting fix

* add regexp to make sure the mac is sane

* style fix

* formatting cleanup

* some more formatting fixes
2024-02-21 21:33:17 +01:00
bnerickson
7c59e64b7a Socket Statistic Application cleanup and application page graph fixes. (#15845) 2024-02-21 21:31:51 +01:00
Rudolf Kleijwegt
179c6e74c3 Update http port information for virtualbox documentation (#15824)
The default port is not 8080, but 80.
2024-02-17 23:33:55 +00:00
Joel Messerli
94d3e040f5 docs: more precise OAuth group/role claim information (#15817)
While configuring SSO with Keycloak we were trying to send the scope 'roles' and were expecting libreNMS to use the returned 'groups' claim, but when reading the code we discovered that the scope name is used to access the claims.
2024-02-12 19:10:08 +01: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
richard-ririe
08ae2fdbc0 Add API endpoints to update and delete Device Groups (#15774)
* API: Update device groups

* API: Delete device groups
2024-02-05 13:02:36 -06:00
richard-ririe
4277c3387a API: Add/Remove devices from static devicegroups (#15775) 2024-01-31 13:09:14 -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
Nick Lockhart
f3e0f3eb93 Add port description API endpoints and documentation (#15578)
* Add port description API endpoints and documentation

* Change "update_port_description" behaviour to mimic webUI behaviour

* Fix code style issue

* Fix another code style issue
2024-01-22 23:07:13 +00: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
Félix Bouynot
6ccae8b2c7 Add selinux open directory permission for rrdcached in RRDCached.md (#15755)
This fix an issue with certificate application.
It's weird but the rest of librenms was working fine.
2024-01-16 18:05:21 +01:00
Félix Bouynot
681aeb6978 Missing dir read permission in sepolicy in RRDCached.md (#15754) 2024-01-16 09:27:58 -06:00
Zane C. Bowers-Hadley
19e2062893 add BorgBackup monitoring support (#15591)
* add borgbackup poller

* add borgbackup app page

* add graphs for borg backup

* minor borgbackup graph fixes and cleanups

* don't use custom colors for borg backup

* add metrics

* add borgbackup to the apps page

* add borgbackup snmprec for v1

* add test file for borgbackup v1

* add borg backup docs

* various style fixes

* add a missing key to the test data

* $total_vars -> $to_total

* remove a accidentally added space to applications.md

* test tweaks

* add no_hourly option to generic_stats

* add some more options to generic stats and don't display hourly since it is not really useful for borg backup

* style fix
2024-01-15 15:39:49 +01:00
blknight88
8bdd5c1be9 Update Rules.md (#15736)
Since 23.10.0 the currently documented SQL override rule does not work. This one I got from ChatGPT does work so far. 

For reference: https://github.com/librenms/librenms/issues/15700
2024-01-14 20:13:09 +01:00
Tony Murray
389cdcbcb2 Fix API add_device markdown (#15684) 2024-01-09 23:36:59 +00:00
Félix Bouynot
f7243f538b Add CentOS option to SMART dependency install (#15704) 2024-01-09 23:27:16 +00:00
Hamza Khan
166026d251 Add JiraServiceManagement Transport (#15593) 2024-01-08 16:49:14 +01:00
Neil Lathwood
882de1f7e1 Changelog for 24.1.0 2024-01-07 15:49:51 +00:00
Tony Murray
e7114e33f9 API add_device: Add ping_ping fallback option (#15637)
* API add_device: Add ping_ping fallback option
improve docs a little

* More docs refinement
2023-12-17 18:08:37 +01:00
VTS
45b3e0f624 add traceroute to the installed packages doc (#15645) 2023-12-15 10:06:03 -06:00
Jellyfrog
e77a9ccf82 Fix documentation formatting (#15635) 2023-12-13 11:08:42 +01:00
Peter Childs
fe144d605a fix formatting (#15616) 2023-12-04 22:54:57 +01:00
Stef
ad805f4504 more filter options for the BGP peer API endpoint (#15599)
* Add more filter options for the BGP API endpoint. bgp_descr, bgp_state and bgp_adminstate

* typo and lint

* Adress family filter would also be helpful. casting AS1234 Like inputs to plain numbers

* linting again...
2023-11-29 21:58:30 +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
Calvin Judy
6d0e079226 Update Install-LibreNMS.md (#15590)
Since php8.0, json is included by default, php8.2-json package will not exist.
2023-11-18 00:28:59 -03:00
Zane C. Bowers-Hadley
b27a3c5184 add Debian 12 to install docs (#15559)
* update install docs for Debian 12

* remove mention of debian 11
2023-11-16 22:23:20 -06:00
Tony Murray
4ef1ead450 Changelog for 23.11.0 2023-11-16 20:57:40 -06:00
Grammatopoulos Athanasios Vasileios
e3f5fa581b Update Docker docs (#15556)
* Update Docker docs

* small correction
2023-11-07 10:52:14 -06:00
VTS
47c6842b01 API: get poller group (#15493)
* API: get poller group

* missed string in doc

* return all poller groups if name/id aren't specified

* add missing doc link

* style fixes

* more style

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-11-01 22:33:35 -05:00
Peter Childs
828be4bb52 add auth_ldap_cacertfile and auth_ldap_ignorecert options (#15526)
* add auth_ldap_cacertfile and auth_ldap_ignorecert options

* style-ci
2023-11-01 20:48:44 -05:00
helppp
f7c9b230db Changed log item, source(s_sys) to source(s_src) (#15521)
This is based on the existing bug report: https://community.librenms.org/t/syslog-not-working-with-librenms-conf/20727

Proposed fix is tested and works
2023-10-30 09:28:07 -05:00
Tony Murray
6bc8a504bb Plugin update (breaking) (#15498)
* Plugin update (breaking)
A couple breaking changes regarding property types and method arguments.
Add a setting to allow plugin errors to be shown instead of automatically disabling the plugin.
All default hooks now use Dependency Injection to make it easy to get access to whatever you need (such as settings)
Add a ton of comments and examples in the PHP code.
Expand a bit on the documentation, it could still use more help
Fix a bug in the settings and page view where the included blade file was output before the page headers, etc

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-29 22:45:23 -05:00
Tony Murray
496071dbd7 Changelog for 23.10.0 2023-10-26 22:47:35 -05:00
Tony Murray
d304570c32 Redirect old install docs (#15505)
* Remove old install docs
redirect them to the current docs

* Add redirect for Debian 11 that apparently still exists?

* Clean up old links
2023-10-25 12:50:56 -05:00
Wade Fitzpatrick
27ef398907 Add alert transport for Grafana Oncall (#15330)
* Add alert transport for Grafana Oncall

* Add doc for Grafana Oncall

* Fix lint

* Fix comment lint
2023-10-18 22:24:40 -05:00
Tony Murray
0e453e5938 API: allow add device to set location (#15469) 2023-10-18 02:00:39 -05:00
bnerickson
78a4bfb9d9 Adding Socket Statistic Application Support (#15307) 2023-10-13 22:45:03 -05:00
Jellyfrog
79b9202437 Docs: Update supported OS list (#15426) 2023-10-10 13:46:07 +02:00
CTV
a6239a733b Update Smokeping.md (#15390)
fcgiwrap install for CentOS + specific nginx config for CSS/JS/Images
2023-10-08 19:00:05 -05:00
Tony Murray
087d588102 Vmware vminfo modernize (#15008)
* Vmware vminfo
Remove legacy file and migrate to OS discovery

* tighter

* ios_stp-vlans working correctly now

* Make vmwVmGuestOS nullable

* Discover os info too

* VM Info module

* Apply fixes from StyleCI

* Fix log severity

* Fix log severity (more)

* VM Info module

* Poll with ESXi too because it is lightweight
add test data

* poller data now too

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-05 19:49:26 -05:00
Tony Murray
e0444bffcf Deprecate poller.php (#15370)
* Deprecate poller.php

* Apply fixes from StyleCI

* Remove references to poller.php
Leave wrapper...

* fix python style

* update wraper to call lnms device:poll

* Quiet output too

* make pb happy

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-04 16:32:02 -05:00
barryodonovan
529b721b03 Specify radius attributes for auth roles (#15374)
* Specify radius attributes for auth roles

* Clarify that any role can be defined
2023-10-04 09:11:04 -05:00
brointhemix
1feabc04f5 Add unzip to all install docs dependencies (#15354)
* Update Install-LibreNMS.md

Composer complains that neither unzip nor 7z is installed so it would unzip using PHP which may or may not corrupt the results file. This has always worked fine for me but I guess it might be a better idea to use the "real" unzipper.

```
librenms@librenms1:~$ ./scripts/composer_wrapper.php install --no-dev
Could not scan for classes inside "vendor/dapphp/radius" which does not appear to be a file nor a folder
> LibreNMS\ComposerHelper::preInstall
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Package operations: 118 installs, 0 updates, 0 removals
As there is no 'unzip' nor '7z' command installed zip files are being unpacked using the PHP zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.
Installing 'unzip' or '7z' (21.01+) may remediate them.
```

* Update Install-LibreNMS.md

Sorted 'unzip' package alphabetically in Debian, Ubuntu and CentOS installation steps.
2023-09-27 13:11:26 -05:00
Zane C. Bowers-Hadley
9b159f8646 note the line that needs uncommented for osupdate if being used as a agent (#15099) 2023-09-25 18:47:23 -05:00
Tony Murray
3e5230013a Stable release update clarification (#15326) 2023-09-24 15:20:26 -05:00