Commit Graph

460 Commits

Author SHA1 Message Date
Tony Murray
11147d3bbf Major Processors rewrite (#8066)
* Extract DiscoveryItem and move some things to better places.
Extract model class
Fix up model construction.  I have problem with construction...
Makeshift model working.  Switch constructor to factory.  discover() and create()
Support legacy discovery.
Remove uneeded custom pollers
Remove netonix custom detection as we try ucd on all os now.
Add a few yaml procs.  Fix a couple things.
More processor discovery conversions
Move Calix e7 to standard hrProcessorLoad, but it doesn't fully implement the HR-MIB, move things around to make it work.
Add a few yaml procs.  Fix a couple things. Correct some stupid mib stuff.
Move more, drop php 5.3
Add netscaler which uses string indexes.  Port fiberhome to yaml and use skip_values
More conversions.  BroadcomProcessorUsage Trait
Serveriron and Ironware share some mibs.  Create a common abstract os for them.
Add yaml support for mib specification in each data entry
Make legacy discover_processor() set 0 for hrDeviceIndex

Untangle Dell switch OS processors

Use use shared OS for groups if they don't have a specific group.
fix silly mib mistake

Make index optional

Move HR and UCD to Traits and out of Processor.

* forgot to update the fortiswitch index

* Make sgos and avaya-ers match the old index.

* fix comware test data

* fix merge errors

* fix dsm and remove pointless empty modules

* file not found exception is in the wrong place.

* Updated processor development docs
2018-02-05 07:39:13 -06:00
Tony Murray
41f0689d58 fix: Fixes FusionSwitch portname in description for sensors (#8188)
* fix FusionSwitch portname

* Add tests
2018-02-02 16:00:35 +00:00
Tony Murray
b2762d9fa7 refactor: Prevent function collisions with Laravel (#8166)
Make function call compatible
drop insensitive starts_with and ends_with for now as they aren't needed.
2018-01-29 21:58:21 +00:00
Tony Murray
d63fbd0902 newdevice: Added detection for Vivotek Cameras (#8165)
Fixes: #8159
2018-01-29 20:51:08 +00:00
tukezor
0a6f113f5a device: Improved FortiManager support (#8102)
Modified with suggested changes

Test data for FortiOS
2018-01-24 09:37:27 +00:00
Søren Rosiak
14b2419248 refactor: Move more state sensors to yaml (#8016)
* refactor: Move more state sensors to yaml

* Fix errors..

* Update comware.yaml

* Update ddnos.yaml

* Update dell-ups.yaml

* Update mimosa.yaml

* Update waas.yaml

* added some test data for comware and dell-ups

* added mimosa test data

* re-saved comware test data

* set arp-table sort order.
remove unneeded modules from mimosa

* remove arp-table it doesn't work yet

* remove deleted sensors and mempools (which have no snmp data)
2018-01-21 15:43:19 -06:00
Tony Murray
6a29762690 arp-table test module order (#8119) 2018-01-21 09:50:05 -06:00
Søren Rosiak
dc0c4ac276 feature: Add Checkpoint Gaia Sensor (#8088)
* feature: Add Checkpoint Gaia Sensor
fixes #7956

* added test data for gaia

* re-saved the gaia test data

* saved test data for just os and sensors

* Fix state sensor index order
2018-01-21 08:55:07 -06:00
Tony Murray
f7941797b6 Fix testing state sensor index dumping order. (#8117)
Add netonix state sensor test data
2018-01-21 07:43:10 -06:00
Nick Peelman
9ee96bda76 Add Synology Hardware/Version/Serial detection (#8087)
* Add Synology Hardware/Version/Serial detection

Fixes #7957

* Add DSM test data for hardware/version/serial

* updated to use snmp_get_multi_oid and save more test data

* added json data

* re-saved json data for dsm

* Update dsm.json

* Update dsm_ds916.json

* Update dsm_ds214.json
2018-01-21 01:13:33 -06:00
Misha Komarovskiy
36fe6c83dc fix: Bgp-peers junos empty afi-safi names (#8083)
* fix: Bgp-peers junos empty afi-safi names

* fix discovery of all names
* fix polling rrd names assignment

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Update tests data for junos bgp-peers safi update

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
2018-01-20 21:21:39 -06:00
Tony Murray
e53b6f2ef2 Fix tests. (#8116) 2018-01-20 21:06:21 -06:00
mattie47
71b44407b9 Improve legacy Allied Telesis hardware support (#8071)
* devices: Improved Legacy Allied Telesis hardware support #8071

This  patch covers:

Improved SNMPrec test coverage for Allied telesis devices

allied.yaml
	- Increased device exception OID list.
		-  This list of devices are running RADLAN OS, and should not be triggered by allied.yaml
	- Minor bug fixes

allied.inc.php
	- Added updated support for Alliedware devices
		-  Version
		-  Features
		-  Hardware
		-  Serial
	- Added support for Allied Telesis Websmart switches
		-  Version
		-  Hardware
	- Added support for Alliedware Plus version 2 OS devices
		-  Hardware
		-  Version
		-  Serial
	- Simplified polling to use snmp_get_multi_oid
	- Minor bug fixes

radlan.yaml
	- Updated device support for 8000S and 8000GS.
		-  Specified device object IDs
			-  Added an exclusion also for OIDs in allied.yaml
		-  Changed icon and group to alliedtelesis

radlan.inc.php
	- Updated support for devices identifying as radlan OS.

awplus.yaml
	- Added comment to remove the sysObjectID_except list.
	- Minor bug fixes

* added json test data to be used for unit test

* re-saved allied websmart test data
2018-01-20 20:30:53 -06:00
Tony Murray
494c29aefa Split save-test-data.php into two scripts, allow mass update (#8115)
* Add mass update to save-test-data.
Fail when snmpsim doesn't start and try to give a hint.

* Split save-test-data.php into two scripts

One for updating snmprec files.
One for updating db dump files.
2018-01-20 20:22:47 -06:00
Tony Murray
88b4e31912 refactor: Refactored bgp-peers (#7972)
* bgp-peers update
Use IP parsing library more effectively.
Fix update issue
Include comware bgp-peers test data
deeper refactoring
Allow JunOS fallback to BGP4-MIB, some models only use that.
Add junos bgp4 data
Actually update all bpg data in the poller

* fix arista data. refactor some to prevent missing data from mucking things up

* refactor to use $oid_map for BGP4-MIB too

* A few comments to break up teh file a bit

* Junos bgp data an a quick revert for now.

* small cleanup

* fix ios bgp polling, add test data

* check the correct variable
2018-01-18 20:54:38 +00:00
FTBZ
c80f9726c8 feature: Added new EER and Water Flow Rate sensors (#8104)
* Add new EER sensor

* remove bad RRD option

* add waterflow sensor

* add test data result

* added test json data
2018-01-18 20:50:19 +00:00
Neil Lathwood
1f03110b20 refactor: Moved routeros sensors to yaml + fixed divisors (#7946)
* move routeros fanspeed to yaml

* moved more routeros sensors to yaml

* reverted signal migration to yaml

* added routeros test data

* re-saved test data for routeros
2018-01-17 20:25:09 +00:00
Paul Heinrichs
d4bd566d36 newdevice: Added Support for cambium PTP 300, 500, 600 and 800 (#7998)
* Add Support for cambium-ptp500

Added mibs for ptp500, ptp300

* ptp500 - Switch modulation to a state

* Update label on 500 to 500/300

300 and 500 use the same mibs

* Request changes

Added overhead graph's to all current ptp devices

* wrap text in quotes

* Fix discovery bug

* Ptp600 support

* PTP800 Support

* Fix ptp600 issues

* Remove meh copy and pasta

* Remove modulation from OS file

* Update value modifiers / typos

* +x rename-mibs.php

* Modify cambium mibs
2018-01-16 22:52:11 +00:00
Tony Murray
44c1ee5f43 Fix tests... (#8080)
Don't exit when we can't add a device, fail :)
2018-01-12 15:24:12 -06:00
Neil Lathwood
8ec6f138bc Added arbos json data for tests (#8077) 2018-01-12 08:20:28 -06:00
Adam Bishop
77e192208a device: Added support for ArbOS (#8055) 2018-01-12 09:02:24 +00:00
Martin Zatloukal
9a0b06e4de device: Added processor and mempools for EdgeCore switch (#7850)
* Added cpu and mempolls EdgeCore switch

* Added cpu and mempolls EdgeCore switch

* Added cpu and mempolls EdgeCore switch

* Added cpu and mempolls EdgeCore switch

* Added cpu and mempolls EdgeCore switch

* Added cpu and mempolls EdgeCore switch

* Update edgecos.inc.php

* Add files via upload

* Create test.txt

* Add files via upload

* Delete test.txt

* Add files via upload
2018-01-11 22:26:04 +00:00
Tony Murray
b2a54dae3b Testing updates: module testing and collect only (#8063)
* Testing updates module testing and collect only

* cache clear no-longer needed.
2018-01-09 11:40:26 -06:00
Alan Gregory
a7aaf11213 device: Added Hillstone StoneOs detection (#7982)
* Added support for stoneOs

* added Hillstone logo

* added snmp tests

* Updated logo and image

* Removed unnecessary sysdescr match.

* Fix format.

* Removed svg atributes

* Svg files reduced.

* Added test data.

* fixed sysObjectId -> sysObjectID

* Updated test json
2018-01-08 21:48:29 +00:00
Neil Lathwood
42e5819130 refactor: Updated discovery/poller to use numeric sysObjectID (#7922)
* refactor: Updated discovery to use a core module for sysDescr/sysObjectID use

* final update hopefully

* revert changes

* more changes + docs

* migrated poller to use numerical sysObjectID

* more updates for sysObjectID

* update any alert rules which might have enterprises. in

* moved schema file

* small updates

* updated getHostOS()

* scrut fixes

* updated sysObjectId -> sysObjectID

* updated sysObjectId -> sysObjectID

* updated remainder of sysObjectId -> sysObjectID

* another sysObjectId -> sysObjectID

* fixed secureplatform test data

* Fix tests: $device is not pulled from the database before polling
Also, update the db in the core discovery module.
2018-01-06 23:00:47 -06:00
ricardcc
fc610195f7 device: Added CheckPoint SecurePlatform support (#8000)
* Added CheckPoint SecurePlatform support

* Changed some issues

* Changed some issues

* Update splat.yaml

* Changed os name to secureplatform intead of splat

* Changed os name to secureplatform

* Changed some issues
2018-01-05 22:06:07 +00:00
Søren Rosiak
495333ea71 newdevice: Improve Cisco ACS Detection (#8013)
fix #8006
2018-01-04 21:25:13 -06:00
Slashdoom
0c12fb6c94 refactoring: freeradius app metrics (#8002)
Add metrics to Free Radius app
2018-01-04 20:33:04 -06:00
FTBZ
dd8849d265 device: Added Rittal IT Chiller / Carel pCOweb card (#7826)
* device: Rittal IT Chiller / Carel pCOweb

* doc: more documentation about the pcoweb card

* Update Carel-pCOweb-Devices.md

* change the limit for sensors and small changes

* fixed db_schema

* doc updates and sql fix

* doc update

* remove the eer graph to create a sensor
2017-12-30 12:08:04 +00:00
Neil Lathwood
7d0ad5c4ef tests: Added testing for Arista EOS BGP (#7984)
* tests: Added testing fro Arista EOS BGP

* fixing tests

* small updates

* last one

* more updates

* Account for no space after = in snmp data
always load_os() when a new device is freshly loaded by device_by_id_cache()

* don't be fatal in load_os()

* Update json to correct data
2017-12-30 10:31:06 +00:00
Tony Murray
a2bce2690d bgp-peers: fix incorrect variable name (#7979) 2017-12-29 09:17:23 -06:00
dBsooner
0a21ee75ef device: Added cyberpower RMCARD 202 Support (#7964)
* cyberpower-rmcard-202-support

* Create yberpower_rmcard202.snmprec

* Rename yberpower_rmcard202.snmprec to cyberpower_rmcard202.snmprec
2017-12-29 13:01:30 +00:00
Tony Murray
c91ec3842a Fix bugs in bgp-peers poller (#7976)
* Test Data

* fix bugs in bgp-peers poller
peer data in wrong format
array_diff doesn't work right, change to array_diff_assoc
astext is too short for some
2017-12-29 11:52:49 +00:00
Tony Murray
20865b0ca4 OS Testing update (#7971)
* OS Testing update
Option on pre-commit.php to run tests for just one OS. Reorganize tests a bit to support this.
Improved bgp-peers capture and os module capture (initial)
Better output when phpunit tests fail

* fix a couple issues.  Better output for another

* Use the correct setup function
2017-12-28 16:12:08 -06:00
Neil Lathwood
a391e62703 device: Added additional detection for CyberPower devices (#7931) 2017-12-26 23:36:09 -06:00
Neil Lathwood
a3e3c015a6 device: Added further detection for Sophos UTM devices (#7953) 2017-12-26 23:34:39 -06:00
Paul Heinrichs
d9169c6842 device: Cambium cnPilot Support (#7898)
* Cambium cnPilot Support

* Requested changes

* Update MIB dir and snmp_get method

* Fixed assigned var

* Add SysObjectId in tests
2017-12-26 10:03:23 +00:00
Neil Lathwood
3208d879f2 newdevice: Added more sensor support for RouterOS (Mikrotik) + Test data (#7930) 2017-12-21 20:51:29 -06:00
Tony Murray
fff66d3c00 Feature: Generic discovery and poller tests (#7873)
* Processor Tests!

* Capture data from live devices easily.

* fix up some stuff, remove powerconnect things as they seem to be just broken.

* formatting, fix missing assignment
add netonix processor data

* fix multi-line, always add sysDescr and sysObjectID
ios cpm test file

* revert composer change and fix whitespace issues

* add help text

* missed help text

* tighter debug output

* handle empty strings properly and mibs with numbers

* use keys for sorting as intended

* fix type with empty data

* oops :)

* whitespace fix

* try installing fping

* Fix TestCase collision + cleanup

* mark TestCase as abstract
don't run two instances of snmpsim

* better database dumps, improved capture

* style fixes

* fix quotes add a few more tables

* add --prefer-new, properly merge data

* Support separate discovery and poller data. But don't waste space if they aren't needed.

* refactor to use class
collects all code in one place for reusability

* reorganize

* Print out when not saving.

* Support for running multiple (or all) modules at once.

* tidy

* Change unit test to a generic name and test all modules we have data for.

* Add documentation and a few more tidies

* whitespace fixes

* Fix tests, add a couple more modules, more docs

* More docs updates

* Fix scrutinizer issues

* add bgp-peers
2017-12-20 08:36:49 -06:00
Neil Lathwood
02f0280f71 device: Added detection for Cisco FTD devices (#7887)
* device: Added detection for Cisco FTD devices

* Update ftd.yaml
2017-12-15 20:05:28 +00:00
Neil Lathwood
9601324142 device: Added temp and humidity sesors + serial for websensor (renamed from cometsystem-p85xx) (#7854) 2017-12-11 20:34:04 +00:00
Martin Zatloukal
2370072a14 Add support EdgeCore ECS4120-28T (#7880)
* Add support EdgeCore ECS4120-28T

* Add support EdgeCore ECS4120-28T
2017-12-08 14:34:29 -06:00
Tony Murray
b620692426 refactor: Update all applications to store metrics (#7853)
* Update all applications to store metrics

* fix db schema

* Add glue test
2017-12-06 22:13:10 +00:00
Paul Heinrichs
0dd3ec25d3 device: Update Cambium devices to the new wireless sensors (#7703)
* Inital cambium refactor

* Refactored tests

* Remove CMM from pmp group

* Add sensors / Give CMM individual OS

* Fix linting

* More Sensors / states and Revised Headers

* Added old graphs / more sensors

* Add modulation rate to sensor

* Fix Hardware detection bug

* Further hardware detection refinments

* Modify pmp hardware detection

* New Wireless Metric - SSR

* SSR Sensor Graph

* Migrate SSR to metric

* Added last metric file

* Add master check to isAp method

* Fix variables in epmp

* CMM Discovery and state addition

* Add another test for cmm
2017-12-06 21:36:01 +00:00
Tony Murray
5405498ed6 alerts: Adde generic alerts for state sensors (#7812)
* feature: Generic alerts for state sensors
A bit of a hack, but gets the job done. Perhaps someone can refactor the ResolveGlues() function sometime to make it better.

* Fix mistakes

* Add docs and collection rules, critical enabled by default

* moved schema file to 221.sql
2017-12-02 23:03:36 +00:00
Adam Bishop
1c6b7a967f Single Sign-On Authentication Mechanism (#7601)
* Allow the URL a user is sent to after logging out to be customised
This is required for any authentication system that has a magic URL for logging out (e.g. /Shibboleth.sso/Logout).

* Allow auth plugins to return a username

This is a bit cleaner than the current auth flow, which special cases e.g. http authentication

* Add some tests, defaults and documentation

* Add single sign-on authentication mechanism

* Make HTTPAuth use the authExternal/getExternalUsername methods

* Add to acknowledgements

* Add reset method to Auth
2017-11-28 20:40:17 -06:00
mattie47
3206447326 device: Improve Allied Telesis support within LibreNMS (#7670)
* Add support for Allied Telesis AlliedWare Plus products

- Uses mibs from 5.4.7-2.1 for AlliedWare Plus products
- Updates Legacy AlliedWare mibs
- Added Allied Telesis svg

* Remove unnecessary "trim" from snmpget

* Add new line to end of file

* Minor fixes for commit
2017-11-28 20:18:39 -06:00
Neil Lathwood
8d98fa5a5e device: Added support for NetPing UniPing devices (#7807)
* device: Added support for NetPing UniPing devices

* Fix svg viewbox and remove useless style cdata
2017-11-28 08:15:22 -06:00
Neil Lathwood
ae062f901b device: Added additional sensors for Geist Watchdog devices (#7795)
* device: Added additional sensors for Geist Watchdog devices

* added missing divisor

* added os unit test
2017-11-26 21:53:14 +00:00
Tony Murray
2e73b75297 fix: Use memcached to lock daily processes on Distributed Pollers (#7735)
* fix: use memcached to lock daily processes on Distributed Pollers

* All the locks!
2017-11-24 09:37:52 +00:00