Commit Graph

920 Commits

Author SHA1 Message Date
Tony Murray
568ee86eb5 Fix double escaping sysname in device dependencies (#16458)
I double checked that we aren't missing any escapes elsewhere on sysname and it looks good.
2024-09-29 16:34:12 -05:00
Tony Murray
e08571c38c Transceiver Support (#16165)
* 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
2024-09-29 11:05:44 -05:00
dasdromedar
8d2bf6ceb0 Format Oxidized update time (#16455)
* Format Oxidized update time 
Format Oxidized update time to local timezone (instead of UTC)

* extra space removal
* and one more
---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-09-29 16:00:08 +02:00
Tony Murray
36b38a50cc Fix device dependencies xss (#16447)
https://github.com/librenms/librenms/security/advisories/GHSA-rwwc-2v8q-gc9v

Create html programmatically to prevent printing user input out.
2024-09-29 14:06:52 +01:00
Tony Murray
f259edc19b Fix alert template creation xss (#16446)
https://github.com/librenms/librenms/security/advisories/GHSA-gcgp-q2jq-fw52
2024-09-29 14:02:25 +01:00
Tony Murray
6af12dbc45 Fix potential xss in edit alert transport (#16445)
Would need to be in php code, so not user editable
2024-09-29 14:00:36 +01:00
Tony Murray
ee1afba003 Fix Alert transport details xss (#16444)
* Fix stored XSS in alert transport details

https://github.com/librenms/librenms/security/advisories/GHSA-7f84-28qh-9486

* Fix password double encode
2024-09-29 13:45:16 +01:00
Tony Murray
7620d220e4 Fix alert rule name stored XSS (#16443)
https://github.com/librenms/librenms/security/advisories/GHSA-7f84-28qh-9486
2024-09-29 13:42:21 +01:00
Tony Murray
d3b51560a8 Fix device group stored XSS (#16442)
https://github.com/librenms/librenms/security/advisories/GHSA-fc38-2254-48g7
2024-09-28 19:37:46 +01:00
Neil Lathwood
b7bc6dec10 Stop showing bills that do not exist (#16423)
* Stop showing bills that do not exist

* Updated to a more efficient query

* Moved to use 404 page
2024-09-25 14:45:57 +02:00
Steve Calvário
d23ecf551d Fixed normal users UI widget AlertLog Stats (#16363)
* Fix normal users UI widget AlertLog Stats

* Add phpstan-ignore
2024-09-24 22:18:55 +01:00
Tony Murray
071076149a Improved module controls (#16372)
* Improved module controls
Ability to clear device module overrides from webui
Ability to clear all database data for a module (helpful for module you have disabled that still have data)

Database reset only works for modern modules.

* Update functions.php
2024-09-09 09:09:19 +02:00
Andy Norwood
0ae58d1883 Fix ignore check for F5 component polling and Web UI (#16329)
* Update f5-ltm.inc.php

Remove filter for ignore = 0

* Update f5-ltm-currconns.inc.php

Remove filter for ignore = 0

* Update f5-gtm.inc.php

Remove filter for ignore = 0

* Update ltm_vs.inc.php

Change component filter from 'ignore' to 'disabled'

* Update ltm_pool.inc.php

Change component filter from 'ignore' to 'disabled'

* Update ltm_bwc.inc.php

Change component filter from 'ignore' to 'disabled'

* Update gtm_wide.inc.php

Change component filter from 'ignore' to 'disabled'

* Update f5-cert.inc.php

Change component filter from 'ignore' to 'disabled'

* Update gtm_pool.inc.php

Change component filter from 'ignore' to 'disabled'
2024-09-06 10:50:13 -05:00
Tony Murray
cc22a74503 Remove global $var access functions (#16345)
* Proxmox remove global access functions

* Apply fixes from StyleCI

---------

Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
2024-09-03 19:41:13 +02:00
Tony Murray
c6cac9d90b Fix bad health sensor labels in the ui (#16350) 2024-09-03 11:49:47 -05:00
Justin Lentz
cdc360dcdb Use Device Displayname for AlertRules (#16322)
* Use Displayname for AlertRules

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-08-28 21:35:20 +02:00
Tony Murray
9e4b2fa3a3 Reject API device_add that are missing snmp info (#16314) 2024-08-27 07:08:19 -05:00
Tony Murray
35967dc98d Remove CIMC custom inventory code (#16305)
No test data and it is too complex and strange to update without data.
If someone wants to update and re-submit it, they are welcome to.
2024-08-21 12:24:30 +02:00
Zane C. Bowers-Hadley
7b98721e32 Poudriere support (#16229)
* 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
2024-08-21 01:27:26 -05:00
Tony Murray
9d35fbc6a7 Entity Physical discovery: Rewrite to modern style (#16289)
* Initial entity-physical code

* Split out Entity-MIB trait

* Cisco Cellular inventory

* Fix bad test data

* alfo80hd - we now include all entPhysical entries

* Correct aos7 test data

* Add entPhysicalClass as last resort for label in ui

* aos add previously filtered data

* Fixup arista-eos data

* Update ariast_eos data

* Arris, clean garbage in Rev fields

* Aruba Instant custom inventory ported

* ArubaOS CX add vendor type mib

* aviat-wtm test data refresh

* axos add shelf fix data fields a bit

* ciena-rls

* ciena-sds

* Skip cimc for now... no test data

* Cisco updates

* Comware data update

* Update dnos

* Clean Edgeos garbage, make code from Arris shareable

* Relaxed ifIndex match, some devices cheat and send back static strings instead of formatted OIDs

* Regex refinement and updated edgeos with new clean data

* Update edgeswitch data

* Update eltex-mes21xx data

* eltex-mes23xx

* Guess at eltex-mes24xx since there is no test data

* Update eurostor, fix firmware version

* Apply fixes from StyleCI

* fixes

* Update fortigate data

* Update fortiweb, ftd, and fusion

* Update linux LSI

* Fix hexToAscii null removal with different seperator handling

* icotera add final snmprec data to avoid snmpsim bug

* Update IOS data

* Update mrv-od

* Add junos translation

* Generic data updates n-r

* ruijie workaround snmpsim bug

* Port saf-cfm

* Recode Schleifenbauer, and fix entPhysicalIndex values

* SmartAX fixes

* sm-os and tait-infra93

* timos inventory was not right, fix it up

* ubiquoss-pon

* VRP, has custom data collection on top of normal
adapt port ifIndex lookup to handle it

* VRP exceeded the string length specified in ENTITY-MIB...

* data updates

* Final data update and code cleanup

* Apply fixes from StyleCI

* Lint fixes

* Add missing SnmpResponse->pluck() code

* Update db_schema.yaml

* Fix bad test data

* Another instant-on update

* oops

* Remove some unused code

# Conflicts:
#	includes/html/pages/device/overview.inc.php

---------

Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
2024-08-21 01:12:09 -05:00
Tony Murray
343a979f5c Remove c3kxbar (#16304)
it is very old and there is no test data for it
Could be easily added back if someone still uses it
2024-08-20 09:01:07 -05:00
Tony Murray
70c2c543f3 Plugin Update (#16291)
* Plugin Update
Extract interfaces for use in plugin packages

# Conflicts:
#	composer.lock

* Fix some issues
settings_view -> content_view
2024-08-15 15:26:47 -05:00
PipoCanaja
faac90fadc webui - More details for alerts concerning mempools and services (#16259)
Improve display of alerts_details with mempools. & servcices
* DescrForMempoolInAlerts
* more
* services
2024-08-15 10:43:48 +02:00
AdamB
c2770c6f19 Remove file differing by case only (#16280) 2024-08-12 11:24:02 -05:00
Ferris-0815
520e44b0ed F5-Loadbalancer module to support an expiration check of the installed certificates (#16217)
* On branch f5-cert-expiration-check
Changes to be committed:
	modified:   app/Http/Controllers/Device/Tabs/LoadBalancerController.php
	modified:   includes/discovery/loadbalancers/f5-ltm.inc.php
	modified:   includes/html/pages/device/loadbalancer.inc.php
	new file:   includes/html/pages/device/loadbalancer/f5-cert.inc.php
	modified:   includes/polling/loadbalancers/f5-ltm.inc.php

These patches extend the F5-Loadbalancer module to support an expiration check of
the installed certificates.

* some minor corrections to (hopefully) pass the style-check

* a few more impovements to pass the style-chek

 On branch f5-cert-expiration-check
 Your branch is up to date with 'origin/f5-cert-expiration-check'.

 Changes to be committed:
	modified:   includes/discovery/loadbalancers/f5-ltm.inc.php
	modified:   includes/polling/loadbalancers/f5-ltm.inc.php

* more style-check adaptions...
2024-07-29 14:57:37 -05:00
Jeff Engleman
903ed58fc3 add bgp peer description to alert_detail (#16233)
* add bgp peer description to alert_detail

* style

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-07-29 14:54:10 -05:00
Justin Lentz
cc6b1acfc8 Add Servicename to Alert Detail (#16249)
* Update functions.inc.php

* spaces

* tweaks

* tweaks

* I need to wake up

* I Like the colons
2024-07-29 11:53:11 -05:00
Michael
9f4e6cbf01 add in/out erros to port table (#16073) 2024-07-26 09:09:38 -05:00
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
5737e8e277 Fix list_arp API (#16243)
Failed when IP or MAC was specified
2024-07-25 22:50:58 -05:00
Jeff Engleman
8866ab3119 Add link on alert-rules page to display active alerts for rule (#16232)
* Add link on alert-rules page to display active alerts for rule

* replace ? with / per convention

* make the alert icon clickable too

* Lower the brightness of the warning rows
2024-07-25 21:43:44 -05:00
Zane C. Bowers-Hadley
8738e978ce extend update for wireguard, correct is_int to is_numeric for polling purposes, and clean up the app page (#16182)
* 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
2024-07-14 22:58:41 -05:00
Zane C. Bowers-Hadley
bc82473f8a add missing graphs for NFS app page (#16197) 2024-07-13 22:21:11 +02:00
Zane C. Bowers-Hadley
1b5f5cee37 PHP-FPM app update to handle multiple pools (#16122)
* 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
2024-07-04 15:03:45 -05:00
VoipTelCH
c55bffd712 Fixed wrong column and parameter used when deleting a location via API (#16109) 2024-07-02 02:50:56 +03:00
Zane C. Bowers-Hadley
75d4da325a add generic and improved NFS support with initial support for both FreeBSD and Linux (#15906)
* 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
2024-06-30 19:36:58 -05:00
Tony Murray
6474e1e0b8 Convert list_arp API to Eloquent (#16111) 2024-06-25 11:04:55 -05:00
schnobbc
73e6376de1 ArubaOS - Addtional support to poll Active VPN sessions (#16137)
* This commit changes two files in the LibreNMS repo, to enable polling of the ArubaOS OID that reports active vpn sessions.

The first file is the arubaos.yaml discovery file to enable polling of the following OID WLSX-USER-MIB::wlsxNumOfUsersVPN(OID: .1.3.6.1.4.1.14823.2.2.1.4.1.4.2.0).

The second file  arubacontroller_vpnsessions.inc.php is a graphing file to allow the use of this sensor on a dashboard.

* Update arubacontroller_vpnsessions.inc.php

Added newline at end of file to follow style guide

* Update arubaos.yaml

Added newline at end of file to follow style guide

* keep {{ $index }} in the num_oid and index

* Update arubacontroller_vpnsessions.inc.php

fix to match the rrdfilename change

* Added test data

* Added test data

* Removed extra file

* added variant vmc json test data

* revert arubaos.json

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-06-25 10:15:28 +02:00
Tony Murray
67851188f1 Fix incorrect port view reference (#16124) 2024-06-17 01:22:54 -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
Zane C. Bowers-Hadley
572258e0c2 add Suricata 7 support to Suricata (#16044)
* breakout handling of suricata extend v. 1 returns

* initial work for suricata 7.0.0

* add shared file for various Suricata related variables

* update handling for new Suricata stuff

* fix suricata rrd name bits

* update suricata app page a bit

* misc

* add a new v2 suricata graph

* more suricata v2 graphs

* fix app data for suricata

* more graph work

* fix initial graphs

* the page selector for suricata v2

* more cleanup for suricata stuff

* add more graphs

* add suricata_v2_pkt_drop.inc.php

* add suricata_v2_error_delta.inc.php

* add suricata app layer flows graph

* add app layer tx

* start work on bypassed

* add flow bypass stuff

* add suricata error stuff

* add more graphs

* more suricata v2 work

* ...

* add packets overview

* cleanup suricata_packets_overview.inc.php

* more work on the overview graphs

* error delta is now per second

* cleanup suricata_v2_app_layer_error_alloc.inc.php

* add new flow proto stuff

* add suricata_v2_flow_proto

* add new overview graph

* update v2 app layer flows graph

* more v2 graph cleanup

* suricata graph cleanup

* suricata_dec_proto_overview now works

* more graph work for suricata

* more graph work

* add another overview graph

* snmp fix

* add a new overview graph

* add a new over view

* more graph stuff

* more memory graphs

* tidy pages bit

* more work on decoder stuff

* more decoder work

* decoder stuff done

* cleanup suricata_packets_overview.inc.php

* appl layer tx work

* add app flow stuff

* fix suricata_v2_decoder__event__ethernet.inc.php

* fix suricata_v2_decoder__event__ipv4.inc.php

* fix suricata_v2_decoder__event__ipv6.inc.php

* add alloc error stuff

* more error related work

* more error stuff

* start work on internal errors

* add internal error graphs

* parser error stuff done

* more decoder work

* decoder icmpv4

* more decoder work

* ltnull done

* mpls decoder stuff

* nsh decoder work

* decoder ppp done

* more decoder work

* more decoder work

* more vlan work

* vntag decoder stuff done

* descr_len auto set for generic stats

* ipv6 decoder stuff done

* style fix

* style fix

* more style cleanup

* more suricata graph work

* fix require usage

* tweak drop info a bit

* add some checks for for with suricata 7.0.4

* more suricata tweaks

* fix sagan instance handling

* another minor fix

* fix improper munging

* rever something accidentally added to this repo

* add linux_suricata-v2.snmprex

* rename the metrics for instances from instance_ to instances_

* add linux_suricata-v2.json test data

* style fix

* minor munging tweak

* style cleanup

* some app data fixes

* remove a typo from test data

* add deleted_at and make sure discovered is numeric and not a string 1

* derp... json fix

* remove something accidentally added

* fix a small erorr in the test data

* add a missing variable to the test data

* try another tweak for suricata json test stuff

* derp... fix a type in the suricata poller

* revert a test data change

* re-order some the metrics in the test

* some more metric re-ordering

* add a missing status

* remove something that was accidentally added to this branch instead of another

* strcmp cleanup

* style fix
2024-06-09 19:47:15 -05:00
Zane C. Bowers-Hadley
f99f92d911 fix display of graphs on the multi-server app page for Mojo CAPE Submit (#16094)
* rename the mojo cape submit graphs, changing - to _

* update graph names on the app page for it
2024-06-06 19:53:23 -05:00
Tony Murray
51c670f109 Fix typo in device edit page. (#16096) 2024-06-06 08:33:50 -05:00
Tony Murray
fa16c025ba Fix popup toast messages (Remove Flasher) (#16090)
* Remove flasher
Just use a bit of custom code to interface with toastr js
This is able to retain our custom theme and work properly

* Fix style issues

* Missed reference rename

* Remove test code :)

* Fix a missed rename

* Fix one more missed reference

* Fix typo
2024-06-05 08:07:42 -05:00
Zane C. Bowers-Hadley
fb7bc5dd5a two minor fixes for sagan (#16082)
* two minor fixes for sagan

* more tweaks

* change how instance handling is done
2024-06-04 11:08:20 +02:00
Zane C. Bowers-Hadley
d0ca744c8a handle $app_data['disks'] not being set for SMART app page display (#16087)
* handle $app_data['disks'] not being set for SMART app page display

* style fix
2024-06-04 11:05:30 +02:00
Tony Murray
54ec98cafb API: return error when no ports found (#16043)
When looking up device ports (get_port_graphs), return an error when no ports are found.

fixes #15964
2024-05-21 22:05:44 -05:00
Tony Murray
65d13a742e Fix icmp ping y-axis over 1000ms (#16039) 2024-05-18 18:32:14 -05:00