Commit Graph

117 Commits

Author SHA1 Message Date
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
Jellyfrog
071ca9bc2a Apply fixes from StyleCI (#15698)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2024-01-04 22:39:12 -06:00
Jellyfrog
b14e2d4609 Apply fixes from StyleCI (#15101)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-13 13:35:00 +02:00
Jellyfrog
7207614437 Trim whitespaces from device data (#14429)
* Trim whitespace from sensor and ports data

* Update arista_eos_vrf.json

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update Os.php

* wip

* wip

* wip

* Update querybuilder.json
2022-10-11 12:50:38 -05:00
Tony Murray
c2761b4e12 Remove unused function (#14283)
duplicates other functionality
2022-09-04 13:04:55 +03:00
Peca Nesovanovic
59fc562d99 autodiscovery fix (#14213)
* autodiscovery fix

* much simpler approach

* murrant suggestion

* Simplify even more

* Use nullable operator

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-08-18 20:30:57 -05:00
Tony Murray
7e98e03338 Polling cleanup, fix PHP warnings (#13460)
* Fix warnings up to Arbos

* fixes a-c

* a-r

* a-vrp

* There and back again

* Update test data, couple fixes

* PHPSStan fixes

* style fixes, and fix Asyncos, whoops

* flip serial back.......

* less bogus data

* Poweralert sysName during polling too

* make sure things are calculated in the correct order

* fix style and bad nullables

* update test data

* A comple more conversions

* cambium ptp, misc, and hardware_mib

* remaining except vmware-esxi

* Fixes

* Update baseline

* fixes and fix up baseline

* adjust SnmpQueryMock to upstream options change

* data corrections

* restore slashes

* correctly handle all options input in SnmpQueryMock

* undo ftos changes

* restore vccodec sysDescr
2021-11-14 14:58:13 -06:00
Tony Murray
6b9482aa43 Only call htmlentities on port ifAlias,ifName, and ifDescr (#13489)
Allows more accurate display
2021-11-09 22:06:32 +01:00
Jellyfrog
26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
PipoCanaja
422d1195c6 fix BGP tab Exception (#12672) 2021-03-29 17:44:12 -05:00
Tony Murray
1c379dcd05 Remove legacy function calls (#12651)
* massive inlines

* fix style and wtf

* remove rrdtool.inc.php include

* fix CommonFunctions namespace issues

* looking for missing class space, fix undefined class issues

* style fixes
2021-03-29 00:25:30 +02:00
Jellyfrog
29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
Jellyfrog
82f43cb98d Apply fixes from StyleCI (#12120) 2020-09-21 15:40:17 +02:00
Tony Murray
941037e44e Convert OS discovery to new style (#12099)
* terra

* airos

* port cisco os polling
old wwan polling was broken and deprecated anyway

* enterasys

* Brother, a few changes

* AW Plus

* Fabos

* set expected test data

* 3com

* Adva FSP150

* advantech

* airos-af

* aix

* akcp

* allied

* allworx and missed mibs

* anyos

* fixup some zyxel shared stuffs
zywall graph polling

* aos

* apc

* apex

* apsoluteos

* fix copyrights

* arris

* arris

* aruba-instant

* ArubaOS

* Ascom

* asuswrt-merlin, ats

* audiocodes

* avocent

* avtech

* barracuda

* binox

* boss

* canonprinter

* cdata

* ceraos

* ciena-waveserver

* fix 3com

* fix airos

* fix brother yaml?

* fix aos more

* fix and improve apc

* fix arista test data

* yaml discovery (basic)

* cimc

* mib not used

* remove old discovery file

* ciscosat

* ciscosb fixes + improvements

* comware

* ctm

* cumulus

* cxr-ts

* cyberoam-utm

* cyberpower

* dahua-nvr

* dasan-nos

* datadomain

* dcn-software and fallback oids

* dd-wrt

* dell-laser

* d*

* e* and location

* forti, post processing, oid coalescing

* Freebsd array of sysDescr regex

* finish f*

* g*

* h*

* i* WIP

* i*

* Junos

* j*

* k*

* unix refactor previous to yaml more
inject $device

* fixes

* fixes

* l*

* m*

* n* ability to set other fields in regex
tnmsne polling to eloquent

* o*

* p*

* q* + bonus calix

* r*

* s* WIP

* s*

* t*

* u*

* v*
rework vrp to yaml (hybrid)

* w*

* x*

* z*

* a* easy no-data

* fixes

* style fixes

* missed ApexPlus

* fix signature

* Add missing location data

* rename getDevice functions

* add new cisco ftd data

* update docs

* revert sill snmp format

* fix snmp options

* update for new smartax test data

* rebase dsm

* fix voss
2020-09-18 15:12:07 +02:00
TheGreatDoc
29b09c8845 Arista EOS: Added groups and better sensor names (#11990)
* Arista EOS: Added groups and better sensor names

* Changed few sensors naming to remove redundancy

* Test files

* Better naming v2

* More rewriting and grouping

* And more grouping/rewritting

* Update arista_eos_vrf.json

* Minor code format fix

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-08-18 08:36:14 -05:00
Tony Murray
b573c9ef73 Implement OS specific information discovery (#11446)
* Implement OS specific information discovery
That way it doesn't have to be fetched during polling
Also improve discovery process, os is only detected once, in the core module.
EXA is the test os, a couple improvements there.

* Use local variable, then unset it so we don't pollute.

* fix style issues

* test and other fixes

* attribute update fixes

* Update exa data, need new source data

* null missing "os" values

* fix ftos odd character

* fix ftos odd character

* only null for new style or we will reset to null every discovery

* Move device observer to own class

* Handle location, relocate event logging

* update exa e7-2 data

* update ird test data, apparently unicode is now working.

* update Linux ntc, now uses correct icon

* Only load all os on the web, also, we can't load existing the the database isn't connected.

* only for devices that have a location

* revert ftos test data apparently

* revert ird
2020-05-14 11:27:59 -05:00
Tony Murray
f3ba8947f7 Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
Tony Murray
6ba05cdbbb Enable menu translation (#10298)
And better translation support for sensors, not complete
2019-06-04 20:03:50 -05:00
Martijn Schmidt
9455a83478 Convert OS mrv-od to yaml, discover more sensors, discover entity-physical (#10266)
* Dynamic entPhysicalIndex values for YamlDiscovery

* Use degree symbol when displaying temperature values

* Adjust SNMP options for new snmp_get_multi()

The OS polling module for mrv-od was using snmpget commands with
-Ovqs, rather than -OQUs, which meant that the equal sign was
stripped in the snmpget output. But that equal sign is now used
as the explode() delimiter so it broke the construction of the
returned array for the snmp_get_multi() function.

Additionally, I removed the NBS-CMMC-MIB:: prefix which is no
longer returned by snmp_get_multi() as part of the OID. Now,
the mrv-od.inc.php OS polling module is retrieving data from
positions in the array with actual content.

* Convert mrv-od to yaml, improve sensors discovery

Converted sensors discovery for mrv-od to yaml, retaining all
functionality for pre-cache, dbm, and temperature. Replaced specific
SFF-8472 Digital Diagnostics state sensors with generic ones, given that
we are now reading out detailed values through new dbm, current, voltage
sensors.

Reasoning: the generic Digital Diagnostics state sensors report state
diagsOk, or else the worst severity level measured among all of the
Digital Diagnostics values for that optical data point. You'd really
only want to set a generic "alarm" so the box can report that it
thinks something is wrong, whereafter a human can look at the graphs
and/or the CLI to draw their conclusions about the alarm. Otherwise,
things would quickly become too spammy as you are essentially duplicating
every sensor across both regular measurements and state measurements.

Further changes:
- Increase maximum number of detected PSUs from 4 to 8 per the MIB.
- State sensor to detect (in)sufficient power budget for all modules.
- Use skip_values to hide state sensors with the notSupported value.
- Use skip_values to hide sensors which are unsupported per the MIB,
  signified by the device returning special values -1 or -2147483648.
- Add dBm, temperature "over" graphs to the mrv-od device header bar.

* Add mrv-od entity-physical support

MRV does not use the ENTITY-MIB data format, so we had to reconstruct
the inventory from their proprietary format using the following tables
from their NBS-CMMC-MIB:

- nbsCmmcChassisTable
- nbsCmmcSlotTable
- nbsCmmcPortTable

Additionally, since sensors didn't have their own ifindex in the
NBS-CMMC-MIB, I went ahead and appended the last OID digit to
the "containing" ifindex create a unique number. The same was
done for the sensors in the yaml-discovery.

* Test data for mrv-od, fix 2* pre-commit.php issues

* Fix entPhysicalIndex returning 0 instead of null

Some unit test breakage was caused by 62167ebcb which changed
the code to return 0 instead of null when {{ $index }} was
set as the entPhysicalIndex in the YamlDiscovery. So now we
detect if it returns some value which may be interpreted as
false, and if so we set null rather than 0.
2019-05-29 13:30:33 -05:00
Martijn Schmidt
e0da083f5c New OS: Schleifenbauer, entity-physical improvements, various html page fixes (#9471)
* Fix some comment and documentation typos.

* Fix various entphysical page display issues.

- Resolve flickering during loading (missing liClosed for nested items).
- Clicking a sensor actually takes you to the matching graph now.

* Add a few nicecase() calls to clean up html page display.

* Create discover_entity_physical() function

- Add discover_entity_physical() function into includes/discovery/functions.inc.php
- This allows for an easy implementation of OS-specific entity-physical discovery.
- Update includes/discovery/entity-physical/entity-physical.inc.php to use the new function.

* Add power_consumed and power_factor sensors.

* Two new icons, make more entPhysical data visible.

* Pre-commit fix: blank line found at end of control structure.

* Add Schleifenbauer OS support.

* Now really fix the comment typo.

* Fix parsing mistakes.

* Add a generic count sensor.

* Make the Schleifenbauer discovery use count instead of state sensors.

* Don't place count sensor at the top, add sane limits for Schleifenbauer

* Finetuning the rrd_options, changing Schleifenbauer sensor names.

* Update schleifenbauer.svg

* optimize logo too

* add test data

* fix sensor value display (spaces break it)

* update entPhysicalIndex
2019-01-20 12:24:11 -06:00
Tony Murray
ef41c9fd7d Refactor FDB Tables to Laravel (#9669)
* Refactor FDB Tables to Laravel
Hopefully much better performance with large tables.
Better dns resolution (limit to 4 IPs tried per MAC)

* update style

* de-duplicate IPs

* fixed column width for mac and vlan

* Make DNS column visibility control whether or not we send the dns query.
Hide that column by default.
2019-01-20 08:43:36 -06:00
Martin Smith
e0e3e08bf6 Improved hardware/platform naming for Juniper devices (#9546)
This will make the poller try to get the hardware platform from jnxBoxDescr.0, which gives a nice string without going to rewrites.  As a fallback if that oid returns nothing, the rewrites.php file and related MIB have been updated with almost 300 other Juniper devices.

For example...
Before change: Juniper jnxProductQFX520032C32Q
After change: Juniper QFX5200-32C-32Q Switch
Fallback: Juniper QFX5200-32C-32Q

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2018-12-15 22:51:22 +00:00
Tony Murray
6242f941f6 Update Eventlog WebUI/backend to use ajax (#9252)
* WIP Eventlog table

* Initial Eventlog rework

* fromdevice is not a request parameter

* updates

* remove unneeded field

* Cleanups
2018-09-24 08:07:00 +01:00
TheGreatDoc
485dc3affb Added Basic Support for Arris D5 EdgeQAM (#9083)
DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-08-27 10:11:16 +01:00
Misha Komarovskiy
5e8a144c2d device: Add missing Extreme Networks rewrites (#8957)
* device: Sort Extreme Networks devices rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* device: Add couple Extreme Summit rewrites

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Remove duplicate
2018-08-14 00:19:07 -05:00
Andrew Steen
43a25a5edc Changed jnxProductQFX511048S4Q to jnxProductQFX511048S4C in rewrites.php (#8932)
Originally had this pull request earlier this year to add support for this: #8466 but looks like Juniper changed this at some point when the Juniper chassis mibs were updated here: #8678

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-23 22:05:16 +01:00
RobJE
6a99968e4b Brocade updates (#8611)
* update FOUNDRY-SN-ROOT-MIB to support MLXe and more

* add some (former) brocade rewrites

* improved IronWare version detection

* work around IronWare signed versus unsigned bug

* correct coding guidelines

* update FOUNDRY-SN-ROOT-MIB to support MLXe and more

* add some (former) brocade rewrites

* improved IronWare version detection

* work around IronWare signed versus unsigned bug

* correct coding guidelines

* pop spaces around mempool checks
2018-04-25 20:59:04 +01:00
Andrew Steen
2044f9bd14 device: Added QFX5100-96S8Q to rewrites.php (#8466) 2018-03-25 21:46:06 +01:00
SLMitch
2a4dd70b45 Support Brocade G620 description (#8250) 2018-02-15 22:39:14 +00:00
Misha Komarovskiy
26ce852c95 device: Add XOS X480 and X650 desc and tests (#8206)
* device: Add XOS X480 and X650 desc and tests

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* device: add XOS x480 and x650 test data

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Add missing hardware string in test data
2018-02-06 23:47:56 -06:00
Andrew Steen
a2acccd531 Add QFX5110-48S4Q to rewrites.php (#8201) 2018-02-06 14:06:12 -06:00
SLMitch
34ee5169e8 support Brocade 6610 description (#8185) 2018-02-01 12:15:25 -06:00
tukezor
0a6f113f5a device: Improved FortiManager support (#8102)
Modified with suggested changes

Test data for FortiOS
2018-01-24 09:37:27 +00:00
Tony Murray
a21a3fb2b6 feature: Added support Entity State polling (#7625)
* Entity state sensors??

* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.

* fix empty last changed, timezones, alarm parsing, and db updates

* do not display unavailable alarms (80)
add tooltip with state value

* remove debug

* Entity state sensors??

* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.

* fix empty last changed, timezones, alarm parsing, and db updates

* do not display unavailable alarms (80)
add tooltip with state value

* remove debug

* Use a discovery module and only fetch the rest of the data if entStateLastChanged is updated.

* A little more efficient sql use in the case nothing has changed.

* disabled by default, add to docs.

* moved schema file to 220.sql
2017-12-02 20:23:56 +00:00
deepseth
2cbee2dc02 refactor: Added IOS-XR Bundle-Ether shortened/corrected forms (#7283)
* Added IOS-XR Bundle-Ether shortened/corrected forms
2017-09-01 17:14:03 +01:00
Søren Rosiak
701813f3ad fix: Comware dBm Limits && Comware Sensor Descr (#7216) 2017-08-24 15:08:42 -05:00
Neil Lathwood
25d79ce9d7 newdevice: Added further sensor support for Geist Watchdog (#7143)
* newdevice: Added further sensor support for Geist Watchdog

* relaxed if check
2017-08-19 20:22:23 +01:00
Tony Murray
20b08cf595 refactor: finish logic and definition separation (#6883)
Clean up rewrites to only have function definitions
Move authentication initialization into a function
2017-07-03 15:38:58 -05:00
Frank Mogaddedi
dcc6c96ec4 feature Location map regex replace pattern only (#6485)
* Update core.inc.php

* Update rewrites.php

* Update rewrites.php

* Update rewrites.php

* Update Configuration.md

Adding "location_map_regex_sub" documentation

* Update Configuration.md

Better(?) example/explanation for location_map_regex_sub.
2017-04-24 20:06:22 +01:00
Neil Lathwood
1bbbaff58b refactor: Moved ifLabel -> cleanPort and updated the usage (#6288)
* refactor: Moved ifLabel -> cleanPort and updated the usage

* added list of tags allowed

* few updates as per comments from @murrant

* Added simple unit tests

* double display for javascript popover

* Remove ifNameDescr() function
Fix realtime port page

* remove accidental temp code

* Remove double display calls in ajax tables
2017-04-04 08:08:23 +01:00
Neil Lathwood
1ad58c4290 newdeice: Added further support for APC sensors #2732 (#5802) 2017-02-09 07:59:36 +00:00
Søren Rosiak
414efb3539 refactor: Various Code Cleanup (#5777)
* refactor: Various Code Cleanup

* moar
2017-02-05 22:37:08 +00:00
rockyluke
e90875bee1 feature: Added generic hardware rewrite function 2017-01-31 08:09:56 +00:00
Neil Lathwood
5e349685b3 newdevice: APC in-row coolers 2017-01-07 02:09:41 +02:00
barryodonovan
f7d80202e7 Extended ceraos (ceragon) discovery to graph various wireless parameters (#5014) 2016-12-07 15:24:56 +00:00
Rosiak
82efd68936 update: Juniper MIBs and Junos rewrite addition 2016-10-23 02:43:28 +02:00
Neil Lathwood
a2f2ccfd2c security: Fix some reported security issues (#4807) 2016-10-15 20:45:18 +01:00
Tony Murray
2529109fc4 fix: ports page includes disabled, ignored, and deleted ports (#4419) 2016-09-13 20:33:07 -05:00
Tony Murray
9284bc60ff Update code in includes to be PSR-2 compliant (#4220)
refactor: Update code in /includes to be psr2 compliant #4220
2016-08-28 18:32:58 +01:00
crcro
96ed9c072c run rename only for ipmi type sensors, added the power usage sensors, updated rewrite for known hosts 2016-08-10 04:55:30 +03:00