Commit Graph

699 Commits

Author SHA1 Message Date
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
PipoCanaja
ce89f5b410 APC - runtime discovery, apply divisor (#16441)
* fix for discovery

* snmpsim for sensors after #16435

* and tests

* fix RuntimeBattery
2024-09-28 11:05:44 -05:00
Tony Murray
0a5c174f4f Fix test regressions introduced while tests were broken (#16399)
* AuthSSOTest: clear roles cache

* PollingJob: When a poller module doesn't exist, return null instead of false.  Skip all other checks and disable polling in that case.

* Sensors: Guess high and low limits separately as needed

* Sensors: drac test psu current data was wrong, referencing the snmprec, 8 / 10 and 0 / 10 should be the values
NOTE: drac is messed up and runs a billion snmp queriess for no reason

* please phpstan

* Sensors: limits reference old code
move to "creating"

* Fix gw-eydfa accidental assignment

* Fix ies5000 test data now that the bad state is removed

* Fix ies5000 test data part 2

* Move sensor discovery reset into discover_device()

* infinera remove duplicate sensor (also a lot of trailing whitespace apparently)

* Fix innovaphone bad yaml discovery

* module tests should be using null when test data doesn't exist, not an empty array

* When discovery or polling is not supported, dump null instead of an array.
Account for nulls in testing

* update ISE serial

* Janitza was seemingly wrong before

* Remove some private data

* bgp-peers requires ipv4-addresses and ipv6-addresses for bgpPeerIface

* fix polycomLens broken state sensor discovery

* Raritan pdu and pdu2 test data was combined in one test file, split it out

* scs-ks duplicate temperature sensor indexes

* sentry3 someone tried to avoid breaking stuff but just broke things more

* smartos-dcp-m fix incorrect numeric oids

* ssu2000 apparently test data was wrong, must have fixed a bug in the code.

* timos remove duplicate dbm sensor definitions

* bgpPeerIface is working in tests now

* Fix moxa-etherdevice when mibs are a bit different

* xw_to_dbm negative values should return null

* Update cisco test data due previous fixes/changes

* One more bgpPeerIface

* Add orderBy to ospf module db dumps

* Remove links test data for now

* Improve handling of bad data in ipv6-addresses module
2024-09-23 10:11:05 -05:00
Shane Mc Cormack
5e9e1e9c95 Fix detecting stacks in unstacked switches. (#16384)
Fix #16374
2024-09-10 21:54:52 +02:00
Tony Murray
f54e38f4fe More cisco state fixes (#16369)
* More cisco state fixes
Turns out it was fetching values as strings.  Swap to SnmpQuery and fetch the data numeric as expected

* Apply fixes from StyleCI

* update MIB too

---------

Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
2024-09-06 18:49:55 -05:00
Tony Murray
0b9312a77a Fix some issues with cisco entity sensors (#16365) 2024-09-06 10:46:52 -05:00
Tony Murray
f15f8fa63a Sensors remove reliance on global variable (#16344)
* 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>
2024-09-03 21:04:34 -05:00
makriska
4efad1ae69 Fix handling of zero value for entSensorThresholdValue for dbm cisco sensor (#16336)
* add handling of zero value for entSensorThresholdValue for dbm sensor type

this addresses https://github.com/librenms/librenms/issues/16335
* Update cisco-entity-sensor.inc.php
* safe check for $key['entSensorThresholdValue']
* style
---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2024-09-03 21:39:05 +02:00
Tony Murray
03d3660dfa Fix Cisco entity-sensor (#16351)
* Fix Cisco entity-sensor
make mw_to_dbm and uw_to_dbm handle negative numbers

* fixes and update test data
2024-09-03 09:02:02 -05:00
Tony Murray
d8097b0c21 awplus sensor fixes (#16348)
* awplus sensor fixes

* Update test data
2024-09-02 22:26:02 -05:00
Tony Murray
64c0d6ff7f Ignore entity-sensor invalid values (#16347) 2024-09-02 21:44:29 -05:00
Tozz
22a8a237e8 Add value 0 to HP Physical Drive Status (meaning no disk is inserted) (#16211)
* Add value 0 to HP Physical Drive Status (meaning no disk is inserted)

* Updated test data

* Updated test data

* Update hp.inc.php
2024-07-17 17:42:08 +02:00
Tozz
9abfa7b0e6 Fix FortiGate Cluster Sync status (#16206)
* Fix FortiGate Cluster Sync status

* Update fortigate.inc.php

* StyleCI

* Tests

* Update fortigate.inc.php

* Add files via upload

* Delete tests/data/fortigate_500d.json

Weird unrelated OSPF test failure

* Re-add fortigate_500d.json

* Fix author/copyright

* Update fortigate.inc.php

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-07-17 01:19:08 -05:00
Tozz
b0c7fe8c8d Revert "Fix Fortinet HA-status polling state translations (#14921)" (#16202)
This reverts commit 531009983c.
2024-07-14 17:30:30 -05:00
Frederik Kriewitz
5e3cfd879d nut-ups: adjust Line Nominal limits (#16180) 2024-07-07 12:57:20 +02:00
Nicolas Berens
137bd231f9 Update axis detection (#16130)
* add PTZ and Dome Cameras

* remove default temperature limits

* set temperature limit per device type

* fix linting

* add test data

* set original limits as default and use integers instead of strings
2024-06-24 19:50:05 -05:00
Tony Murray
04a70d2fda Update Dell MIBs (#16120)
* Update Dell MIBs
tidy up some related code a bit too to make it more readable

* handle extra data correctly (discard it)
2024-06-14 22:33:51 -05:00
Guy Lowe
3f6958706d Move sentry3 current/voltage/power sensors to YAML (#15715)
* Move sentry3 current and voltage sensors to YAML, add power to YAML, fix voltage for three-phase

* Sentry3: add systemTotalPower and systemPowerFactor

* sentry3: note that voltage and power factor are configured, not measured

* sentry3: group names to indicate sensors which are configured, rather than measured; prefix current index with infeedID to match previous PHP discovery

* sentry3: add ouprefix to outlet current to match previous PHP discovery index

* sentry3: restrict to recording voltage to only the first feed of each tower, to match previous indices

* sentry3: add snmprec from 3-phase CS-24V4-P32MA

* sentry3: attempt to fall back to Infeed

* sentry3: laravel blade fallback fix

* update tests instead of trying to fall back to old-style descriptions

* sentry3: update expected voltage in test, too

* typo

* fix test

* fix outlet OIDs ; update snmp test data with missing names ; regenerate test output

* add missing num_oids for power

* num_oid requires index, even for system-wide values
2024-03-24 16:47:42 +01:00
AdamB
d90a704fcb bug - Fix OSes 'Junos' and 'Hirschmann' misuse of entPhysicalIndex (#15886)
* Increase the column width of entPhysicalIndex and entPhysicalIndex_measured
* Update schema
* Remove unchanged change
* Update test data
* Remove migration and update test data
* Fix hirschmann and junos
* One too many
* Potentially incorrect usage
* Another potentially incorrect usage
* Revert changes to cisco and dell
* Test data changes for loop-telecom and ups-nut
2024-03-12 08:15:15 +01:00
Tozz
718abd47de Fix for FortiSwitch RPM/percentage fans (#15829)
* Update entity-sensor.inc.php

* FSW Test data

* FSW Test data JSON

* StyleCI

* Update fortiswitch.yaml - Correct state sensor index

* Update fortiswitch.yaml

* Add files via upload

* Fix sensor value at discovery
2024-03-05 00:11:04 +01:00
Rafael Pardim
10c3f7ae94 F5 BIG-IP state and count sensors (#15865)
* F5 BIG-IP state and count sensors

* F5 BIG-IP state and count sensors
2024-03-03 22:48:21 +01:00
Peca Nesovanovic
eb6006248f Rewrite ups-nut discovery to SnmpQuery:: (#15850)
* modernize and move ups-nut to unix

* fix test data (group and invalid runtime)

* add Battery Temperature to test data

* lnms dev:check style
2024-02-26 17:48:40 +01:00
Peca Nesovanovic
8f2444f782 Rewrite lmsensors discovery to SnmpQuery:: (#15833)
* rewrite lmsensors discovery to SnmpQuery::

* change group name to lowercase (lmsensors)
2024-02-21 12:15:14 -06:00
Peca Nesovanovic
07ba563ed2 konica printers additional counters (#15826) 2024-02-14 06:51:21 -06:00
Peca Nesovanovic
5769d7356e initial support for Eltex mes24xx (#15816)
* initial support for Eltex mes24xx

* style ci
2024-02-11 17:54:10 +01:00
Nick Hilliard
265f3daed5 Add LRT-C / LCM-B / LRS-D / LCM-B modules to Luminato model (#15812) 2024-02-09 18:32:46 +01:00
Peca Nesovanovic
6057053963 [rfc1628] Add UPS Test (battery test) status sensor (#15802) 2024-02-05 00:24:47 +01:00
Tozz
566619b2a8 device - ArubaOS-CX VSF state sensor support (#15793)
* Create ARUBAWIRED-AAA-MIB

* ArubaOS-CX MIBs

* ArubaOS-CX Test data

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Style CI

* Style CI

* New test data

* Add files via upload

* Add files via upload

* Only translate the VSF sensors

* Style CI

* Update arubaos-cx.inc.php

* Add files via upload
2024-02-04 17:19:20 +01:00
rudybroersma
7292662038 Add FortiGate DHCP Scope usage percentage sensors (#15727)
* Update fortigate.inc.php

* Add percent sensors for DHCP Pool usage (per vDOM)

* FortiGate 40F JSON Test Data

* FortiGate 40F JSON Test Data for DHCP Usage sensor

* Style-CI Fix

* Style-CI Fix
2024-01-11 08:52:06 -06:00
rudybroersma
8d791f5c05 Add FortiGate license status sensors (#15722)
* FortiGate 40F JSON Test data

* FortiGate 40F SNMPrec Test Data

* Add license expiration days state sensor

* Add FortiGate license expiration count sensors

* Update FORTINET-FORTIGATE-MIB

Update to version 2023-07-21
2024-01-10 09:11:10 -06:00
Jellyfrog
071ca9bc2a Apply fixes from StyleCI (#15698)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2024-01-04 22:39:12 -06:00
sarcastic6
c1c20ef1e3 Add support for RoomAlert 32S device (#15676)
* Initial attempt to add AVTECH RoomAlert 32S support

* Add RA32S test units
2023-12-30 18:47:21 +01:00
rudybroersma
7c0103a7bd device - Add Cisco REP Segment state sensor (#15666)
* Update cisco.inc.php - Add REP Segment state sensor

* Create ios_cisco.snmprec

* JSON files for REP support test data

* Rename to IE2000 and add matchin JSON

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2023-12-21 21:30:53 +01:00
Mitt
273c6c5b97 fix: grabled characters when oid already UTF-8 (#15615) 2023-12-05 07:13:16 -06:00
Christophe Guillaumie
21ccfa4096 Add and extend support for Hirshmann devices (#15588)
* Added models in hirshmann definition file
* Added Hirschmann_ms4128.snmprec to ~/tests/snmpsim
* Generic SysObjectID
* Some devices are not replying with all the table data
* fix tests accordingly
* add more sensors
* Move Temperature to YAML

Discovery and polling are currently buggy, this will fix it and make it capable of handling more than one temp sensor.
History of temperatures will be lost here.

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2023-12-04 19:33:30 +01:00
pjordanovic
6dfb9c41d3 Incorrect discovery APC Smart-UPS RT 3000 XL 4.1 ( APC Web/SNMP Management Card (AP9619 MB:v4.1.1 PF:v3.9.4) as multi-phase ups (#15602)
* Add files via upload

* correct discovery of APC UPS as single-phase

False discovery APC Smart-UPS RT 3000 XL 4.1 ( APC Web/SNMP Management Card (AP9619 MB:v4.1.1 PF:v3.9.4) as multi-phase.

* false discovery APC Smart-UPS RT 3000 XL 4.1 ( APC Web/SNMP Management Card (AP9619 MB:v4.1.1 PF:v3.9.4) as multi-phase.

false discovery APC Smart-UPS RT 3000 XL 4.1 ( APC Web/SNMP Management Card (AP9619 MB:v4.1.1 PF:v3.9.4) as multi-phase.

* Delete tests/snmpsim/epson_scanner_ds-860.snmprec

* apc_surt3000xl.snmprec

apc_surt3000xl.snmprec

* json for apc surt3000xl generated by @laf

json for apc surt3000xl generated by @laf

* Fix apc_surt3000xl.json

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2023-12-03 21:02:53 +01:00
Neil Lathwood
3be233af57 Set array before use (#15604) 2023-11-29 16:18:26 -06:00
Leo-FJ
149ecad745 Update entity-sensor.inc.php for xos' os (#15552)
* Update entity-sensor.inc.php for xos' os

* Update entity-sensor.inc.php - removed space

* Test data added
2023-11-21 16:51:16 -06:00
ottorei
531009983c Fix Fortinet HA-status polling state translations (#14921)
* Fix Fortinet HA status polling

* Test data

* Update fortigate.inc.php

* Update fortigate.inc.php

* Update all test data

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-11-04 12:56:40 -05:00
Lasse Luttermann
691f64a90e Added values from SFP DDM values for awplus switches (#15522)
* Added values from SFP DDM's

* Added tempreture as well

* Fixed indention and generel code style

* Update awplus.inc.php

* Fixed coding style

* More code style fixes

* More style fixes

* Test data

* Test data that only contains/matches the sensors added.
2023-11-01 23:31:15 -05:00
Alexis Vézina
fc79d6b157 Wip/apc ap 7900b (#1) (#15392)
* skip negative values on power/power_consumed

* skip negative values on voltage for apc.inc.php
  adds comment in apc.yaml definition.

* add test data
2023-11-01 23:02:24 -05:00
Tony Murray
95eab0d42e Fix health temperature degree display (#15541)
* Fix health temperature degree display
It will be converted to html later. (otherwise it was double converted)

* Remove all &deg; it will only cause troubles
2023-11-01 20:35:35 +01:00
Tony Murray
8c38d3336e Fix websensor temp user_func (#15492)
default should be null, not ''
2023-10-23 12:17:20 -05:00
Jellyfrog
187a4d36de Allow inserting null values for sensors (#15470)
* Allow inserting null values for sensors

* Update ericsson-ml.inc.php

* Update rittal-cmc-iii-sensors.inc.php
2023-10-17 13:18:17 +02:00
Tony Murray
be24993cbb Remove snmp functions that are barely used (#15377)
* Remove snmp functions that are barely used
Replace them with SnmpQuery calls

* Apply fixes from StyleCI

* Fix missing namespace

* Import Oid

* No more variables left may be repeated multiple times at the end with snmpsim, remove them all

* update data fixed by SnmpResponse bugfix

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-05 01:29:22 -05:00
Cyril LAVIER
f9ef5fe3fe Add model for Christie Digital projectors (#15088) 2023-09-25 18:39:20 -05:00
Tony Murray
6e4d124619 Misc fixes 2 (#15190)
* Fix error when missing poller data

* Apparently impossible to detect regex without error, so require regex always.  Update docs.

* Apparently this adva code is garbage :D

* Missing count sensor type

* Processor handle missing input

* Handle missing ifName a little better

* Yep, ports module is a dumpster fire.  Attempt to clean up some.

* apparently os yaml trying to replace on non-existent fields

* Might as well define all sensor type units

* revert previous fix, real issue was vlans module does not have polling.
2023-08-13 18:43:52 +02:00
Tony Murray
e100d17665 Netscaler, don't use 0 divisor (#15204) 2023-08-05 12:12:53 -05:00
fufroma
c030b0c00e RFC1628 - Force cast on some values before doing arithmetic (#14613)
* Force cast on some values before doing arithmetic

Some devices (like Delta InsightPower G3 Mini SNMP Card) return STRING instead of numerical value.

A few lines after, when doing a division on it, everything go bad ( / $divisor).

I added force casting, no more crash and the values are OK.

* Using helper cast_number() instead of intval()

* Fix style

* Add test data

* Stop using deprecated function cast_number
2023-07-31 22:18:26 -05:00
Sander Blomvågnes
8081a3f3c8 Change state value for unplugged linecard (#15126) 2023-06-28 14:24:59 +02:00