43 Commits
Author SHA1 Message Date
Tony MurrayandGitHub 32f9effd8e Device overview: direct transceiver link (#16485) 2024-10-03 00:28:09 +02:00
Tony MurrayandGitHub 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
Neil LathwoodandGitHub 146e7fc5ce Updated 'from' values for port graphs to be valid (#16416) 2024-09-20 23:54:19 +01:00
Peca NesovanovicandGitHub b2ac944b59 [webui] sort vlan tooltip by vlanid (#16266) 2024-08-03 13:06:50 +02:00
Peca NesovanovicandGitHub a346a4ad8e [webui] fix port_row.blade generate vlan link (#16256) 2024-08-01 22:19:47 +02:00
Tony MurrayandGitHub b41d1b7ffb Fix Port Channels take 2 (#16246)
* Resubmit of #16227

* Add missing new files
2024-07-26 08:45:34 -05:00
JellyfrogandGitHub e45dd59f77 Revert "Fix Port Channel (#16227)" (#16245)
This reverts commit 0d201c44c9.
2024-07-26 15:26:04 +02:00
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 <[email protected]>
2024-07-25 23:39:36 -05:00
Tony MurrayandGitHub 5ab2f685b4 Fix device ports VRF display (#16146)
impossible to display before
2024-06-28 08:45:50 -05:00
Tony MurrayandGitHub 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 MurrayandGitHub 097d4a3f94 Fix port neighbors unknown local port (#16128)
Fix issue when somehow the local port is unknown.  Likely this is faulty polling or snmp implementation.
2024-06-17 02:42:15 -05:00
Tony MurrayandGitHub 8c4caab81a Fix port pagination (#16127)
* Fix ports pagination

* Style fix
2024-06-17 02:28:36 -05:00
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 <[email protected]>
2024-06-16 11:29:06 -05:00
Tony MurrayandGitHub 1dc62454fc Show custom maps in device overview (#15985)
* Show custom maps in device overview

* remove extra line return

* Sort by name
2024-04-26 15:10:24 -05:00
Tony MurrayandGitHub 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
PipoCanajaandGitHub 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
PipoCanajaandGitHub dde970ddcf bug - Fix missing device_id in NAC tab view, round 2 (#15537)
* Revert "Fix missing device_id (#15534)"

This reverts commit f678f4c540.

* fix
2023-10-31 19:21:09 -05:00
PipoCanajaandGitHub f678f4c540 Fix missing device_id (#15534)
Missed a commit in #15329
2023-10-31 16:09:38 -05:00
Tony MurrayandGitHub 8e8fa8365e Fix missing Mac class namespace (#15447) 2023-10-12 17:09:41 -05:00
d8c372bbf4 Refactor MAC utilities into a single class (#15379)
* Refactor MAC utils to a new utility class

* Apply fixes from StyleCI

* Inline functions
Add tests
Handle bridgeid format

* Apply fixes from StyleCI

* Dedicated code path for stp bridge parsing, and improve STP output a bit

* Correctly parse dot1dBaseBridgeAddress and don't store int in bool field

* trim any unexpected character from bridge addresses, add extra test data.

* better comment

* barsBridge can handle dot1dBaseBridgeAddress correctly now

* parseBridge, check for properly formatted mac first.

* update test data, empty data = empty mac

* Fix new usage after rebase

* import

---------

Co-authored-by: StyleCI Bot <[email protected]>
2023-10-06 07:34:14 -05:00
PipoCanajaandGitHub 6ba103db68 Device NAC page to Laravel Blade (#15329) 2023-09-24 15:19:25 -05:00
PipoCanajaandGitHub 3ac0de16b2 STP - various fixes (#13773)
* Filter fix
* Add link to device for bridge address and designated root if available
2022-02-13 19:04:12 +01:00
Tony MurrayandGitHub 29bd6789cb Stp module rewrite (#13570)
* STP module rewrite WIP

* Finish rewrite

* Ignore disabled and log root/topology changes

* Remove interfaces for now

* fix style

* Lint fixes

* Document ResolvesPortIds and hide map functions

* whitespace fixes

* Revert to stpInstances in case someone writes mstp support

* missed one

* phpstan fixes

* Handle table and oids separately

* forgot to register observer

* Test data and correct non-table handling in SnmpResponse->table()

* update test

* test data

* revert aos7 silly things

* minimal polling

* Update test data

* order ports_ntp and rename new field to port_index

* forgot the db_schema

* revert ciena-sds port things

* MSTP support, maybe

* Adding test data

* Filter bad lines instead of discarding the entire snmp response
and capture fixes and test data

* fresh data

* add os data

* update data, ignore unfound ports, obviously bad device implementation.

* fixes

* Ignore context files in os detection test

* Remove empty table data

* add ciena-sds vlan

* designatedCost column is too small

* Update stp webui

* Refactor code to interfaces, to allow vendor mibs

* update schema

* fix issues added by abstraction

* STP fixes

* Default to no context for vlan 1

* never store vlan 1

* Update test data

* remove eltex brokenness

* fix style

* fix stan

* Fix Rewrite MAC to Hex padding with floats

* fix sqlite migration
2022-01-30 16:28:18 -06:00
MartinandGitHub 4696b7fc3d Fix horizontal scrollbar in device list always visible (#13653)
Rearranging the action icons introduced an overflow which forced the horizontal scrollbar to be always visible.
2022-01-06 08:58:12 -06:00
Tony MurrayandGitHub 0959df53e5 Don't use @lang() it doesn't escape the string (#13566)
* Don't use @lang() it doesn't escape the string
Found an issue where a string contained a single quote and broke the page.

* fix regex errors

* fix another style of mis-replacement

* found another issue
2021-11-28 21:17:11 -06:00
JellyfrogandGitHub 124e742518 Check if vlan->port exists (#13305) 2021-10-01 07:42:27 -05:00
Tony MurrayandGitHub c5b63bde86 New Blade Components: x-device-link, x-port-link, x-graph-row, x-popup (#13197)
* working popover

* popup component

* cleanup

* finalize device-link component

* attributes WIP

* working graph component

* widgets WIP

* More dynamic configs

* Graph row component

* Build CSS so we can use a dark theme

* graph row set columns

* only one popup visible at a time.

* Just set graph row width statically

* responsive WIP

* rsponsive option for graph-row "working"

* remove @deviceLink and @portLink

* fix non-responsive graph row

* update js/css

* fix style

* bad type?

* types

* types

* types #3

* remove testing code

* full rebel, no closing tags for meta and link

* match previous formatting

* fix vlans display

* restore newline

* remove silly comment

* remove unused line

* style I guess
2021-09-10 08:07:08 -05:00
Tony MurrayandGitHub 94ee737f3d Allow device actions to appear in device list and improve docs (#13177)
* Improve Device menu links and documentation

* device list actions functionality

* phpstan :/
2021-08-27 22:48:57 -05:00
NegatifffandGitHub b9e6a5975f add urlencode for location link in device view (#13076) 2021-07-28 10:49:28 +02:00
TheGracensandGitHub 9b627eceb0 Update latency.blade.php (#12684)
Fix devices latency tab calendar position
2021-03-31 02:02:40 +02:00
JellyfrogandGitHub 305f97161a Fix regressions from cfd9dce620 (#12344) 2020-11-24 00:16:41 +01:00
JellyfrogandGitHub cfd9dce620 Convert Virtual Machine pages to Laravel (#12287)
* Convert Virtual Machine pages to Laravel

* wip

* wip

* wip

* wip

* wip

* wip

* delete

* wip

* wip

* move powerStateLabel
2020-11-11 01:15:20 +01:00
SourceDoctorandGitHub 1bc868e781 Fix - only get shortlabel from vlan if it has ports (#12267) 2020-10-28 17:58:17 +01:00
JellyfrogandGitHub 3bfafc857f Convert Device>vlan view to Laravel (#12163)
* Convert Device>vlan view to Laravel
2020-10-14 19:40:44 -05:00
JellyfrogandGitHub 0e99b472c2 Add Blade Submenu component (#12159) 2020-09-29 23:11:05 -05:00
JellyfrogandGitHub 98e478843f Only show smokeping link if the url is configured (#11992) 2020-08-04 14:40:48 +02:00
TheGreatDocandGitHub ff3926d28e Fix latency.blade.php to show smokeping integration (#11980) 2020-07-30 00:35:34 -05:00
JellyfrogandGitHub 6dba2555a7 Convert blade to panel component (#11957) 2020-07-23 23:13:00 -05:00
JellyfrogandGitHub 2fc037ab23 Convert device notes to blade (#11952) 2020-07-22 09:18:56 -05:00
Tony Murray 0a5c3cc747 Fix Device::isUnderMaintenance() add location relation 2020-06-14 12:39:10 -05:00
Daniel PreusskerandGitHub 051d06f5d6 Fix CSRF Token in Latency tab (#11703) 2020-05-26 11:15:03 -05:00
370c7f5662 Added link to smokeping interface + smokeping options to global settings (#11610)
Co-authored-by: Daniel Baeza <[email protected]>
2020-05-20 08:25:27 -05:00
055abcf443 Device page dropdown hero button, Performance -> Latency (#11328)
* Throw some shit together, rough outline.

* Reorganize tabs, use tab controllers

* Implement performance (into the latency tab)

* Update resources/views/device/header.blade.php

Co-Authored-By: Jellyfrog <[email protected]>

* Add more tabs

* All controllers created

* Implement routes

* Implement smokeping

* routing and auth

* fix smokeping check

* Implement device dropdown menu

* Update deviceUrl to new style

* Use Gates

* Fix style

* use more appropriate gates

* add show-config gate
remove Laravel helper

* Only show vlan tab if VLANs exist for the device :D

* Fix rancid file check will return false

* revert over-zealous file name changes

* don't need to request the location parameter, just cast to string to avoid bugs when not found

* Move latency tab (ping/performance) to the position of performance instead of ping.

Co-authored-by: Jellyfrog <[email protected]>
2020-04-29 07:25:13 -05:00