432 Commits

Author SHA1 Message Date
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
Neil Lathwood b45302bf70 newdevice: Updated Checkpoint Gaia detection and added storage (#7656)
* newdevice: Updated Checkpoint Gaia detection and added storage

* update db_schema

* added murrants discovery options

* Rename 216.sql to 217.sql
2017-11-22 23:28:33 -06:00
Tony Murray 6371e47fea fix: Fixed precache data (#7782)
Missed one pre-cache data layout
fixes: #7777
2017-11-22 21:42:19 +00:00
Chris A. Evans 64aed60f09 newdevice: Add OS detection and temperature sensor support for Asentria SiteBoss (#7655)
* Initial commit. OS definition/polling, temp sensor discovery/polling, MIBs, logo, snmprec test

* replaced logo with 32x32, shortened sysObjectID in definitions, modifided sensor discovery

* fix syntax error caught by inspection

* requested chases to siteboss temp discovery file, removal of siteboss temp polling file

* converted temp sensor to yaml and added better support to skip values

* updated to use pre_cache with index
2017-11-14 08:35:32 -06:00
Tony Murray 29fc07f018 mib_dir consistency (#7700)
* mib_dir consistency
also, all the snmpget mib_dir lines were unneeded.

* re-add mib_dir for now, can remove the redundancy later if I come up with something.

* fix tests
2017-11-13 20:45:00 +00:00
Tony Murray 46582898fc newdevice: initial detection for Arris Cable Modem devices (#7677)
* newdevice: initial detection for Arris Cable Modem devices

* Add Arris MIBs
2017-11-13 08:13:58 -06:00
tomarch 7f18c458db newdevice : Added detection for Stormshield devices (#7646)
* initial support for stormshield

* renamed stormshield os to ns-bsd

* remove trim
2017-11-08 14:37:38 +00:00
Tony Murray 1e7ed0784e fix: ServerTech discovery (#7668)
This should be using sysObjectID
snmprec updated from stats and ticket.

fixes: #7654
2017-11-07 20:25:24 +00:00
Tony Murray e5f6742cc3 additional os discovery yaml tests (#7669) 2017-11-07 20:24:22 +00:00
barryodonovan 48b564703d newdevice: Added support for Eltek enexus (#7552)
* initial discovery

eltek-enexus discovery and polling

discovery and polling using yaml for subset of features

discovery and polling using yaml for subset of features

removed a few bits

removed some snmp_get() and renamed MIB

 removed header bar mini graph

added snmpget discovery to yaml

renamed os to enexus

undo rebase

* Update enexus.yaml
2017-11-06 17:25:24 +00:00
Tony Murray 3dba5cd39d newdevice: Support Avtech RoomAlert 32E/W and RoomAlert 11E (#7614)
* newdevice: support Avtech RoomAlert 32E/W
Move avtech discovery to yaml, took a bit of trickery

* More flexibility when checking pre-cached data
A little cleanup

* Add support for RoomAlert 32E/W external and wish temp sensors
Add RoomAlert 11E support (just temp sensors)
Updated ROOMALERT32E-MIB
2017-11-04 21:25:13 +00:00
Tony Murray 54b476c769 fix: devices detected as ibmtl or generic (#7618)
* fix: devices detected as ibmtl
Guess at the sysObjectID, please report if you have devices that should be ibmtl and are no longer detected.
Add output of os in discovery.

* Always load all os for discovery.  Should be cached most of the time.
2017-11-03 16:10:24 -05:00
Tony Murray 0d07f85257 feature: Allow snmpget in os discovery yaml (#7587)
* feature: Allow snmpget in os discovery yaml

Re-submit after release

* Remove extra trim in discovery and in snmp_get.
also trim() always returns a string, so is_string() check is a waste of cpu cycles.
2017-11-02 12:41:18 +00:00
Tony Murray fb45f00340 fix: ping fails on servers that don't set PATH in cron (#7603)
* fix: ping fails on servers that don't set PATH in cron
Find the full path to fping and persist it in the database.
Adds the ability to persist settings with Config::set()

* Add ability to set webui settings.
No display of for paths, because it would be inconsistent.
2017-11-01 21:56:47 +00:00
Parth Laxmikant Kolekar 66a2943348 Update CommonFunctionsTest.php (#7579) 2017-10-30 14:33:46 -05:00
Neil Lathwood 3e94077a71 Revert "Update RFC1123 Hostname Check" (#7577)
* Revert "Revert "feature: Allow snmpget in os discovery yaml (#7558)" (#7576)"

This reverts commit 426916dbe4.

* Revert "fix: lldp find_port_id finds not the most correct port (#7564)"

This reverts commit 7e05fff615.

* Revert "fix: Update RFC1123 Hostname Check (#7572)"

This reverts commit ebcfa45a93.
2017-10-29 20:05:59 +00:00
Tony Murray 426916dbe4 Revert "feature: Allow snmpget in os discovery yaml (#7558)" (#7576)
This reverts commits:
193db02475
b73c4e9d6e
a93bb6635d
2017-10-29 14:04:26 -05:00
Parth Laxmikant Kolekar ebcfa45a93 fix: Update RFC1123 Hostname Check (#7572)
* Update RFC1123 Hostname Check

The regex was wrong. It failed to match devices like `cisco-3750x` even though it is a valid hostname. 
I picked this regex from the RFC1123 documentation, and updated it.

* Update CommonFunctionsTest.php

Update tests

* Updated to allow domains ending with a dot
2017-10-29 11:12:32 +01:00
Tony Murray a93bb6635d refactor: Use one snmpget during os discovery (#7566)
Use only one snmpget to fetch sysObjectId and sysDescr
fix multiline data in snmp_get_multi_oid()
add snmp_get_multi_oid() to mock.snmp.inc.php
2017-10-28 11:53:05 +01:00
Zmegolaz f8d7ccfe0d feature: Support for up/down detection of ping only devices.
* Added support for ping only devices.

* Renamed sql-schema/206 to 207.

* Discovery tried to detect the OS when it shouldn't.

* Updated db_schema.yaml

* Added ping icon.

* Don't show unused graphs and tabs when SNMP is disabled.

* Allow the user to specify OS of ping only devices.

* Removing custom OS now changes it to 'ping'.

* Removed unnecessary use of mres().

* UI select box for SNMP enable/disable.

* Hide device_ping_perf if ping is disable on device.

* Fixed SNMP settings update status messages.

* Added functionality to add ping only devices via the web ui.

* Added ping only option to addhost.php

* Added ping only support to snmp-scan.py

* Moved sql 208 to 211

* Fixed scrutinizer issues.

* Fixed broken ossearch.

* Added ping only support to the API.

* Updated API doc.

* Added (optional) to OS and hardware description. Hid Port Settings, Applications, Modules, Storage, Processors, Memory and Components from the edit menu

* Style fix.

* Updated ping icon.

* clean() instead of mres(). More escaping. Better help in snmp-scan.py and addhost.php

* Fixed scrutinizer issue.

* Always try SNMP in snmp-scan.py, new option for it in addhost.php. Slice instead of chunk in ajax_ossuggest.php. Other minor style changes.

* Updated sql modifications to insert the new column in the same place as in db_schema.yaml.
2017-10-27 22:59:25 -05:00
tomarch db3d9dc4ab newdevice: Added detection for proxmox devices (#7543)
* initial proxmox detection

* minor changes

* fixed detection

* change sysdescr
2017-10-27 21:14:26 +01:00
Tony Murray 8a051aa295 fix: Fix a couple of OS cache invalidation issues (#7567)
* fix: fix a couple of OS cache invalidation issues
Fixes issues where we might be using outdated os definitions.

* use Config and fix style issue

* only pull in settings from config.php (otherwise will possibly contain populated os config)
2017-10-27 21:03:58 +01:00
Neil Lathwood 65b0c8bfe4 newdevice: Updated Cisco WAP detection and merged in ciscosmblinux OS (#7447)
* newdevice: Updated Cisco WAP detection and merged in ciscosmblinux OS

* Update ciscowap.yaml
2017-10-27 19:45:04 +01:00
Tony Murray 193db02475 feature: Allow snmpget in os discovery yaml (#7558)
* feature: Allow snmpget in os discovery yaml
Convert all remaining os except airos.

Affected OS: asuswrt-merlin, ddnons, dsm, extrahop, huaweiups, ibmtl, pcoweb, pktj, qnap, remoteeye4, sentry3, sentry4, tomato

There should be not change in detection.

* Fix, asuswrt-merlin and tomato with snmpsim.  May not have been an issue with actual devices because of -Oa leading " was a bit odd.

* missed file
2017-10-26 20:48:33 +01:00
Aldemir Akpinar f18f5eb3b9 newdevice: Fixed Moxa cpu polling, add support for EDS-G508E and power (#7477)
* Fix Moxa cpu polling problem, also add support for EDS-G508E, and power graphs

* Dynamic discovery support for EDS-G508E-T and IKS-6726A-2GTXSFP-T

* fixes as requested

* Added another snmp_cache_multi_oid and fixed a typo

* Revert back to old file name
2017-10-26 11:41:50 +01:00
Tony Murray 51ba934e11 feature: Added web validation (#7474)
* refactor: convert validations to modules to prep for gui integration

* accidentally dropped, schema update

* fix accidental output to webui

* mention discovery-wrapper.py and re-arrange.

* refine some fix statements

* rename the Config validation group to Configuration.

* fix some scrutinizer issues
remove as many local functions from validator.php as possible
move extensions from pre-check
remove duplicate timezone check
looks like there is some db schema differences between mariadb 10.1 and 10.2, investigating

* mariadb version diff take2

* Check schema version first for database.
Remove stop to go back to command line for install docs.
Add helpful link when there is no devices added to /addhost

* fix incorrect validation for empty string defaults

* Fix style

* Add additional file permissions checks

* catch exception and fail for invalid timezone
Change visuals a bit.

* add php version warning

* fix space
2017-10-26 07:56:09 +01:00
Chris A. Evans a6ad9b86be newdevice: Added Mitel Standard Linux OS detection (#7513)
* Added Mitel Standard Linux OS Support

* removed duplicate svg, added snmprec test file, un-enable vmware discovery module

* msl os definition/polling improvements, mitel mib_dir creation
2017-10-25 16:38:53 +01:00
Alan Gregory 50413ff9ae newdevice: Added support for logmaster(ups vendors) devices (#7524)
* added logmaster icon

* added LogMaster Ups Mibs

* Added battery temperature

* Added LogMaster Os discovery

* Added PPC UPS top level mib

* Added more sensors

* Added test for Os

* Added log image

* Disable unused modules to improve polling

* Changed discovery to match all second level.

* Fix logo size to 32x32

* Remove duplicated mib.

* Removed .mib extension

* Fix mib name.

* Added rfc1628 compatibility.

* Removed duplicated sensors due to rfc support

* Added sensor that differs from rfc 1628.
2017-10-24 14:37:36 +01:00
Alan Gregory a99e6526b3 newdevice: Added support for new Fiberhome OLT Models (#7499)
* Added suporte for new medium model 5506-04

* Added tests for AN5516-04B

* Added tests for AN5516-04

* Added sysObjectID test for olts.

* Commit to trigger travis-ci

* Update fiberhome.yaml
2017-10-20 16:50:16 +01:00