Commit Graph

1544 Commits

Author SHA1 Message Date
Jellyfrog
adbe435de4 Fix IPV6 test (#13468)
The test checks if 2001:db8... is a valid ipv6 *not* in reserved ranges.
A bug in PHP (https://bugs.php.net/bug.php?id=61700) made it wrongly pass.
2021-11-03 14:06:34 +01:00
Tony Murray
f4ee508f31 Run phpstan locally with lnms dev:check lint (#13458)
* Run phpstan locally with `lnms dev:check lint`
Separate result cache for deprecated functions so we don't break the cache every time.

* Skip phpstan flag
Skip all lints on ci except php lint (so we can check on multiple php versions)

* forgot default value

* fix up test cases

* Update LibreNMS/Util/CiHelper.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-11-03 00:17:35 +01:00
Garcia MICHEL
e0443293a0 Add iDrac physical disk state (#13264)
* Add physical disk for iDrac

* Add alert rule for iDrac Physical Disk

* Add test data
2021-11-02 23:26:59 +01:00
Tony Murray
3c37020f36 Ability to save cipsec-tunnels test data (#13463) 2021-11-01 22:46:55 -05:00
Tony Murray
2c77edf4d2 Better handling of some alerting errors (#13446)
* Better handling of some alerting errors

* Better error output

* Consolidate simple template parsing

* Fixes reported by phpstan (one was a bug, yay!)

* add back forgotten trim

* don't remove the template if there is no match

* Match previous behavior, which was inconsistent.

* use anonymous class for tests instead

* Oopsie, Stringable is PHP8+

* fix style
2021-10-29 22:12:20 -05:00
David Girón
9f8bb8caae Add more discovery components for Dell PowerConnect 28xx (#13420)
* Add Processor discovery for Dell PowerConnect 28xx

* Add Temperature discovery and cleanup code

* Add test data for PowerConnect 2824

* Add Serial Number

* Don't add VLANs as Ports

* Revert "Don't add VLANs as Ports"

* Remove invalid mempool from tests
2021-10-29 10:09:05 +02:00
Tony Murray
0a1cc120de DNOS BGP test data (#13449) 2021-10-29 00:37:36 -05:00
Julian Lehrhuber
a3ec263f78 Bintec be.IP plus support (#12993)
* Introduce OS flag to support devices that deliver OIDs out of order

* Add MIB for Bintec Be.IP Plus

* Add YAML definitions for Bintec Be.IP Plus

* Add Bintec be.IP plus test files

* Rename bintec mib files

mib-standards.mib was deleted, because it included definitions that also
existed in separate files

* Add test data

* Remove standard mib files from bintec dir

* Add regex to parse Bintec Be.IP Plus OS version

* Update test data for Bintec Be.IP Plus

* Calculate Bintec Be.IP Plus CPU load from inverse of idle time

* Improve Bintec Be.IP Plus discovery and tests

* Use MIB instead of numerical OIDs where possible

* Update tests to comply with updated discovery

* Remove unused MIBs

* Remove json props that let tests fail

* Update Settings.md

* Remove `snmp_out_of_order_oids` definition from bintec-beip-plus

* Add `-Cc` snmp param for prots module

* Add `-Cc` snmp param for arp-table module

* remove snmp_out_of_order_oids

* Remove snmp_out_of_order_oids

* Update snmp.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-28 13:05:43 -05:00
Arjit Chaudhary
f6d5cd525f Improve Poweralert based devices support (#13340)
* Improve Poweralert based devices support

- Add graphs / data for Input Voltage
- Add graphs / data for Total/Output Current

* fix version formatting

* Create poweralert_3.snmprec

* Create poweralert_3.json

* Update poweralert.yaml

* Update poweralert_3.snmprec

* Update poweralert_3.json

* Missed one

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-28 11:08:17 -05:00
cenjui
ba45d5eba5 Add APC PowerChute sysObjectID (#13406)
* Update apc.yaml

Added sysObjectID: .1.3.6.1.4.1.318.1 to apc.yaml definition rules to allow the discovery of UPS' that are connected to Power Chute Business edition hosts.
(Tony Murray you were right & YAML hates me!).

* Create apc_powerchute.snmprec

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-28 10:15:59 -05:00
Dan Baker
3e4209d35f Added support for Extreme SLX-OS switches (#13431) 2021-10-28 08:12:35 -05:00
Nocturr
5f8b41d4ba UniFi/EdgeSwitch OS support for fw 5.x (#13434)
* Fix support for fw 5.x

* Add test data
2021-10-28 01:52:58 +02:00
Jellyfrog
f31e89569e Fix 2021-10-28 01:38:59 +02:00
Nocturr
bba7a9e3a1 Fix Sophos-XG OID for number of active tunnels (#13444)
* Fix for number of active tunnels

* add test data
2021-10-27 22:42:55 +02:00
Nocturr
4912c8c334 Add Sophos-XG OID for monitoring HA, IPSec and license state (#13423)
* Add Sophos-XG OID for monitoring HA and license state

* add generic property

* Update MIB to newest version

* Add Test-data for sfosCentralOrchestrationLicRegStatus

* Add IPSec monitoring

* regenerate test-data
2021-10-27 12:52:07 +02:00
TheGreatDoc
56b78da254 Fix hwg poseidon state sensors (#13438)
* Fix state sensors oids

* Test data
2021-10-27 12:38:11 +02:00
Peca Nesovanovic
08dd8a07db Mikrotik vlans discovery, v2 (#13427)
* Mikrotik vlans discovery, v2

* styleci cleanup

* added Routeros entry in mkdocs.yml

* fixed typo in mkdocs.yml

* Better Vlan Eloquent Model

* Missed one

* Use new SnmpQuery code

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-26 18:31:44 -05:00
Dan Baker
d23e75f967 Added sensor discovery for APC NetworkAIR FM and InfraStruXure ATS (#13426) 2021-10-25 21:29:50 +02:00
hjcday
5536c8bdcb Added Wireless Sensors for Teltonika RUTX Routers (#13419)
* Correctly implement Wireless Sensors for Teltonila RUTX series routers allowing for hardware with multiple modems
Fix sensor warning limits based on hardware specs.

* Re-capture test data for new sensors

* Tidy style

* no message

* no message

* Update RutosRutx.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-10-24 14:12:22 +02:00
Tony Murray
47cb5736dd Fix application and storage query errors (#13417)
* Fix query errors

* Fixed test data
(one has crlf instead of lf)

* oops
2021-10-23 18:26:41 +02:00
Tony Murray
5fafb11c8f Rename concrete SnmpQuery class to avoid confusion (#13412) 2021-10-23 01:43:55 -05:00
Tony Murray
50cf1a49f1 Kick other sessions when changing password (#13194)
* Kick other session when changing password
Invalidate other sessions when a user password gets changed

* Don't logout admin users when they change passwords.
Cleanup phpstan exceptions

* only restore user if needed

* comment odd behavior

* $current_user typehint
2021-10-21 17:25:38 -05:00
Dag Bakke
46c26e3027 Eaton Network MS xups sensors (#12992)
* Added ambient temp sensor and XUPS alarm OIDs

* I dumbed this down a bit, as I do not fully trust that I actually understand the xups mib.
Now we raise an alert if XUPS-MIB::xupsAlarms.0 is anywhere in the range 1-4

* Changed the index:-value for consistency

* added snmprec and json for my hardware/firwmare version

* reran save-test-data against all variants and renamed my latest snmprec properly

* Update eaton-mgeups_9pxle.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-20 21:15:42 -05:00
Stuart Henderson
48a12be4be Don't hardcode index for Mikrotik LTE wireless statistics (#12976)
* don't hardcode index for Mikrotik LTE wireless statistics

* sync test data now that Mikrotik LTE index is no longer hardcoded

* sync tests data now that Mikrotik LTE index is no longer hardcoded

* fix whitespace

* sync test data now that Mikrotik LTE index is no longer hardcoded

* add test data for Mikrotik LtAP mini (aka RB912R-2nD)

* Re-write Routeros wireless code
It now works like most other devices

* fix style

* update baseline

* Remove station 60G rate

* use base unit of m, not km

* move interface stats name inside loop to avoid a walk when it does exist

* notification

* fix typo

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-20 20:50:59 -05:00
Matt Peterson
3d4ad683ad OS support for West Mountain 4005i DC PDU (#12885)
* remove ^M from DOS style file

* Support for West Mountain 4005i DC PDU

* update SVG to include width attributes

* try adding reserveAspectRatio="xMinYMin meet"

* remove width attribute

* removed disabled modules per @Jellyfrog comment

* rename per PR

* add missing test JSON data

* don't attempt to graph or detect uptime, as neither OID is supported

* remove file extension

* remove specific modules for discovery & polling, as this device isnt buggy enough for justify

* Update westmountainradio.yaml

* Update westmountainradio.yaml

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-20 20:48:51 -05:00
Erik
27c124f19f FabOS remove disabled dbm sensors (#12877)
* add check if adminstatus is up

* added testdata

* Changed ifAdminStatus state detection

* updated testdata

* updated testdata2

* Update fabos_6520.json

* Update fabos.json

* Update fabos_6520.json

* Update fabos.json

* fix fabos.json

* fix bug in discovery include

Co-authored-by: Erik <johndoe@example.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-20 18:51:49 -05:00
Tony Murray
f94f7f23b8 Fully convert core to a modern module (#13347)
* Core module WIP

* update OS::make()

* core WIP

* try to finish up

* switch all core do os Model

* Mock WIP

* Working tests

* cleanup

* phpstan fixes

* style fixes

* fix agent

* trim space too
and a couple of cleanups

* corrected ios test data

* missed space

* update test data

* put escapes back

* another net-snmp difference

* Fix class description

* revert snmp.inc.php change, that can be a different PR

* revert snmp.inc.php change, that can be a different PR
2021-10-19 15:43:43 -05:00
Shawn Kwang
0537f1d736 Add opengear humidity to sensors (#13226)
* Add new OID for humidity sensor for opengear devices.

* Typo fix

* Fixed typo: wrong OID

* Added opengear humidity test data JSON

* Removed ogEmdHumidityTable from cache.

* Added SNMP sim data for testing

* Update opengear_humidity.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-19 06:54:01 -05:00
Hans Erasmus
51e6701c4a Extend support for Endrun Sonoma Meridian II devices. (#13069)
* endrun_updated_support

* Added requested changes

* Converted to yaml

* Fixed Tempus Features

* fixed test data (again)

* Update endrun_sonoma.json

* fix gitignore

* fix last gitignore

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-18 20:42:28 -05:00
TheGreatDoc
fdea39fc0f Update Himoinsa Genset discovery (#13356)
* Update Himoinsa Genset discovery

* Added snmprec

* Added json test data
2021-10-18 19:42:40 -05:00
martinberg
3856c33f9d IOS/IOSXE PoE stats (#13213)
* Updated mib

* Add support for IOS/IOSXE PoE stats

* Added testdata

* Better titles for Power-tab in Health

* Added low_limit for iosxe

* Update ios_2960x.json

* Added high_limit for ios

* update ios_2960x

* update ios_2900l

* pre-cache is not needed

will only slow polling down in some cases

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-18 19:42:13 -05:00
Cirno the Strongest
ece914a06d Use high precision OIDs for APC UPS sensors (#12594)
* Use high precision OIDs for APC UPS sensors

* Force test re-run

* Remove ifHighSpeed

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-18 19:41:37 -05:00
martinberg
d69810b3c3 Add support for NTI Enviromux (#13373)
* Updated mib

* Add support for IOS/IOSXE PoE stats

* Added testdata

* Better titles for Power-tab in Health

* Added low_limit for iosxe

* Basic support for Enviromux devices

* Fixes

* Revert "Added low_limit for iosxe"

This reverts commit 645e3b423a.

* Removed commits from wrong branch

* Removed limits due to not working, need php

* Added testdata

* Update nti.svg

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-10-18 10:35:30 +02:00
Tony Murray
66d0a34f40 Dusk: improve speed and safety (#13370)
* Dusk: improve speed
Instead of refreshing the database between tests, just cleanup all side effects.
Update UserFactory to upstream so hash never has to be generated for default

* Actually, migrate, but not fresh
2021-10-18 10:01:07 +02:00
Dan Kerse
60f056c691 Poll SPU memory from Juniper SRX devices (#13191)
* Poll SPU memory from Juniper SRX devices

* Add test data

* Update junos_rpm.json

* Update junos_rpm.json

* Update junos.yaml

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-16 20:44:18 -05:00
hjcday
d8e831d772 newdevice: Added support for Teltonika RUTX series routers (#13350)
* Added support for Teltonika RUTX series routers

* Added snmprec file for testing

* Update and rename rutos-RUTX.yaml to rutos-rutx.yaml

Fix OS name

* Rename rutos-RUTX.yaml to rutos-rutx.yaml

* Rename rutos-RUTX_rutx11.snmprec to rutos-rutx_rutx11.snmprec

* Create rutos-rutx_rutx11.json

* Fix: Device discovery OID removed tab

* Remove whitespace

Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: hjcday <hugh.day@lsv.com.au>
2021-10-14 12:35:28 -05:00
Tony Murray
526afd437f SnmpQuery updates and more tests (#13359)
* SnmpQuery updates and more tests
improvements to translate handling

* fix method description

* fix whitespace
2021-10-13 08:49:19 -05:00
Tony Murray
4e94c1e0a1 Rename NetSnmp to SnmpQuery (#13344)
* Rename NetSnmp to SnmpQuery
Always resolve a new instance.  It was not expected to be a singleton, set options persisted.
This means numeric() works properly now

* fix snmpfetch call and style

* Ability to set device from device array
2021-10-07 17:03:53 -05:00
Maikel de Boer
f28802bb2b Ericsson TN - Wireless MSE (#13328)
* Initial commit

* Removed unused function

* fixed style

* fixed style

* fixed test data

* Initial commit

* end of the day commit

* finish + test data

* Delete ericsson-tn_ericsson-tn.snmprec

* Added wireless MSE

* Delete ciena-saos.yaml

* Delete NORTEL-MIB

* Delete ciena-saos.yaml

* Delete NORTEL-OPTICAL-GENERIC-MIB

* Delete ciena-saos_saos.snmprec

* Delete ciena-saos_saos.json

* Delete NORTEL-OPTICAL-PM-MIB

* fixed style

* fixe
2021-10-06 23:37:10 +02:00
Maikel de Boer
7883218cff Ciena 6500 (#13324)
* Initial commit

* Removed unused function

* fixed style

* fixed style

* fixed test data

* Initial commit

* end of the day commit

* finish + test data

* Delete ericsson-tn_ericsson-tn.snmprec
2021-10-06 07:50:16 -05:00
Tony Murray
0b8b97bb68 Push Notifications (Mobile and PC) (#13277)
* Update manifest and add service worker
cleanup icons a bit

* Push notifications WIP

* navigate working

* cleanup

* acknowledge wired up

* Set VAPID keys on composer install

* Component to control notification permissions.

* Allow all user option to validate

* Enable on browser load if transport exists.

* Check for transport before showing user permissions
translations

* Documentation

* style fixes

* access via the attribute model

* fix alerting test

* update schema

* cleanup subscription on disable

* non-configurable db and table for webpush subscriptions (respect system connection)

* revert AlertTransport change
hopefully phpstan can figure it out

* phpstan fixes

* Support custom details display

* Match transport names to brand's preferred display

* less duplicate id errors

* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok

* Style fixes

* Style fixes 2

* Fix alert test

* Doc updates requires HTTPS and GMP

* unregister subscription when permission is set to denied

* cleanup after user deletion

* delete the right thing

* fix whitespace

* update install docs to include php-gmp

* suggest ext-gmp

* update javascript

* Update functions.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-10-06 07:29:47 -05:00
Tony Murray
aa35d2f0c0 Connectivity Helper to check and record device reachability (#13315)
* Fping WIP

* Update availability, move ping rrd update in the same place as db update.

* move classes around

* make device:ping command work

* use new code, remove legacy code

* save metrics boolean prevents all saves
style fixes

* update device array

* style fixes

* Update unit test

* fix whitespace

* Fix Fping stub

* fix backwards if

* fix phpstan complaining

* Fix return type

* add fillable to DeviceOutage model.

* device_outage migration to add id...

* missed line in db_schema.yaml

* 1 billion more comments on the brain damage up/down code

* tests for status and status_reason fields

* fix style again :D

* Duplicate legacy isSNMPable() functionality
but with only one snmp call ever 😎

* Remove unused variable

* fix migrations for sqlite
2021-10-03 22:45:10 -05:00
Nash Kaminski
cb56ae5f46 Improvements to SSO Authorization and logout handling (#13311)
* Improvements to SSO Authorization and logout handling

Changes:
* Adds support for a default access level in the SSO authorization
  plugin when group mapping is enabled.
* Restore functionality of the auth_logout_handler configuration option,
  allowing the user to be redirected to a configured URL to complete
  logout from an external IdP.
* Documentation and test coverage updates

* Set sso.static_level to 0 in AuthSSOTest:testGroupParsing()

* Simplify implementation to use default values in Config::get()
2021-10-02 08:02:42 -05:00
Tony Murray
a828bb00c3 lnms snmp:fetch command and new SNMP code (#13303)
* SNMP WIP

* cleanup, more types

* Include my snmp:fetch command

* Fix Facade name conflict

* Command WIP
remove mib

* Ignore exit code
cleanups

* Doc blocks and style fixes

* forgot to use parseOid

* Hopefully final fixes

* missed on (:

* small changes
deviates from existing code, hopefully doesn't re-add too many corner cases.

* add some simple tests, will make it easier to add more in the future when we find corner cases.

* test numeric

* API refinements, try to avoid setting textual net-snmp options directly

* change numeric to a toggle makes for nicer usage

* make ci happy

* Some errors happen only in stderr, pass that to SnmpResponse for parsing.
Add error message access

* More consistent naming
2021-10-01 18:58:12 -05:00
Maikel de Boer
b3c1d036b4 Ericsson Traffic Node support (#13299)
* Initial commit

* Removed unused function

* fixed style

* fixed style

* fixed test data

* Delete ericsson-tn_ericsson-tn.snmprec

* Update ericsson-tn.yaml
2021-09-30 08:29:31 -05:00
Muhammad Lutfi Santoso
7857dab98e Add Ericsson IPOS router support (#12625)
* Add Ericsson IPOS router support

* Create ipos.snmprec

* Update ericsson-ipos.yaml

* Rename ipos.snmprec to ericsson-ipos.snmprec

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-09-24 16:17:07 -05:00
Cupid@zul
9eecca51c7 Teldat: Wireless and GSM Basic Monitoring (#13255)
* Teldat: Wireless and GSM Basic Monitoring

* Teldat: Wireless IfIndex fix

* Teldat: Wireless and GSM tests

* minor comment correction

* Teldat: Wireless and GSM add json test data

* linter.warn: bugfix access_point_id = null, generally used for controllers, TELDATs are never controllers

* Teldat: Wireless and GSM tests replay results.

* linter.warn: fix #17 $entPhysicalMeasured expects float|int|null set to: null

* Teldat: Wireless and GSM some updates, bugfixes and lint updates as requested.

* linter : some more fixes...

* Teldat: Wireless and GSM, apply recommendations.

* minor styleCI fix.

* linter: fix

* linter: fix.

* Delete WirelessLteCellPolling.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-09-23 11:55:14 -05:00
Kevin Zink
f796396e0b HP Fault Traps (#13254)
* HP Fault Trap

* Add typehints

* Fix style

* Fix style

* Try to fix wrong test

* Next try
2021-09-21 16:20:49 -05:00
Max Narvaez
296edba28a Support HP Procurve models that have an E at the beginning of the model number (e.g. E2910) (#13261) 2021-09-21 15:13:41 -05:00
Max Narvaez
a3c9e32cc3 Fix axis cam discovery (#13258)
* Fix axis cam discovery

* Remove sensor data from test data

* Include all data again

* Remove sensor data again, this time also from json file
2021-09-21 14:18:15 -05:00