1279 Commits

Author SHA1 Message Date
Jellyfrog
1220d583e9 Apply fixes from StyleCI (#12336) 2020-11-21 22:52:58 -06:00
hartred
c66d6493fa SNR-ERD add support RSensor-H/T/P (#12328)
* SNR-ERD add support RSensor H/T/P

yaml

* SNR-ERD add support RSensor H/T/P

test json

* SNR-ERD add support RSensor H/T/P

snmpsim
2020-11-20 21:25:46 -06:00
hartred
3ffb797705 Add support new os SNR-ERD (#12315)
* Add support new os SNR-ERD

mib files

* Add support new os SNR-ERD

discovery os

* Add support new os SNR-ERD

support sensors

* tests files

* tests json
2020-11-14 20:24:50 +01:00
Keryazmi
565dc3c445 New device support named BTI SA-800 Series (#12264)
* New device named bti800

Support new device for model bti sa-805

* Create bti800.yaml

* Create BTI8xx-MIB

* Create BTI8xx-SYSTEM-MIB

* Create BTI8xx-TC-MIB

* Create BTI8xx-INTERFACE-MIB

* Create BTI8xx-SFP-MIB

* Create bti800.inc.php

* Create bti800.inc.php

* Create bti800.inc.php

* Create bti800.snmprec

* Create bti800.json

* OS icon for BTI800

* Update bti800.yaml

Change mib folder name 'bti800' to 'bti'.

* Rename mibs/bti800/BTI8xx-MIB to mibs/bti/BTI8xx-MIB

Change directory named 'bti800' to 'bti'.

* Rename mibs/bti800/BTI8xx-INTERFACE-MIB to mibs/bti/BTI8xx-INTERFACE-MIB

Change directory named from 'bti800' to 'bti'

* Rename mibs/bti800/BTI8xx-SFP-MIB to mibs/bti/BTI8xx-SFP-MIB

Change directory named 'bti800' to 'bti'.

* Rename mibs/bti800/BTI8xx-SYSTEM-MIB to mibs/bti/BTI8xx-SYSTEM-MIB

Change directory named 'bti800' to 'bti'.

* Rename mibs/bti800/BTI8xx-TC-MIB to mibs/bti/BTI8xx-TC-MIB

Change directory named 'bti800' to 'bti'.

* Create bti800.yaml

Added system temperature and transceiver temperature for BTI800.

* Delete bti800.inc.php

System temperature and transceiver temperature code convert to yaml file locate at /includes/definitions/discovery/bti800.yaml

* Update bti800.inc.php

Add missing code at line 20.

* Update bti800.inc.php

* Update bti800.yaml

* Delete bti.svg

* Replace bti.svg to bti.png

* Update bti800.snmprec

* Update bti800.json

* Update bti800.json

* Update bti800.json

* Update bti800.yaml

* Update bti800.inc.php

Change call for each current Tx and Rx value by using pre_cache() function instead using snmp_get() function for each value to return.
2020-11-11 23:13:55 +01:00
Denny Friebe
9977fc46df Rittal CMC III: Add device support for PU and PU Compact (#12268)
* Rittal CMC III: Add device support for PU and PU Compact

* Rittal CMC III: Readd accidentally removed sysObjectID

* Rittal CMC III: Some small fixes

* Rittal CMC III: Use device serial number instead of the internal device id for state index naming
- version, hardware and serial is now read via yaml
- update test files

* Rittal CMC III: Check if the serial number is available

* Rittal CMC III: Update test data

* Rittal CMC III: Update unset

* Rittal CMC III: Remove space in yaml
2020-11-11 23:11:50 +01:00
Wheel
475c079402 Ubiquiti Edgepower battery values (#12247)
* UBNT-EdgeMAX mib update

* Ubiquiti Edgepower new SNMP values

* Fix typo

* Guess test data

* Update edgeos-ep.json

* more favorable rounding

* Update edgeos-ep.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-11-09 00:51:22 -06:00
Patrik Jonsson
591384f321 Adding Fortigate HA checks (#12300)
* Adding Fortigate HA checks

* Fixed issues the linter had

* Moving sync checks to the poller since standalone units was marked as unsynchronized

* Whitespace lint corrections

* More whitespace linting fixes

* Removing haState since it only showed the state of one device in the cluster.

* Adding a third state fo sync where it will show a warning if a device that is part of a cluster does not have a peer

* Updating snmp test data for fortigate 1500d

* Changing numerical oids to names

* Restoring the original 1500d json file

* Adding cleaned test data

* Removing tags to see if that makes Travis happier

* Removing duplicate rows in SNMP data

* Take this Travis!

* Pretty please Travis?

* Fourth time's a charm?
2020-11-09 00:07:45 -06:00
Hayden
e34b6877fd Add OSPF cost (TOS) (#11929)
* add OspfTos model to include ospfIfMetricEntry data (ospf interface cost)

* remove WIP comment

* add new model and db migration

* update OspfTos relationship to OspfPort and correct cleanup call

* add "Cost" to device\routing\ospf web UI interface

* updated db-schema test unit

* updated db_schema to resolve conflicts

* removed tos metrics from rrd ospf stats due to rrdcached errors

* reorder db_schema.yaml to match upstream

* readd ospf_tos to db_schema

* styleCI changes

* Capture OSPF test data

* add ospf unit tests for iosxr

* ospfAuthType

* update db_schema

* remove extra migrations

* add ospf tests for iosxe

* add ospf test to ios

* merge ospf_tos into ospf_ports

* update db_schema

* update ospf module unit tests for ios, iosxe, iosxr

* fix ospf_ports ospfIfMetricStatus column type

* update db_schema

* more efficient dropColumn in down() migration

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-11-07 09:27:25 -06:00
averzicco
f7f2688125 Fix bgp polling for BGP4-MIB devices (#12301)
* Fix bgp polling

* Change polling logic for BGP4-MIB devices

* make int rollover easier to read

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-11-07 09:12:09 -06:00
joseUPV
e781537b56 Ignore aos6 phantom fan (#12303) 2020-11-07 01:56:25 +01:00
Tony Murray
25722bbbd5 Faster initial database creation (#12297)
* Faster initial database creation
Add db dumps to improve initial db migration
On my test system 13s -> 7s, a 46% reduction.
Should help out a lot on systems like RPi

* lnms schema:dump command

--snapshots saves db snapshots, otherwise it saves the yaml

* fix style

* fix timezones...

* not working with in-memory db yet
remove build.sql
2020-11-06 01:19:15 +01:00
Jellyfrog
28591c0330 Split VMware into seperate OS (#12243)
* Split VMware into separate OS

* Bump VMware MIBs
2020-11-03 21:27:23 +01:00
Jellyfrog
50c8033099 Laravel 8.x Shift (#12235)
* Shift HTTP kernel and middleware

* Shift service providers

* Shift console routes

* Shift to class based factories

* Namespace seeders

* Shift PSR-4 autoloading

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them. This allows you to review the commit
diff for once for customizations when you are done Shifting.

Moving forward, consider using ENV variables or create a separate
config file to allow the core config files to remain as default
as possible.

* Shift Laravel dependencies

* Shift return type of base TestCase methods

From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type:

- `setUpBeforeClass()`
- `setUp()`
- `assertPreConditions()`
- `assertPostConditions()`
- `tearDown()`
- `tearDownAfterClass()`
- `onNotSuccessfulTest()`

[1]: https://phpunit.de/announcements/phpunit-8.html

* Shift cleanup

* console routes

* composer update

* factories

* phpunit

* bootstrap pagination

* model factory

* wip

* Apply fixes from StyleCI (#12236)

* wip

* Apply fixes from StyleCI (#12238)

* wip

* wip

* wip

* wip

* Apply fixes from StyleCI (#12240)

* wip

* Apply fixes from StyleCI (#12242)

* composer update

* Bump to PHP 7.3 minimum

Co-authored-by: Laravel Shift <shift@laravelshift.com>
2020-11-03 10:18:31 -06:00
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