1266 Commits

Author SHA1 Message Date
Hans Erasmus 6c4596d1b9 Added new authalgo support for SNMPv3 (#11966)
* Added new authalgo support for SNMPv3

* Update 2020_07_27_00522_alter_authalgo_column.php

Fixed case

* Update addhost.inc.php

Fixed case

* Update snmp.inc.php

Fixed case

* Update db_schema.yaml

Fixed case

* Fixed SHA-* order to ascending

* Update 2020_07_27_00522_alter_authalgo_column.php

Fixed space

* Update db_schema.yaml

Fixed line to be of type string

* Update config_definitions.json

Fixed sorting

* Fixed test file case sensitivity

* Fixed rollback function

* SourceDoctor code for checks

* Fixed indentation issues on Travis test

* Update to re-trigger testing stuck on CLA step

* Added crypto-algo updates

* Incorporated suggestions from Jellyfrog

* Added documentation entry

* Fixed travis spacing error

* Fixed validations

* Delete snmpv3_version_compare.patch

Sorry, this one was not supposed to be there.

* Added poller evaluation

* Added poller comparison

* Fixed merge-conflicts

* Fixed typo in test unit

* code refinements
only can check on webui that it supports the algorithms, hopefully, the eventlog is enough to notify users of distributed pollers.

* style fixes and remove openssl setting

* fix device access

* fix missing migration column

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-10-29 13:02:26 -05:00
Tony Murray 4746c3f9d0 Fix permissions bug in IRC (#12266)
* Fix permissions bug in IRC
Rename Permissions class to remove confusion with the Facade

* Fix style
2020-10-28 16:07:03 -05:00
corsoblaster c47ddd2c17 Basic support for Sophos xg v18 (#12251)
* Basic support for Sophos XG V18

Basic support for Sophos XG V18 - new version of SFOS with update snmp structure

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update includes/definitions/discovery/sophos-xg.yaml

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

* Update sophos-xg.yaml

* Moved file into subfolder

* Update sophos-xg.yaml

* Fix mib folder (deleted)

* Fix snmp file references

* Update sophos-xg.yaml

* Fix folder by vendor

* Update sophos-xg.yaml

* Update sophos-xg.yaml

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2020-10-25 12:51:01 +01:00
Tony Murray 0fbd60416f snmpwalk_cache_oid() handle multiline strings (#12254)
* snmpwalk_cache_oid handle multiline strings

* remove useless function

* some output has no space after equals

* airos-af-ltu use hr processors

* don't try to append with empty strings

* fix changed test data due to fix

* revert smartax

* better regex
additional check
2020-10-24 22:56:01 -05:00
Hayden 397a10e73f new sensors for siteboss OS + new sensor type: percentage (%) (#11958)
* split siteboss 530 and 550 into multiple OS

* add more sensors to siteboss550 and new Percent sensor

* fix contact closure event state values

* split os polling for siteboss to siteboss530 and siteboss550

* add test unit for siteboss550, rename test unit for siteboss to siteboss530

* refactor siteboss os polling to \Librenms\OS

* implement OSPolling to Sitebos550

* force save in pollOS() to keep custom sysName during polling

* updated unit test

* update device graphs

* remove pollOS and extra save()

* siteboss550 no longer extends OSPolling

* update siteboss550 test data

* update discoverOS() to match recent os discovery changes

* styleCI changes

* fix siteboss hardware discovery; add check to OS polling if os_group .inc file exists

* collapse siteboss to single OS, implement siteboss sensors in advanced discovery

* add siteboss unit tests

* removed unneeded OS disco defs

* styleCI changes

* more styleCI changes

* split siteboss os to siteboss530 and siteboss550

* split siteboss os to siteboss530 and siteboss550

* move php polling back into yaml

* keep original siteboss OS name

* resave snmp data for siteboss OS

* resave snmp data for siteboss550 OS
2020-10-20 19:11:12 -05:00
PipoCanaja f822567186 Fix wrong Zyxel GS1900 Q-BRIDGE replies (fdb-table) (#12230)
* handle wrong GS1900 zyxel QBRIDGE implementation
2020-10-20 19:01:17 -05:00
Jellyfrog 0a30243416 Convert VyOS to yaml (#12231) 2020-10-20 13:31:12 +02:00
Tony Murray a0f91de9b2 Capture OSPF test data (#12215) 2020-10-19 09:35:41 -05:00
Guilherme Poletto 3753e70476 initial support for DC-UPS-48 from algcom (#12209)
* initial support for DC-UPS-48 from algom

* add snmprec files for algcom-dc-ups

* rename MIB and create json test unit

* new MIB name, recapture test snmprec and json

* remove unnecessary OS matching
2020-10-17 22:05:02 +02:00
Tony Murray 6cd42b3ee0 Fix Oki LAN OS info (#12213)
* Fix Oki LAN os info
fixes #12207

* Add test data and some bonus info
2020-10-16 15:07:29 +02:00
Richard Kojedzinszky 2ca6f2f8d4 schema: add missing primary keys (#12106)
* schema: add missing primary keys

* Exclude ipv4_mac.id

* Made primary key migrations SQLite compatible

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-10-14 20:37:40 -05:00
Tony Murray 1e4702fa4f Support multiple daily process locking backends with distributed polling (#11896)
* Implement locks in the file cache

* Replace custom locks

* implement restore lock
Used when re-hydrating

* remove legacy use statements

* Add class descriptions

* Fix style

* Default to database cache driver

* missed cache_locks table
prevent chicken-egg issue

* style fixes

* Remove custom file lock implementation

* missed items from file cache

* Update schema definition
hmm, other schema noise must be from manual modification as this is generated from a freshly migrated db.

* require predis, it is pure python, so no harm in adding

* and set predis as the default client
2020-10-07 07:36:35 -05:00
Dag Bakke f9d1719296 make Eaton Gigabit Network Card (AKA M2) a separate OS (#12156)
* - make Eaton Gigabit Network Card (AKA M2) a separate OS
  (this hardware shares the sysOID with an older product, but not much more than that.)
- add relevant and updated mib-files. This creates duplicates of the same mibfile in mibs/.
  unsure if this can be avoided

* axed some old mibs again
2020-10-06 16:57:45 +02:00
Jellyfrog b5d94c38a6 Add support for Supermicro hardware/serial discovery (#12176)
* Add support for Supermicro hardware/serial discovery

* add tests

* prefix with supermicro

* Update ServerHardware.php

* Update linux_supermicro.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-10-06 01:16:29 -05:00
Tony Murray 1b0210e16b Add opengear hardware discovery (#12189)
Thanks @sjtarik
2020-10-05 18:10:11 +02:00
Tony Murray 88b40c3d6c All os detection now uses Yaml (#12186)
* All os detection now uses Yaml
Move OS detection code into the Core module.
Defer all OS with snmp queries.
Add snmpwalk option.
Port ubnt and mobileiron to yaml.

* Silly ide refactor
2020-10-05 14:26:37 +02:00
Dan Baker a818b26b58 Ciena SAOS 8 device improvements (#12172)
* Ciena SAOS 8 device improvements
- improved interface polling for certain devices with broken ifXEntry and long ifEntry value caching
- added G.8032 virtual ring status sensors
- adjusted default alert threshold for a sensor because some devices provide a nonsensical value (more work to be done here)

* Style fixes

* missed whitespace

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-10-04 20:43:54 -05:00
TheGreatDoc 6357db57f7 New device: Rohde & Schwarz Sx800 (#12181)
* New device R&S

* Fix SVGs

* Fix SVG (v2)

* Fix definition
2020-10-03 18:31:44 +02:00
FingerlessGloves 039ce4cb55 Add FreshTomato OS definition which is fork of tomato (#12173)
* add freshtomato snmprec file

add freshtomato snmprec , generated from latest freshtomato release

* add freshtomato test data

add freshtomato test data, generated from latest freshtomato release

* add freshtomato os definition

add freshtomato os definition

* freshtomato discovery for version, hardware model 

freshtomato discovery for version, hardware model

* update freshtomato.snmprec, extra oid

update freshtomato.snmprec, extra oid now showing since going to 1.68, from over night update.
LibreNMS can now show version and hardware (router model) correctly.

* update freshtomato.json, hardware is now populated

update freshtomato.json, hardware is now populated, since going to 1.68, definition discovery is working correctly it seems.

* Regenerate without lo ignored.

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-10-02 08:50:49 -05:00
Tony Murray 863fb96205 Scheduled maintenance test (#12171)
* alert schedule test

* Fix style

* Skip broken tests for now
2020-10-01 03:00:42 -05:00
Tony Murray 551e95a2e0 Docs: don't index changelogs (#12166)
* Docs: don't index changelogs

* Exclude 2019 changelog
2020-09-30 10:11:32 +02:00
Tony Murray 9b4f8931a3 Windows detect newer versions (#12164)
* Fix Window hardware info flapping

* add description

* Missing features field

* Rename hardware method

* Updated test data
2020-09-30 01:01:43 +02:00
Tony Murray 2a515d308a Fix older ProCurve hardware/version (#12155) 2020-09-24 12:51:41 -05:00
craig-nokia 8381aa5b89 Adding basic support for Symertricom-Microsemi SSU2000 (#12145) 2020-09-24 17:06:01 +02:00
Dag Bakke 99309b917c Eaton mgeups fixes (#12150)
* Drop redundant sensors from eaton-mgeups. Prefer RFC1628-sensors. Keep stuff unique to the mge MIB.
Add snmprecs for two new variants.

* Rewrote these jsons files after the previous change. All tests passing.
2020-09-23 23:17:37 +02:00
Heath Barnhart 8a921567ba New OS: Ekinops (#12088)
* Initial push

* renamed mib files

* adding eki mgmt event trap handler

* Adding handler to config/snmptraps.php

* added slot state monitoring

* Ekinops port discovery script

* cleanup

* moved ifDescr change from discovery to poller

* simplified port poller script

* fixed poller array

* add Mgnt2TrapNMSEvent handler

* Adding nms alarm handler

* adding handler to snmptrap.php

* Updated handler names, exapanded event traphandler

* beginning tests and cleanup

* adding snmpsim data

* making tests

* finished trap tests

* fixed ekinops.yaml

* style and lint pass

* new snmpsim data and fixes

* adding correct snmpsim

* fixed test data

* Update ekinops.svg

* Update ekinops.svg

* Update ekinops.yaml

* new os discovery method

* remove unneeded precache line

* removing unneccesary pre-cache script

* styleci fixes

* few more style fixes

* trim whitespace in discovery

* remove unused mibs

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-09-23 18:23:57 +02:00
PipoCanaja 0e0e80c827 More eventlogs for snmptraps (#12112)
* Allow detailed trap display and inform user about snmptrapd misconfiguration

* Documentation update

* Documentation update

* Documentation update

* CodeClimate

* CodeClimate

* ChangeRequest PR

* Fix tests

* config_definitions

translation

doc

* styleci

* lnms translation generate after npm-install
2020-09-23 17:00:02 +02:00
n-lyakhovoy 2b07beca35 Mistake in ddmDiagnosisRXPower OID (#12114)
* Mistake in ddmDiagnosisRXPower OID

Mistake in ddmDiagnosisRXPower OID (its same as ddmDiagnosisBias)
Right OID is .1.3.6.1.4.1.40418.7.100.30.1.1.17

* Update snr.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-09-22 11:38:54 -05:00
O Palivan ac30c78039 TAIT - Chassis, Software and Serial detection (#12131)
* HW, Ver and Serial

* tests
2020-09-21 19:57:56 -05:00
Jellyfrog 29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
Jellyfrog 0d56bbd946 Apply fixes from StyleCI (#12123) 2020-09-21 15:51:53 +02:00
Jellyfrog 77c531527c Apply fixes from StyleCI (#12117)
* Apply fixes from StyleCI

* Disable style check
2020-09-21 14:54:51 +02:00
Tony Murray 39076131ae Bug - fixed incorrect test data (#12108) 2020-09-19 10:35:37 +02:00
Avinash Kumar 78fa539628 Icecast, Opensips and Voip monitor Application (#12070)
* Icecast added

* Opensips added

* Voip Monitor added

* Icecast documentation

Icecast corrections

* Opensips documentation added

Opensips corrections

* Voip monitor documentation added

Voip monitor corrections

* Icecast corrections

* Opensips corrections

* Voip monitor corrections

* test data added for icecast

* test data added for opensips
2020-09-18 16:49:20 +02:00
PipoCanaja f32e91a46c TPLINK - Refactor HW discovery (#12105)
* refactor tplink hw and version

* tests
2020-09-18 16:43:51 +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 935f9b924d Synology DSM: Moved to yaml discovery (#11962)
* Synology DSM: Moved to yaml discovery

* Fix styleci issues + sensors indexes to match php ones

* Fixed test

* Tests on DS214se

Tests on DS214se

* remove ds214

* Update dsm_ds916.json

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-09-18 00:51:02 -05:00
Magnus Larsen 22ce3bc743 Added support for OS detection from NXOS and UCS (#11722)
* Added support for OS detection from NXOS and UCS

* Changed to SysObjectID instead of Hardware

* Move to YAML

* Rename test cases from nxos to ucos

* Update ucos_2.json

* Rename nxos.yaml to ucos.yaml

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-09-18 00:37:35 -05:00
Adam Bishop bbdb1a2a5d Rewrite smokeping script to be an lnms command (#11585)
* Rewrite smokeping script to be an lnms command

* Add a default number of probes for smokeping

* Formatting fixes

* Refactor to simplify a couple of methods

* Fix a name collision when using more than 60 threads

* Simplify

* First pass at documentation

A few climate fixes too.

I'm a little dubious about the + LibreNMS fix - it could be included
in /etc/smokeping/config if it is really needed, but it sounds like
(looking at git blame) it's needed for if the script generates a broken
configuration file.

I'm thinking we should just not generate broken config.

* Improve testability and add some tests

* Load laravel to make translations available

* Second pass at documentation

* Fix brace

* Extend the device factory to include the type

Also adds a device group fake I created before I realised I didn't need it

* Mimic gen_smokeping.php a little more closely

* Update tests to properly verify old and new behaviour against each other

* Replace gen_smokeping with a wrapper

* Don't double whitespace

Render does this automatically.
Explicitly order by hostname too.

* Make faker less likely to generate duplicates

I tried adding a unique constraint here, but it didn't have the
intended effect.

Extending the hostname like this seems to work fine - I tried
generating 10 million hosts and got no duplicates, compared to
duplicates appearing with as few as 100 hosts without this
 change.

A true fix would be to add an 'fqdn' fake upstream.

* Make the tests more robust

* Assorted bug fixes

* Style corrections

* Handle 'generic' devices

* Fix an issue that came up during rebase

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-09-18 00:04:54 -05:00
O Palivan d559ffa9e6 Device support for Tait Infra93 (#12093)
* Mibs

* Tait MIB support for TB9300

* initial

* typo

* Tait suite

* Tait suite

* Tests

* spaces

* yaml def syntax

* spaces

* RSSI name

* spaces
2020-09-17 13:24:53 +02:00
q7joey 700b2cf5aa Add Sensatronic E4-16 support (#12083)
* Update sensatronics-em1.yaml

sysObjectID wasn't specific enough.

* Create sensatronics-ittm.yaml

Add support for 4/16 channel units

* Create sensatronics-ittm.yaml

Add support for 4/16 channel units

* Change name to be specific to ITTM

* Create sensatronics-ittm.snmprec

* Create sensatronics-ittm.json
2020-09-17 13:23:43 +02:00
Denny Friebe cba51763cc Fix incorrect eth0 status for Ubiquiti AirFiber 5XHD (#12025)
* UBNT AF LTU: Fix incorrect eth0 status during discovery

* UBNT AF LTU: Update test data

* UBNT AF LTU: Remove eth0 if afLTUethConnected is not set

* UBNT AF LTU: Use require instead of require_once
2020-09-16 22:48:32 +02:00
Anthony Brandelli 9ab4f3351f Add detection of Cisco ftd 4115 (#12092)
* Add detection of Cisco ftd 4115

* Create ftd_4115.json

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2020-09-16 12:42:30 +02:00
tarik 2dfb37548d adding serial number discovery to aruba os poller (#12053) 2020-09-15 22:29:15 +02:00
crcro 9026cf54c0 osnexus quantastor initial support (#12045)
* initial release

* fixes

* cleaner snmprec

* updates

* remove legacy files

* updates

* fixes

* cleanup

* test data ... again

* yaml fix and test data

* tests update

* polling temps

* remove unused line

* - hdd temp fix

- tests without ignores
2020-09-13 23:45:11 +02:00
craig-nokia dda6377424 Add basic support for Emerson Netsure Controllers (#12091) 2020-09-13 23:03:35 +02:00
craig-nokia b91080df0b Add basic support for GE Galaxy Pulsar Plus Controllers (#12087)
* Add basic support for GE Galaxy Pulsar Plus Controllers

* Add basic support for GE Galaxy Pulsar Plus Controllers

* Add basic support for GE Galaxy Pulsar Plus Controllers

* Modified Gepulsar.php
2020-09-12 01:34:32 +02:00
ospfbgp 59bc379a31 Add support for VOSS switches VSP-4900-12MXU-12XE, XA1440, and XA1480 (#12072)
* Update voss.yaml

* Update xos.yaml

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload
2020-09-11 15:26:19 +02:00
MARMONIER Cédric 7cd68f7ec6 Ifotec product integration (#12038)
* IFOTEC new product integration

* change source code indentation

* change source code for code climate checking

* change source code for code climate checking

* deletion of an unnecessary line

* add ifotec.php and test units

* forgetting about the previous commit

* modifications of test units

* add a test units

* optimization and add test units

* change SMNP mode request

* source code cleanup and and file for test units

* update .snmprec file

* update json test file

* update json test file

* IFOTEC mib integration

* add IFOTEC mib files

* IFOTEC mib integration for sensors

* cancel $oid2 unset

* delete useless line
2020-09-10 10:38:36 +02:00
Russell Morris 891a42e1c6 OS: Add support for Beagleboard (#12060)
Includes Beagleboard and Beaglebone boards. Also includes temperature
sensor support (also in test data)
2020-09-10 00:06:11 +02:00