1509 Commits
Author SHA1 Message Date
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 <[email protected]>
Co-authored-by: hjcday <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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
Tony Murray 8a883140cb Infer character encoding for ifAlias and sysLocation (#13248)
* Infer character encoding for ifAlias and sysLocation
Tries to convert character encoding for non-UTF-8 encoded strings.
This will only work for snmp strings that are type-hinted, not ones forced to ASCII with -Oa or similar
Only works for your default charset or Windows-1251 or LATIN1.
You can set your character encoding in .env with CHARSET

Please save us all and just use UTF-8

* style fixes

* less Yoda

* ensure return type

* fall back to passed string

* don't convert strings with any unprintable characters (such as line return)

* Update LibreNMS/Util/StringHelpers.php

Co-authored-by: Jellyfrog <[email protected]>

* Fix CP850

* fix space

Co-authored-by: Jellyfrog <[email protected]>
2021-09-21 08:47:44 -05:00
Kevin Zink c984cdbebc MegaRaid controller in Linux (Broadcom/LSI) (#12999)
* Add power consumed

* Revert "Add power consumed"

This reverts commit 424554ac04bd340de2fd962cb6808045024ef783.

* Start with tempsensorts aus some states

* Inventory data

* Convert plugins to Blade

* Revert "Convert plugins to Blade"

This reverts commit 8d1d3ff5b1.

* fix style

* Add FANs and Powersupplies

* fix style

* add test data

* add a short description for the doc

* refresh Testfile
2021-09-19 18:31:23 -05:00
Kevin Zink 59859c2ea3 Veeam backup SNMP Traps (#13170)
* SNMP Trap Veeam backupjob status

* Add  onVmBackupJobCompleted

* add mib

* fix style

* fix style

* Split backupjob and vm backup

* Add Traptest

* Fix style

* Fit style

* typehint on tests

* Fix handling empty string

* Fix wrong check

* Fix styl

* Fix style

* Update VeeamBackupJobCompleted.php

* Update VeeamVmBackupJobCompleted.php

* Update VeeamTrapTest.php

* Update VeeamTrapTest.php

Co-authored-by: Tony Murray <[email protected]>
2021-09-19 08:21:31 -05:00
Max Narvaez c1dce44947 Arubaos cx hardware (#13045)
* Add hardware, OS version and serial to arubaos-cx discovery

* Add support for ArubaOS-CX versions 10.04 and 10.06

* Fix bug where first arubaos-cx regex would be ignored

* Add test data for 10.07, data for 10.06 coming soon

* Add data for 10.06

* Update 10.04 test data

* Update arubaos-cx.json

* Update arubaos-cx_10.06.json

* Update arubaos-cx_10.07.json

Co-authored-by: Tony Murray <[email protected]>
2021-09-18 15:39:34 -05:00
Noah Roufus eff9c134cd Added SAF Integra-X OS Support (#13236)
* Added SAF Integra-X support.

* Fixed discovery confusion between Integra-B and Integra-X.

* Removed a missed unusued use statement.

* Fixed CPU sensor issues related to MIB display hints throwing off math.

* Fix to Integra-X snmprec and test data.
2021-09-17 09:13:10 -05:00
paulierco 2e8f629758 osag: add ifName (#13243) 2021-09-15 17:44:36 +02:00
paulierco 8fcd13f821 mcafeewebgateway: add ifName (#13242) 2021-09-15 17:44:16 +02:00
Jellyfrog 258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
Tony Murray 0a76ca444b name zxr10 files correctly (#13210) 2021-09-08 19:45:58 -05:00
Jellyfrog 26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
Valery Kartel c6d2385c3a ZTE ZXR10 define discovery for mempool and processor (#13192)
* Add mibs/zte/ZXR10-MIB

ZTE ZXR10 vendor-specific mibs

* Update zxr10.yaml

add mib_dir
change top-line view like in cisco

* Create zxr10.yaml

define mempool and processor discovery for zxr10

* Update zxr10.yaml

fix discovery.php "error in mempools module. Unable to translate oid ZXR10-MIB::zxr10SystemMemSize"

* Update zxr10.yaml

ZXR10-MIB::zxr10SystemMemUsed is in percent not in bytes.

* zxr10.yaml :: fixed mempools data

fixed mempools data

* TESTS :: Add snmprec

* TEST :: Add data/json

* Change group from zxr10 to zte

* Remove mib_dir

With group: zte it works without mib_dir: zte

* Rename zxr10_zxr10.json to zte_zxr10.json

* Rename zxr10_zxr10.snmprec to zte_zxr10.snmprec
2021-09-08 11:19:19 -05:00
Noah Roufus ebb582f0f2 Updated OS Support: Dragonwave Horizon (#13193)
* Removed older Horizon definitions

* Added Horizon Compact definitions via YAML.

* Added Horizon Duo definitions via YAML.

* Added Horizon Compact Plus definitions via YAML.

* Fixed issue with OID name casing for Horizon Duo EnetPort2CRC sensor

* Moved SNR/RSL/Tx Power to wireless sensor definitions.

* Reordered use statements to make StyleCI happy.
2021-09-08 08:40:23 -05:00
Kevin Zink eacca2ff91 Procurve add SysDescr Regex (#13196)
* Add sysDescrRegex

* Add testdata

* fix graph
2021-09-06 15:29:41 -05:00
Tony Murray 9b8b1b814a Validate APP_KEY (#13171)
* Validate APP_KEY
key:rotate command to rotate keys, only rotates validation data for now

* fixes, swapped encrypters, not saving new value to db, check that key exists first

* add confirmation

* Option to generate new key, re-encrypt data and then save it to .env
A lot more text to try to prevent disaster.  Print out both keys 1-2 times.
Fix bug in EnvHelper (when key is commented but not empty)

* fix style

* oops, good phpstan
2021-08-27 22:48:21 -05:00
Tony Murray 8e409ba051 Rewrite ISIS Adjacency discovery/polling (#13155)
* Rewrite ISIS Adjacency discovery/polling
hopefully much faster now, do most work in discovery and just check up/down in poller.

* unused variable

* Implement option for OS override

* fix an incorrect typehint

* test data

* work around stupid migration name

* update schema

* better handling for the on-demand discovery

* more detailed phpdoc

* fix when adjacency is not found

* don't clear out data when adjacency goes away

* Adjust nullable fields

* fixes

* fix class name

* correct migration

* fix bug causing adjacency data to always be blank

* port popups for port links

* isisISAdjState does not need to be nullable

* remove extra space

* default off

* If port is missing return $text

* update schema

* Cleanup old components

* correc copy paste error
2021-08-23 21:19:55 -05:00
Kevin Zink 456c5d2fae Dell Network Virtual Link Trunk Status (#13162)
* DELL ForceTen add VLT States

* DELL Network (dnos) VIRTUAL-LINK-TRUNK

* add testfiles

* Update dnos_z9100-on.json

Fix merge comments

* Refresh Testdata

* add num_oids

* Remove unused skip_values
2021-08-23 19:11:49 -05:00
Tony Murray dc1b5bd2d7 Update configuration docs to use lnms config:set (#13157)
* Update configuration docs to use lnms config:set
don't show slashes input
still need to test them all

* fixup broken commands
os array type a little broken

* bash

* fix lnms config:set os append

* enable os append test
(and small correction)

* fix whitespace
2021-08-23 19:07:26 -05:00
Tony Murray d74bb37971 Show port speed on port graphs, optionally set scale (#11858)
* Show ifSpeed on Graph
Drop ifHighSpeed, we really don't want to store that value.

* safer truth check

* Allow global setting and per-graph variable

* match surrounding case

* Style fixes

* Remove old function usage

* update schema

* remove some old usages

* cleanup more ifHighSpeed references

* update test data to remove ifHighSpeed

* fix down migration

* Add button on graph page
Change default
tweak wording
2021-08-23 06:47:44 -05:00
tikitaru 500a699797 Fix polling current on ICT2000DB-12IRC (#12529)
* Update ict-pdu.inc.php

Lines 7&8 fixes an issue seen when polling current on ICT2000DB-12IRC .

* Create ict-pdu_ict200db-12irc.snmprec

* More generic fix

* Create ict-pdu_ict200db-12irc.json

* Update ict-pdu.json

Co-authored-by: Tony Murray <[email protected]>
2021-08-20 23:54:50 -05:00
paulierco d6fee82e1a Add OSAG OS (#13156) 2021-08-20 19:25:07 +02:00
Tony Murray e2d1bfff54 lnms config:set ability to set os settings (#13151)
* lnms config:set works for os settings
validate against os schema (gives us path and value validation)
fix unset in config:set
json formatted output in config:get to match input parsing

* inline errors

* Check that OS exists

* Fix lock file

* Set param type

* correct method name, it no longer returns a boolean

* rename --json to --dump
tests and fixes

* fix whitespace

* missed one whitespace

* typehints

* add connection typehint

* try again
2021-08-19 18:34:19 -05:00
Tony Murray f0f0a05dd1 Change PHPStan target to PHP 7.3 (#13153)
* Change PHPStan target to PHP 7.3

* ignore lines

* Update LoginTest.php

* Update LoginTest.php

Co-authored-by: Jellyfrog <[email protected]>
2021-08-19 16:20:13 +02:00
Sander Blomvågnes 2bc5b15a3d GEMDS OS: Added voltage, cell states and wireless data for cell interface. (#13142)
* Added test data

* Added support for some Cell states

* Added more Cell states and added missing testdata

* Obs deleted the test data file

* Added support for monitoring Cellular signal

* Forgot test data again....

* Added more Cell states and Wirless data. Removed services because I cound get it to work correctly
2021-08-18 13:02:58 +02:00
Kevin Zink 93209a0fc8 API mac search (#12964)
* API find a switchport with the mac from device

* fix style

* convert SQL to Eloquent

* convert SQL to Eloquent

* git mistake

* Global use App\Models\Port

* git mistake partII

* Refractor Eloquent - Not finish but easier to help for others

* Better Eloquent Query without filter option

* Validation

* fix style

* Add filter option and DOC

* convert to the better macToHex method

* add a maxToHex unit test

* fix style

* fix style

* fix syle - seems my dev:check is running again :-)

* Fix phpStan

* phpStan #2
2021-08-09 19:33:04 -05:00
Kevin Zink 0ff299f77c Add Janitza power consumed (#13095)
* Janitza add power_consumed

* Move Janitza to create variant

* Update testfiles

* fix typo

* update testdata

* fit typo part2
2021-08-03 22:37:07 +02:00
Kevin Zink 0ae6fcb3c3 Opnsense detection (#13097)
* add another opnsense detection

* add testdata

* anonymous hostname to be more generic
2021-08-03 22:35:49 +02:00
Kevin Zink 49757c2502 Fix WUT ThermoHygro with new hardware revisions (#12913)
* Fix WUT ThermoHygro

ThermoHygro does not provide 'wtWebGraphThermoHygroPortName'

* Update wut.yaml

* add testdata

* Create wut_57720-os-143.json

* Next try to add testdata

* refresh wut_57720

* Change descr to Environment

Co-authored-by: PipoCanaja <[email protected]>
2021-08-03 21:40:03 +02:00
dennypage 049b7af3d5 Allow stack index other than '1.' for CiscoSB (#13078)
* When in a stack, the index for each port is based on the unit number in the stack. The first unit
in the stack uses index '1.', the second uses index '2.', the third '3.' and so on. This change
allows for stack indexes greater than '1'

* Create ciscosb_cbs350-4x.snmprec

* Create ciscosb_cbs350-4x.json

Co-authored-by: Tony Murray <[email protected]>
2021-08-03 16:31:00 +02:00
Peca Nesovanovic 9557cccb6a Jetsream: added/fixed LLDP discovery (#13082) 2021-07-31 18:26:57 +02:00
Tony Murray ae2b761e94 Fix Cisco SLAs garbage entries (#13068)
* Fix Cisco SLAs garbage entries
Resulting from extra data returned by device not in the exisitng MIB... Updated the MIB too.
Thanks https://community.librenms.org/t/cisco-ip-sla-issues/16429

* Add test data
2021-07-25 11:23:04 +02:00
saschareichert efa86e0166 Improve dell-compellent detection for newer firmwares (#13019)
* Update dell-compellent.yaml

Dell changed the text for sysDescr after the 2017 firmware-release so that the string "COMPELLEN" which was looked after here before, did not appear anymore. The Compellent cuts off the snmp-answer after 255 characters.
I replaced the previous detection to a new snmpget-detection using the oid (DELL-STORAGE-SC-MIB::productIDDisplayName.0) that shouldnt be altered in the future.

* Add files via upload

* Rename dell-compellent_scv3020.snmprec.TXT to dell-compellent_scv3020.snmprec

* Keep backward compatibility

* Create dell-compellent_scv3020.json

Co-authored-by: PipoCanaja <[email protected]>
2021-07-22 14:14:02 +02:00
PipoCanaja b885198809 Cisco ISE version, HW, SW and test-data (#13062)
* ise

* ise
2021-07-22 13:53:56 +02:00
wkamlun 1d55265690 Update with FortiAP (#13037)
* Update with FortiAP

Add number of connected wireless client and number of connected FortiAP

* Add fortiAP support

* Update Fortigate.php

* tests

* style

* Update fortigate_500d.json

Test cannot run properly because of dependency between interfaces and OSPF ports.

Co-authored-by: PipoCanaja <[email protected]>
2021-07-21 20:26:29 +02:00
Emmanuel Caillé 578602f8f9 Use non numeric snmpwalk for nxos fan trays (#13048)
* Use non numeric snmpwalk for nxos fan trays

* Update test data with now discovered fan data
2021-07-21 19:19:41 +02:00
Maikel de Boer e8b11635a6 Ericsson 6600 series (#12931)
* start

* added test data + mibs

* fxied minor

* Update CIENA-6500-AMPS-MIB

* Update CIENA-6500-ENUMS-MIB

* removed unused mibs

* added test data

* Delete ciena-saos_saos.snmprec

* Rename ciena_saos.json to ciena-saos.json

* Rename ciena_saos.snmprec to ciena-saos.snmprec

* Rename ciena-saos.snmprec to ciena-saos_ 6500.snmprec

* Delete ciena-saos.json

* Delete ciena-saos_ 6500.snmprec

* new attempt for the test data

* test data again

* small start

* Start

* added values

* added counters

* small style

* add test data

* Delete ciena-saos.yaml

* Delete ericsson-ml.yaml

* Delete ciena-saos_6500.json

* Delete ciena-saos_saos.json

* Delete ciena-saos_saos.snmprec

* Delete ericsson-6600_6600.json

* Update Ericsson6600.php

* added test data

* re-adding removed files

* Update Ericsson6600.php

* Update ericsson-6600.yaml

* Update XF-RADIOLINK-PTP-TERMINAL-MIB

* Update XF-TOP-MIB

* Restored renamed file

* Update ericsson-6600.yaml

* optized wireless discovery

* Update Ericsson6600.php

* Update Ericsson6600.php

* Update Ericsson6600.php

* Update Ericsson6600.php

* Update Ericsson6600.php

* feedback

* Update Ericsson6600.php

* Update Ericsson6600.php

* fixed discovery problem for future 6300 series

Co-authored-by: PipoCanaja <[email protected]>
2021-07-21 08:07:56 -05:00