* Add PHPUnit test for LibreNMS Discord transport
* Style
* Adding comments for methods and others.
* Refactor title, color, embedFields and footer to its own methods.
Renaming and comments.
* testDiscordDelivery includes img and html tags.
* testDiscordDelivery tests INI options
* renamed getter methods for clarity.
Refactor to includeINIFields() method.
* refactor attribute $discord_message;
* Discord.php: Bugfix "Error: Invalid Field" when discord-embed-fields is left empty.
Discord.php: Removed DEFAULT_EMBEDS (defaults are not working with text fields).
DiscordTest.php: transport config tests improved.
* Transport.md: Documented options, images and ebed fields. Better examples.
* typos
* styleCI and PHPStan
* StyleCI
* StyleCI
* Add transceivers module
Move os specific code to OS
Fix errors and updated connector names
Add RouterOS, a lot less data there.
Add Comware
Add Exa, required a transformer function (mw to dBm)
Add Junos, revision was too short
Just starting on ui
Graphs, and more ui
some polling fixes
collapse header for small screens
refactor a bit
Missed graphs
Transceivers icon inline
Use @once on popup javascript
update db_schema.yaml
Don't show transceivers in basic view
basic view could use a review
Apply fixes from StyleCI
API functions
Comware don't fail if port is missing
Apply fixes from StyleCI
Add alert rules to collection
Device Overview
Attempt to fix bad alert rule, probably needs more
Fix up Comware and remove old sensors
Mark transceiver metrics without thresholds as Unknown
Routeros cleanup
Exa cleanup
Handle missing port
Graph allow filter by channel
More translations
Add transceiver graphs to port graphs
Add Cisco support, use entPhyscial module data if available
Fix OcNos divisors
Labels on transceiver page
Show encoding if available
Hacky OcNos port mapping
Fix up Junos optics and remove old sensors
FS switch support
Metric casts to prevent thrashing
Extra transform_function support
Add link to transceivers page from overview
Change default sort to group by type, then channel
move some code out of overview blade template
Fix bad type ocnos
Apply fixes from StyleCI
Add scales to graphs
Add some test data
Default sort order for metrcis in SQL applied by default
Transceiver metrics threshold manual settings via WebUI and API
Fixes to channels verbiage
Fix severity calculations
Add cable field for SM/MM/Copper
Apply fixes from StyleCI
update test data
Show DDM
Update DB schema file
Extend serial field to 32, even though devices shouldn't be able to have one longer than 16
Missing import
Add status field to database, that way we can support snmp implementations that only return an enum
Add missing files
Fix db_schema
Fix style
Fixes
Style fix
Work around phpstan issue
Update transceivers.blade.php
Missed getStatus() call
Prevent extra dots when channels are not changed
Update module to match upstream
Save ocnos metrics as sensors
Move to regular sensors
add entity physical index
Update UI to sensors WIP
Apply fixes from StyleCI
Forgot one change
Update ui to use sensors
Remove transceiver metrics
Remove metric os discover code
fs-switch pending
Remove transceiver metrics for fs-centec
Exa link up
Revert all test data
Fix up transceiver module interface
Remove unused Convert class
comware cache and transceiver type
Fix some transceiver metrics filtering and formatting issues
Consolidate display formatting
Coalesce commare hh3cTransceiverTable walks to prevent double walk
Use group to identify transceiver sensors
Fixup routeros
Fix up cisco
update db_schema
Small addition to docs
Improve overview layout and add graph popup
Update Junos
update css files
ddm should be nullable
Increase the field length for type and model
Cisco Improve detection when there is an intermediary container
Add transceiver test data
Apply fixes from StyleCI
Fix incorrect test data
Improve display formatting
Fix test data
Apply fixes from StyleCI
Fix up more data
Fix up more data
Fix incorrect return type in routeros
Update ocnos data
* Remove some remaining references to transceiver_metrics table
* Sensors remove reliance on global variable
* Apply fixes from StyleCI
* Clear the instance instead of reset.
Remove $valid['sensors'] from docs
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* add the poller
* save text status stuff
* add initial app page stuff
* add history table and start work on graphs
* checkpoint
* re-work the poudriere graph bits a bit more
* fix the poller and start work on the graphs
* polling fix
* more work on the poudriere stuff
* poke stuff with php-cs-fix
* add some more graphs
* more style fixes
* another style fix
* add more graphs
* add Poudriere docs
* add tests data
* some minor tests fixes
* a test tweak
* more test tweaks
* some more test tweaks
* tweak .data.build_info data .data.build_info to make the app data test saner
* derp... missed a item
* add app data
* replace is_int with is_numeric
* update the docs for wireguard for the new extend
* relocate the app data bit
* update the data for the wireguard test
* start reworking the wg app page... details part done
* app page mostly done
* finish the wireguard app page
* style fix
* now sorted
* add additional info to the peer page
* style fixes
* a small fix for the links
* style fix
* make the pubkey column in details link to the peer page
* escape the pubkey
* 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>
* 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>