* checkpoint work for now
* polling should be good now
* re-work php-fpm some more
* re-work the php-fpm app page
* add php-fpm_v1_combined.inc.php
* add more graphs
* more work
* add last request cpu
* fix stats for pools
* more graph work
* update the docs for php-fpm
* more graph work
* more graph stuff
* graph stuff now done
* some style fixes
* another style fix
* remove a unneeded use line
* add new tests
* add some missing items to the test
* json fix
* remove start time and add data
* add nfs-shared.inc.php
* add nfs poller
* polling now works
* add nfs.inc.php page
* mount options works now
* format cleanup
* add some missing items to the stats
* commit work from last night so I can swap over to ldap
* add gauge support
* save the OS type for it
* more work on NFS stuff
* more nfs work
* display cleanup some
* more nfs work
* update docs for NFS
* add nfs_server_rpc
* style fix
* add snmprec file
* more test stuff
* data cleanup
* style cleanup
* more style fix
* another style fix
* add deleted_at
* add client_rpc_info_calls
* more test tweaks
* more tweaks
* set two items as gauges that should be gauges
* convert a few more things from counters to gauges
* a few more tweaks for NFSv4
This is to avoid the following error when trying to poll:
```
file_put_contents(/opt/librenms/cache/os_defs.cache): Failed to open stream: Permission denied {"exception":"[object] (ErrorException(code: 0): file_put_contents(/opt/librenms/cache/os_defs.cache): Failed to open stream: Permission denied at /opt/librenms/LibreNMS/Util/OS.php:113)"}
```
* 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
* Add support for a maintenance boolean in API results.
If a device is under maintenance, it would be nice to see that from the
API. This can help drive other automation workflows where LibreNMS forms
a cornerstone in the management source of truth.
* Revert changes made by VSCode formatting.
* Revert two more formatting changes.
* Create a new API endpoint for GETing maintenance status.
This uses the same endpoint name as for setting a device to maintenance
but with a GET verb.
---------
Co-authored-by: Joe Clarke <jclarke@cisco.com>
* 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
* Pretty up Slack formatting.
* Normalize spaces by turning every instance of two or more spaces into
one space.
* Allow for custom URL links even when strip_tags() is in effect by
transformaing "standard" markdown syntax into Slack link markdown
after strip_tags() is run.
* Document the changes to the Slack transport.
While here, flesh out the Slack docs to match the configuration options
one currently sees in the transport.
* Use backticks to escape things from markdown rendering.
* We don't need this other escaping now.
* Fix custom link due to line break.
* Fix spelling typo.
---------
Co-authored-by: Joe Clarke <jclarke@cisco.com>
* remove unused entPhysicalIndex_measured
* tests
* tests
* doc
* entPhysicalIndex_measured must be ports OR null currently
* Should not pass tests
* tests
* back to normal
* 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>
The @signedGraphTag section is wrong, it should not be "device_id" that fails to load, it needs to just be "device"
The server link below that is also wrong, it should not be "id", it should be "device"
* 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>
* 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
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.
* 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
* 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>