Commit Graph

2808 Commits

Author SHA1 Message Date
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 ce02f001ce TrueNAS no longer supports zpool space usage (#15490)
* Freenas zpool improvement
Don't try to multiply two strings (cast units to int)
No need to double fetch database entries to check if it exists.
Only poll zpoolUsed to speed up polling

* Block zpool usage on new devices, they dropped support.
TRUENAS-MIB included for reference

* Fix polling, update test data
2023-11-01 23:00:58 -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
Justin Lentz 66af1a54e8 ARP Discovery use MacHelper (#15479)
* Update arp-table.inc.php

* Import class

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-10-18 13:14:33 -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 7a8e479b61 Unix Agent and Application fixes (#15460)
* Unix Agent and Application fixes

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-16 03:40:40 -05:00
Tony Murray a5198d7d57 Remove some lightly used or unused dbFacile functions (#15418)
* Remove some lightly used or unused dbFacile functions
['NULL'] legacy behavior seems unsupported, replace with actual nulls

* Fix refactor mishap

* another

* update baseline

* these were very wrong... what happened?
2023-10-12 09:15:03 -05:00
Tony Murray e6be5f777b Use modern device attrib handling (#15429)
* Use modern attrib handling
Remove device attribs array.

fixes #15422

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-11 18:29:47 -05:00
Tony Murray a8b69c1393 Fix discovery protocols again (#15434)
* Fix discovery protocols again
earlier fix had a typo

fixes #15432

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-11 10:20:12 -05:00
Tony Murray c87c6e8b8e Remove legacy addhost code (#15376)
* Remove legacy addhost code
Update webui addhost
Update device snmp settings page
Update discovery protocols device discovery (no longer force full new device discovery in process)

* remove baseline exceptions

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-07 22:02:45 -05:00
Tony Murray 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 <bot@styleci.io>
2023-10-06 07:34:14 -05:00
Tony Murray 087d588102 Vmware vminfo modernize (#15008)
* Vmware vminfo
Remove legacy file and migrate to OS discovery

* tighter

* ios_stp-vlans working correctly now

* Make vmwVmGuestOS nullable

* Discover os info too

* VM Info module

* Apply fixes from StyleCI

* Fix log severity

* Fix log severity (more)

* VM Info module

* Poll with ESXi too because it is lightweight
add test data

* poller data now too

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-05 19:49:26 -05: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
Tony Murray c1258320f8 Availability module fixes (#15369)
* Refactor poller to allow modules to run even if the device is down
Include core in config (but not webui) to avoid silly shenanigans
Inject datastore into polling

* Needed to split datastore interface

* Cleanup some data_udpate() references

* Apply fixes from StyleCI

* Fix legacy poller :D

* Output to the correct stream

* Fix lint issues

* Apply fixes from StyleCI

* Fix discovery not including core and submodule handling

* Use whereRaw

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-04 10:32:59 -05:00
Tony Murray 4211b1c46f Remove unused functions (#15371)
* Remove unused functions
inline other legacy functions

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-04 10:17:34 -05:00
Noah Roufus d472c5cbff Added support for Cambium cnMatrix switches (#15351)
* Added support for Cambium cnMatrix switches

* Fixed styling issues

* Fixed styling issues

* Fixed duplicate, incorrectly labeled LLDP-EXT-DOT3-MIB and LLDP-EXT-DOT1-MIB

* Corrected MIB with the same name but with different OIDs configured: LLDP-EXT-MED/-CAMBIUM/-MIB

* Removed my added duplicate MIBs

* Removed unused MIBs
2023-10-04 01:50:41 -05:00
Cyril LAVIER f9ef5fe3fe Add model for Christie Digital projectors (#15088) 2023-09-25 18:39:20 -05:00
PipoCanaja 91fed0b118 Refactor discovery-protocols (#15324)
Refactor discovery-protocols

Update zynos.yaml
Update discovery-protocols.inc.php
Allow unordered for LLDP-MIB discovery in Zyxel switches
2023-09-24 15:20:10 -05:00
Zane C. Bowers-Hadley 2618a99be5 Application Soft Delete (#15270)
* add the softdeletes migrations for applications

* add working migration file

* add deleted_at to db schema.yaml for applications

* update includes/html/forms/application-update.inc.php to work with softdeletes

* update includes/html/pages/device/edit/apps.inc.php for softdelete

* update includes/discovery/applications.inc.php to work with softdelete

* minor updates to application-update.inc.php for disabling

* style cleanup

* set discovered when running discovery

* update application tests to include deleted_at

* add deleted_at to a missed test

* a few more tweaks for opensips

* add a missing deleted_at for linux_suricata_extract-v1

* fix fillable for Application model

* massive cleanup of the application update widget thingy

* improve the code for discovery and using Laravel

* add a missing line to app/Models/Application

* add a missing include to app/Models/Application.php

* record includes for Application model

* remove apps from the applications table when a device is deleted

* revert to using upcert and where for discovery to fix CI

* make discovered fillable and set it when running discovery... convert back to firstOrNew

* clean up application discovery a bit and use observer

* style fix

* spelling fix... disablaed -> disabled

* rever removal to just use where

* cleanup app removal on delete

* add restored to ModuleModelObserver

* delete -> forcedelete fix

* apply the suggested changes

* use murrants other suggestion

* style fix
2023-09-06 16:34:39 -05:00
Knut Petter Ølberg a3fbed30bb Fix version comparison for RouterOS (#15227)
Switched to the suggested version_compare function
2023-08-18 15:51:16 -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 d865e3b372 Always mark device last_discovered (#15218)
Previously, if the device was ping only, it wasn't marked as discovered.
Now we always run discovery, but basically all it does is update last_discovered.
2023-08-13 16:56:54 +02:00
Tony Murray e100d17665 Netscaler, don't use 0 divisor (#15204) 2023-08-05 12:12:53 -05:00
Tony Murray d1b7004fef Severity Enum (#14620)
* Severity Enum
Replace old Alert constants

* Fix whitespace

* Additional uses

* style fixes

* Fix test too

* More missed locations

* More
2023-08-05 12:12:36 -05:00
eskyuu 6fb784a321 Apply service templates on a per-device basis (#15024)
* Created and use a function to apply service templates on a per-device basis

* formatting fix
2023-08-04 19:05:07 -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
Tony Murray 3908bddb49 Miscellaneous fixes (#15162) 2023-07-26 01:08:10 +02:00
Slashdoom 1f7d5451a2 Add VLAN Discovery for arubaos-cx (#15055)
* add vlan discovery for arubaos-cx

* style fixes

* style fixes

* string interpolation fix

* status walk not used

* add snmprec for 10.10 + vlans

* Create arubaos-cx_10.10.json

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2023-07-24 21:47:46 -05:00
Peter Childs 0b98b6ff72 add os check in discovery for aix/freenas storage and cisco cdp (#15104)
* add os check in discovery for aix/freenas storage and cisco cdp

* use os_group = cisco
2023-07-24 19:07:23 -05:00
PipoCanaja dbe0f7f2ca Fixed invalid IP data in arp-table module (#15142)
Check to catch boggus reply from snmpwalk
2023-07-15 20:45:22 +01:00
AdamB b27dfa5891 Add support for PrimeKey Software Appliance (#15059)
* Add PK-SOFTWARE-APPLIANCE-V2 MIB

* Add support for PrimeKey Software Appliance

* Move file to correct path

* Make the OS detection more specific

* Thanks vscode

* Sync filename with osname

* Not supported

* Track SQL database size as volume

* Two fixes
2023-07-07 23:35:53 -05:00
Sander Blomvågnes 8081a3f3c8 Change state value for unplugged linecard (#15126) 2023-06-28 14:24:59 +02:00
Tony Murray 0a3678d11a Convert several JunOS sensors to yaml (#15118)
* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches

* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches

* Convert BER as well
Allow divisor and multiplier to be set from oid

* use fillValues

* fix

* sort snmprec, fix divide by 0, add more context
2023-06-24 11:52:36 -05:00
Tony Murray 63fd62ca12 Yaml value filling improvements (#15116)
* Yaml value filling improvements
search all data for fully qualified oids (to prevent incorrect matches)
Reduce searches when not needed
subindex code optimization

* fix aos7

* fix e3meterdc

* Cleanups

* fix hpe-mapdu

* fix timos add note to dev:check

* remove inconsistent Str::contains usage
2023-06-23 13:57:44 -05:00
Jellyfrog b14e2d4609 Apply fixes from StyleCI (#15101)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-13 13:35:00 +02:00
mtentilucci e55c4e9e1e Add support for Trellix NSP devices (#14964)
* Add support for Trellix NSP devices

- Add discovery for mlos NSP devices
- Monitor port statistics from non standard MIBs
- Add Trellix MIBs
- Add test data

* Fix StyleCI findings

* Rename MIB files to match MIB names, remove unused MIBs

* regenerate mlos-nsp_ns9500.json to account for changes from PR#14963
2023-05-16 17:25:29 -05:00
Nick Peelman 6247eeae36 Fix inventory display for Calix AXOS devices (#15039) 2023-05-12 07:06:34 -05:00
Tony Murray 265906b44c Fix some undefined constants (#14993)
* Fix undefined constants
These have been broken for a long time.  Likely they are unused.

* Fix undefined constants
These have been broken for a long time.  Likely they are unused.
2023-04-22 10:37:20 -05:00
ollb d40c3be75d Fix cisco dbm sensors port link on discovery (NCS55A2) (#13965)
* Fix cisco dbm sensors port link on discovery (NCS55A2)

dBm sensors were not linked to port on Cisco NCS55A2 platform (iosxr)
causing false alarms triggered by optical modules in administratively shut down ports.

* Delete iosxr_ncs55a2.json

* Create iosxr_ncs55a2.json

* Renew test/data/iosxr_ncs55a2.json

* Delete and recreate test/data/iosxr_ncs55a2.json

With command :

  ./scripts/save-test-data.php -o iosxr -v ncs55a2 -m os,ports,processors,mempools,sensors

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-17 11:08:52 -05:00
AdamB 519fc00367 Change ESXi port naming to be stable (#14639)
* Change ESXi port naming to be stable

Currently every time discovery runs against ESXi, the port names change generating a lot of log spam.

This is because ESXi uses this as the ifDescr:
```Device vmnic1000202 at 01:00.0 nmlx4_en```

The poller parses this, and extracts the interface name, whereas discovery does not, causing the interface names to flip every 6 hours.
https://github.com/librenms/librenms/blob/22.10.0/includes/polling/ports.inc.php#L578-L580

This change gives the discovery process the same behaviour, so the naming is now stable.

* Try to fix test data with a squash

* vcsa test data

* Synthesise VCSA ifName, use it in place of ifDescr

* Refresh test data

* Update ports.inc.php

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-16 12:58:38 -05:00
Tony Murray e9c08e21a5 Fix more divide by zero issues (#14954)
* Fix more divide by zero issues
fixes: 14932

* Round to the nearest integer, then cast

* Fix up dhcpatriot
2023-04-11 13:44:45 -05:00
Tony Murray 8809779b82 RouterOS runtime quirk on first discovery (#14945)
(assume version is > 6.47 if it isn't fetched yet)

fixes #14935
2023-04-06 21:09:31 -05:00
Justin Lentz df31be30c1 Cleanup enable bgp setting (#14931)
* remove logic in module

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp definition

* remove enable_bgp logic

* Remove enable_bgp documentation

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI
2023-04-06 21:01:21 -05:00
d-k-7 14f19eb6cf APC UPS UIO sensor discovery bug (#14942)
* only proceed if there are entries in the uio table

* only proceed if there are entries in the uio table
2023-04-05 22:48:23 +02:00
Jellyfrog 68e0b3df28 Apply fixes from StyleCI (#14899)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-03-13 22:32:22 +01:00
Jellyfrog e9f8e64506 Re-throw exceptions if we're in CI (#14890)
Else they are not shown during tests
2023-03-10 15:00:03 +01:00
Jellyfrog f111ac22fe APC: Add support for Battery Recommended Days Remaining (#14653)
* APC: Add support for Battery Recommended Days Remaining

* Extract number from string later during polling
Odd that this is different from the discovery process

* wip

* wip

* Apply fixes from StyleCI

* wip

* wip

* Apply fixes from StyleCI

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-03-10 14:50:56 +01:00