Commit Graph
1097 Commits
Author SHA1 Message Date
KingJ 7bc2f9621a Extend processor polling to Dell Powerconnect N1100 and N1500 series (#11631)
* Extend processor polling to Dell Powerconnect N1100 and N1500 series

* SNMP test data for Dell Powerconnect N1124T-ON

* SNMP test data for Dell Powerconnect N1148T-ON

* SNMP test data for Dell Powerconnect N1524P
2020-05-17 21:15:39 +02:00
PipoCanaja b9c2f75092 Riedo E3Meter PDU (#11624)
* e3meter

* display

* tests
2020-05-16 10:14:46 +02:00
Facundo Caselles 2869a33ba5 Update Airos.php to match with Airos 8.x.x (#11400)
* Update Airos.php to match with Airos 8.x.x

Oid changed from AirMaxQuality (not used anymore), to Airtime

* Update Airos.php

* update airos.php to use wirelessUtilization

Using OID for UBNT-AirMMAX-MIB::ubntAirMaxAirtime.1 for wireless sensor utilization.

* Removed Airtime from quality

* Tests

* Update airos.json

* airos.snmprec reverted to previous state, and uploaded airos_airos8.snmprec

* Added airos8 snmprec

* Create airos_airos8.json

* Update airos.json

Co-authored-by: Tony Murray <[email protected]>
2020-05-14 23:14:59 -05:00
Jellyfrog ec57d3b669 Run artisan optimize after composer install (#11465)
* Remove unused routes

Prevents route:cache from working also

* Run artisan optimize after composer install

Helps cleaning up issues with upgrades, and also makes laravel a bit
faster

* Update composer.json

Co-authored-by: Tony Murray <[email protected]>
2020-05-14 21:10:03 -05:00
Tony Murray b573c9ef73 Implement OS specific information discovery (#11446)
* Implement OS specific information discovery
That way it doesn't have to be fetched during polling
Also improve discovery process, os is only detected once, in the core module.
EXA is the test os, a couple improvements there.

* Use local variable, then unset it so we don't pollute.

* fix style issues

* test and other fixes

* attribute update fixes

* Update exa data, need new source data

* null missing "os" values

* fix ftos odd character

* fix ftos odd character

* only null for new style or we will reset to null every discovery

* Move device observer to own class

* Handle location, relocate event logging

* update exa e7-2 data

* update ird test data, apparently unicode is now working.

* update Linux ntc, now uses correct icon

* Only load all os on the web, also, we can't load existing the the database isn't connected.

* only for devices that have a location

* revert ftos test data apparently

* revert ird
2020-05-14 11:27:59 -05:00
Tony Murray f80ff5266d Fix Papouch detection too generic (#11540) 2020-05-13 23:38:00 -05:00
PipoCanaja 804bb22a5a Correct options for IBMC version polling (#11587)
* Correct options for version polling

* Update ibmc.json
2020-05-12 16:09:18 -05:00
Alexander Moisseev 0900f9513e Add serial for QTECH QSW-3400 (#11569) 2020-05-10 22:08:07 +02:00
Jozef Rebjak 3b79ca0e79 Added warmStart trap handler (#11583)
* Added warmStart Trap

* Added warmStart Trap Test
2020-05-10 21:50:19 +02:00
Jozef Rebjak 44f3dea8e8 Fixed issues with IMCO Power (#11559)
* Fixed Issues with IMCO Power

* Fixed TRAVIS
2020-05-10 21:48:34 +02:00
Tony Murray 73ac93d729 Fix errors for some devices loading components (#11527)
* Test WIP

* WIP

* port getComponents to Eloquent

* port more

* simpler creation

* change to explicit arrays

* add missed file

* restore commented code

* fix inserting null value for component prefs

* Fix some bugs in setCompenentPrefs
Can't create tests without fixing bugs first :D

* another test

* another test

* Modernize setComponentPrefs

* Test for event log entries

* Fix delete event

* fix invalid values for component toggles

* status log too

* Use Setters to work around bad data, $casts doesn't do what we want.
2020-05-08 00:30:56 -05:00
Alexander Moisseev 25330646f6 New OS: QTECH (#11556)
* New OS: QTECH

https://www.qtech.ru/en/catalog/

* QTECH: Add hardware, version and serial support

* QTECH: Fix platform and software version detection

* QTECH: Add test for QSW-3450
2020-05-06 23:34:02 +02:00
arrmo 280e010286 Updates to Brother Printer (#11532)
Fixes issues observed in LibreNMS (timeouts, missing data)
Manual snmpwalk vs. snmpbulkwalk confirmed no bulk support
Missing toner, network, etc. information now seen in LibreNMS!
2020-05-06 23:30:35 +02:00
Damon Reed 53b75b289e Added bgpPeerDescr for Arista OS (#11495) 2020-05-06 00:51:39 +02:00
Vitali Kari 1108f7d530 MPLS updates and bugfixing (#11468)
* MPLS updates and bugfixing

* Tests

* tests

* code climate, tests

* tests

* tests

* remove nokiaIfName(), fetch ifName from the database instead

* restore from messed rebase

* tests

* btw, fix travis about the missing docs

* tests

* tests

* clean the messed up test data an generate new for timos

* rebase
2020-05-01 23:05:51 -05:00
Tony Murray 0e9cd8fbc4 SIAE Radio: add additional sensors and data (#11498)
* SIAE add additional sensors and data
Improved labels
Modulation
Rate
Serial Number
Hardware name

* Add total rates

* was supposed to be divisor

* Short array syntax
2020-05-01 22:11:35 -05:00
Adam Bishop ce8de5cb18 Support FreeNAS/TrueNAS 11.3 (#11494)
* Support FreeNAS/TrueNAS 11.3

Seems the latest release changes the SysObjectID from FreeBSD to
their own enterprise number.

I've left the old FreeBSD enterprise number in place, so both
older and newer releases will be detected.

* Test data
2020-04-28 15:50:00 +02:00
Adam Bishop 83dd1f0a16 Detection, sensors and zpool/dataset usage for FreeNAS, TrueNAS (#11474)
It's also possible to do zpool IO from the MIB, but diskIO on
LibreNMS makes a lot of assumptions about it coming from the UCD
MIB.

This changeset adds detection for FreeNAS and TrueNAS - despite
having their own enterprise number, the snmpd uses the FreeBSD
one.

The naming is a bit all over the place, because this reflects
reality - IXSystems produce FreeNAS and TrueNAS, the product lines
have merged to eliminate FreeNAS, but TrueNAS still calls itself
FreeNAS everywhere except the GUI.
2020-04-27 17:23:44 +02:00
gonzocrazy eb76218127 Opengear add mempool discovery+polling (#11491)
* opengear MemPools

Discovery and Polling of opengear mempools - opengear Detail Memory Usage is already collected however that can not be used to trigger rules.

* add test

opengear mempools tests

* remove newline
2020-04-27 09:04:57 +02:00
Jurrian van Iersel d61cfb5688 Added sensors for outlets on Schleifenbauer devices. (#10949)
* Added sensors for outlets on Schleifenbauer devices. Also use the outlet name when configured.

* Updated tests for Schleifenbauer

* Fixed on test for Schleifenbauer

* Optimized polling by retriving only outlets from the device with the network connection, not all devices on the data-bus.

* Fixed code styling

* Use shorthand comparisons for names

* Fix for conflicting $entPhysicalIndex
2020-04-27 00:35:00 +02:00
Adam Bishop 3690ca4928 Add OS detection for Greenbone appliances (#11464)
* Add OS detection for Greenbone appliances

They don't expose anything fancy over SNMP, but this makes them
display interface names correctly. Under the hood they're unix-y.

Greenbone logo is from the AGPLv3 gsa, which is GPL compatible:
https://github.com/greenbone/gsa/blob/master/gsa/public/img/greenbone.svg

The mib is included for completeness, but it doesn't expose any
graphable values.

* Fix the vendor's logo
2020-04-26 13:11:49 +02:00
Tony Murray d4225806a8 Run docs tests when only docs are modified. (#11483) 2020-04-25 21:43:03 -05:00
Mathieu Poussin fc391090e1 BGP Polling: Add error code management (#11424)
* BGP Polling: Add error code polling

* Rework describe_bgp_error_code and fix bgp error fields migration

* Add real test data for IOS-XR and Arista EOS
2020-04-24 22:47:20 -05:00
Adam Bishop b7b298806f OS detection and sensors for Dell Compellent (#11467)
* OS detection and sensors for Dell Compellent

... or Dell storage as it is now known. Under the hood it's
referred to as Compellent, so I've named it as that to avoid
confusion.

It is not part of the Dell group or using the Dell MIB folder -
Dell have doubled up on some OID definitions, which means the MIB
here and a couple of the existing ones conflict.

The change adds OS detection and a frankly ludicrous amount of
sensors. I have access to a relatively low end device, so at the
moment everything under *ctlr* is my best guess based on the other
table layouts.

* Set sensor state_name to avoid collisions

* Regenerate test data
2020-04-23 22:58:22 -05:00
arrmo e3c1a3bbef Add OS version to asuswrt-merlin (#11438)
* Add OS version to asuswrt-merlin

* Add test data, for latest asuswrt-merlin updates

* Updated / corrected test files, snmprec and json
2020-04-23 22:50:30 -05:00
robwilkes daebf8c765 Cisco sensor discovery fixes (#11077)
* Sev and Rel terminology varies between devices

* Most temp sensors don't have low limits, so adding

* update test data

Co-authored-by: Tony Murray <[email protected]>
2020-04-23 22:30:27 -05:00
priiduonu 4df3310d4d Fix: Raspberry Pi frequency sensors discovery (#11460)
* Fix: Raspberry Pi frequency sensors discovery

* updated test data

* update test data again

* fixed Raspberry Pi codec states
2020-04-22 21:53:27 -05:00
Wheel 59222847b9 Ubiquiti Airfiber LTU many more sensors (#11382)
* Update AFLTU mib

* Airfiber LTU details

* More detailed graphs for Ubiquiti AF-LTU

* Travis fix

* Cleanup and Modulation change

* Ethernet port status

* SNMPrec

* SNMP data json
2020-04-22 01:30:35 -05:00
mathieu-oui 5c52403dd1 Fix PanOS Sessions count and add Vsys and other sensors (#11341)
* fix panos sessions and sslproxy

* add test file

* update mibs

* add tests

* test correction

* delete useless line

* correction

* correction mib

* Add additional sensors

* test data

Co-authored-by: Tony Murray <[email protected]>
2020-04-22 01:27:54 -05:00
Adam Bishop 4c14efb375 Fix routing engine discovery on standalone JunOS devices (#11381)
* Fix routing engine discovery on standalone JunOS devices

In #9426, the sensor discover code was replaced with YAML.
Unfortunately it treats the FRU table as standalone OIDs, and did not
implement the filtering that was present in the original code.

This change causes LibreNMS to fully walk the FRU table, which allows us
to silence alerting on devices with an 'unknown' status. Without this
change, standalone devices have a spurious routing engine with state 1,
which triggers false harware failure alerts.

As we're changing the name of the sensors, this causes a loss of sensor
history.

This has been brought up on community a couple of times:
  https://community.librenms.org/t/juniper-qfx-routing-engine-state-alert/6152
  https://community.librenms.org/t/spurious-failed-routing-engine-from-some-junos-devices/6208

* Update test data

* Update test data

* Update test data

* Update test data

* This syntax works, but fails linting
2020-04-22 01:23:51 -05:00
Jellyfrog a04c8c0b84 Replace deprecated @expectedException (#11451)
Deprecated in phpunit 8
2020-04-21 07:27:13 -05:00
Tony Murray 64817209eb fix class names (#11441) 2020-04-20 21:17:14 +02:00
Lars Elgtvedt Susaas b3d1b97a3b Addhost tests (#11385)
* Create addhostCliTest.php

Added test for addhost.php cli tool

* Added test for addhost function

Added tests and fixed code in order for the function to be able to run with default parameter

* Create addhostTest.php

added tests for addhost function

* Update addhostCliTest.php

Changed from testing addhost.php to Artisan command 'device:add'

* remove delhost exec

* remove delhost

* Remove isn't needed, transactions are used.

* Remove unneeded, transactions are used.

Co-authored-by: Tony Murray <[email protected]>
2020-04-19 17:36:01 -05:00
Jozef Rebjak bb9ebb4e45 Added support for Peplink Pepwave & FusionHub (#11432)
* Added support for Peplink Pepwave & FusionHub

* Travis fixes

* Another Travis fixes

* Travis fixed

* Travis fixes

* Update peplink.svg

* Resolved reviews

Co-authored-by: Tony Murray <[email protected]>
2020-04-19 10:28:21 -05:00
Tony Murray 1c08c11a77 Remove Laravel helpers (#11428)
* Remove Laravel helpers

* Replace qualifier with import
2020-04-18 00:37:56 +02:00
Tony Murray 729eeccaa4 Update BGP test data (#11433)
* Update BGP test data
Leave astext for now

* .....
2020-04-17 14:40:45 -05:00
RobJE 3afdbb71c8 APC polling copy-n-paste error (#11429)
* fix a copy-n-paste error

* correct test data
2020-04-17 14:24:10 +02:00
PipoCanaja d67b34b934 Added device Netvision with rfc1628 support (#11426) 2020-04-16 09:12:24 +02:00
Mikkel Mondrup Kristensen 212c9aad95 Add support for Advantech switches (#11415)
* Add Advantech logo.

Taken from https://commons.wikimedia.org/wiki/File:Advantech_logo.svg
with minor edits (removed width and height).

* Add Advantech MIB files.

* Add Advantech definitions.

* Add suppor for version and hardware polling.

* Add advantech snmp recording.

* Add sensors for SFP ports

Each SFP will have temperature, voltage, tx bias, Tx/Rx power.
Also update snmp recording to include new data.

* Rename ADVANTECH-EKI-PRONEER-MIB_1_01.mib to ADVANTECH-EKI-PRONEER-MIB

* Rename advantech-common-mib.mib to ADVANTECH-COMMON-MIB

* Update advantech.yaml

* Update advantech.svg

* Create advantech.json

Co-authored-by: PipoCanaja <[email protected]>
2020-04-14 11:05:22 +02:00
James French bc16d35d65 Added hardware detection for FreeBSD (#11313)
* Added hardware detection for FreeBSD

* Clean-up unnecessary str_replace

* Cleanup str_replace() in existing code

* Added OS module tests for FreeBSD Hardware Detect

* Create freebsd.json

Co-authored-by: PipoCanaja <[email protected]>
2020-04-12 11:16:19 -05:00
Noah Roufus e37417e6c2 Added support for ICT Modular Power System and ICT Sine Wave Inverter (#11182)
* Added support for ICT Modular Power System and ICT Sine Wave Inverter

* Added SNMP test data for ICT Modular Power System and ICT Sine Wave Inverter

* Fixed styling errors and refactored state sensor for ICT Sine Wave Inverter

* Fixed newly created styling issues from refactoring ICT Sine Wave Inverter files.

* Fixed further styling errors from previous changed to appease Travis CI

* Removed unnecessary math from ICT Sine Wave Inverter voltage sensor

* Cleaned up unnecessary lines in ict-mps/ict-swi sensors. Moved from snmp_get to snmp_get_multi in ict-mps/ict-swi os pollers.

* Added test data for ICT MPS and SWI

* Fixed issue with load sensor not discovering

* Update snmpget to snmp_get

Co-Authored-By: Jellyfrog <[email protected]>

* Updated test data post-fixing sensor detection issue on ICT Sine Wave Inverters

* Moved ict-swi and ict-mps from legacy to yaml sensors

* Removed legacy code for ict-mps and ict-swi sensors

* Last commit mistakenly removed OS polling from ict-mps and ict-swi

* Fixed formatting for OS polling and updated test data for ict-mps and ict-swi

Co-authored-by: Jellyfrog <[email protected]>
2020-04-12 10:42:57 +02:00
Tony Murray 790ef61b0d Small test speedup (#11411)
Use Log::event() inside log_event()
Mock Log::event() in module tests to prevent writing to the database.
2020-04-11 19:53:25 -05:00
Heath Barnhart d6de5cb67b CyberPower SNMP Traps (#11403)
* Initial Commit of Handlers

* Starting unit tests

* Completed Unit Tests
2020-04-10 13:27:15 +02:00
PipoCanaja 3fb46710a6 Added support for RIEDO data concentrator (#11237)
* Riedo E3Meter DataConcentrator

* Riedo E3Meter DataConcentrator Image

* logos

* name

* Freq + Power

* Power

* Tests + standalone riedo mib

* tests
2020-04-10 13:24:49 +02:00
PipoCanaja ad1c7d0e19 IPv6 support for BGP peers in VRP devices (#11243)
* ipv6 support for BGP routes in VRP devices

* reverse bgpPeers array to allow VRF aware BGP

* codeclimate

* codeclimate

* codeclimate, finally

* Split VRP out of bgp-peers for readabilty

* Split VRP out of bgp-peers for readabilty

* tests

* CodeClimate

* improve function description

* improve function description

* v6data

* rebase

* space

* ipv6 support for BGP routes in VRP devices

* reverse bgpPeers array to allow VRF aware BGP

* codeclimate

* codeclimate

* codeclimate, finally

* Split VRP out of bgp-peers for readabilty

* Split VRP out of bgp-peers for readabilty

* tests

* CodeClimate

* improve function description

* improve function description

* v6data

* rebase

* space

* fixed corner case
2020-04-10 13:22:26 +02:00
PipoCanaja 07d4da21ca Add support for Ascom IPBS (#11308)
* ascom support

* tests

* typo

* Correct missing 'mpls' in misc/os_schema.json

* remove mpls for now

* tests

* Update ascom.svg

* Don't disable already disabled modules

As I usually state, not much gain in disabling these here.   Would be better to optimize the modules if you think they take too long on devices that don't have support.

* refactor polling code

Co-authored-by: Tony Murray <[email protected]>
2020-04-10 13:21:25 +02:00
Martin22 c379fee161 Add support Ray3 (#11374)
* Add support Ray3

* Create ray3.json

* Fixed copyrights, comments and move MIB file.

Co-authored-by: Tony Murray <[email protected]>
2020-04-05 17:13:22 +02:00
Tony Murray f0d68a1ad8 Update PHP dependencies (#11377)
* Update composer dependencies
Fix PSR-4 violations

* Actually support PHP 7.1 :D

* all trap tests should extend SnmpTrapTestCase
2020-04-03 17:13:18 -05:00
Tony Murray 4335607a8d fix asterisk test data (#11378)
* fix test data
oops

* fix order

* one too many
2020-04-03 12:20:41 -05:00
Hayden 7c770a99d8 Fix 10853 os specific syslocation (#11082)
* added functionality to set sysLocation override in $os.inc.php files

* php styling fixes

* updated docs for location override in $os.inc.php

* patch poweralert.inc.php to use $location override

* added location override for enexus (Eltek)

* update phpdoc for set_device_location()

* converged location code in core.inc.php to use set_device_location()

* added new snmprec test data for enexus os

* Travis test data

* remove enexus_smartpacks2 test data

* Revert "remove enexus_smartpacks2 test data"

This reverts commit 36c8fc7036.

* updated enexus_smartpacks2 test data with generic syslocation

* kick travis CI

* kick travis CI
2020-04-02 23:28:12 +02:00