288 Commits

Author SHA1 Message Date
Neil Lathwood
e223ec3ff2 newdevice: Added support for Geist PDU (#6646) 2017-05-16 23:39:35 -05:00
Søren Rosiak
4c59e6cf0a newdevice: Updated Barracuda NG Firewall Detection (#6658)
fix #6653
2017-05-16 22:13:19 +01:00
Marcus Pink
5b9623d8d4 newdevice: Added detection for HPE RT3000 UPS (#6638)
* newdevice: HPE RT3000 UPS

* newdevice: HPE RT3000 UPS

* changed polling to snmp_get_multi_oid, fixed divisor for load and voltage

* fixed blank line in functions.inc.php
2017-05-16 21:42:10 +01:00
Maciej Kaczkowski
cef1b723f8 newdevice: Added support for Terra sti410C (#6598)
* newdevice: Added support for Terra sti410c

* newdevice: tests for Terra sti410c

* renamed sti410c to terra, added support for sti440 and recognition for sda410C, sta410C, saa410C, sdi410C, sai410C, ttd440, ttx410C, tdx410C, sdi480

* fixed terra.svg and access to sysDescr
2017-05-13 09:15:23 +01:00
Tony Murray
b6e18db766 fix: page/graph load speed: part 1 (#6611)
* fix: page/graph load speed: part 1
Speed up load_all_os() by caching the full $config['os'] array
Function time goes from 1.13648s -> 0.00073s
The cache is updated during discovery, but only if it is >22hrs old.
Additionally, the cache is not used and a full yaml load is forced if the cache is >24hrs old.
The cache time is controlled by $config['os_def_cache_time'], I don't see any reason anyone would change that time.

* Delete Session.php

* Include the cache directory.
2017-05-10 08:57:10 +01:00
Neil Lathwood
a96335ecaf newdevice: Added support for Cisco SRP devices (#6600)
* newdevice: Added support for Cisco SRP devices

* added snmprec file
2017-05-08 22:01:41 +01:00
Tony Murray
6f99cb6d69 tests: test each db schema file for proper format (#6580) 2017-05-04 21:14:14 +01:00
pblasquez
a475069c9b newdevice: Add FWSM recognition to PIX OS (#6569) 2017-05-03 19:45:25 -05:00
Tony Murray
4dbab407bb refactor: OS discovery tests are now dynamic (#6555)
* refactor: OS discovery tests are now dynamic
All that needs to be done now is supply snmprec files with the proper name. os.snmprec or os_description.snmprec
I also tweaked the loading of yaml files to speed up the tests substantially.
Verifies all os have at least one test and all snmprec files are tested.

* fix typo
2017-05-03 15:52:53 +01:00
Tony Murray
5e790ee617 newdevice: fix Extremeware and XOS detection (#6554) 2017-05-03 15:02:10 +01:00
Olivier Beytrison
2f5a1742c3 newdevice: Added detection for GE UPS (#6549) (#6553)
* Add support for GE UPS (#6549)

* rename OS and remove sysDescr regex
2017-05-02 15:20:28 +01:00
Olivier Beytrison
a6eca494ff newdevice: Added detection for AKCP SecurityProbe (#6550)
* Add support for AKCP SecurityProbe

* Add tests for AKCP SecurityProbe
2017-05-02 14:48:44 +01:00
Neil Lathwood
e2f0965b5c newdevice: Added support for Aruba ClearPass devices (#6528) 2017-05-02 07:46:02 -05:00
network-guy
371c0ff65b newdevice: Added support for Cisco's AsyncOS (#6545)
* Create asyncos.yaml

Added device definition for AsyncOS devices.

* Create asyncos.inc.php

Add poller definition for Async devices.

* Update asyncos.yaml

Added discovery modules.

* Update asyncos.inc.php

Refactored version, hardware, and serial parsers.

* Add AsyncOS MIBs

Add MIBs for AsyncOS WSA and ESA appliances.

* Added OS test

* AsyncOS Refactoring/OS Support

* Change serial number in unit OS test
2017-05-02 07:53:56 +01:00
Tony Murray
4c0412b14d feature: Wireless Sensors Overhaul (#6471)
* feature: Wireless Sensors
Includes client counts for ios and unifi
Graphing could use some improvement.
Alerting and threshold ui not implemented

WIP: starting OO based wireless sensors.

Class based functionality working
remove old functional files
add schema file

discovery needs to be enabled, not polling

fix up schema

fix Unifi discovery not returning an array

Add some debug when discovering a sensor.
Fix style.

Add missing semicolin

Add a null object (Generic) for OS.
Fill out some phpdocs

Re-organized code
Each sensor type now has it's own discovery and polling interface
Custom polling tested with Unifi CCQ

Left to do:
Implement UI (Graphs and Custom thresholds)
Alerting
Testing

Fix event message text

Remove runDiscovery and runPolling from OS, they are unused and don't belong there.

Cleanups/docs

Missed this file.

Remove the requirement to fetch the current value to check validity.
Do that automatically if current is not specified
A few cleanups here and there

First pass at graphing.
device_ and wireless_ graphs added.

Add RouterOS support

Singleton OS instance isn't required right now.
Remove that to allow some memory to be freed.

Add wireless to the device list metrics.
Make all metrics clickable

Tweak graphs a bit

Implement limit configuration page.
Use sensors page as common code instead of duplicating.
Clean up some javascript interactions:  Allow enter on values to save. Cancel if update is not needed. Enable the clear custom button after setting a custom value.
Add some wireless alert rules to the library.

Add documentation.

Add unifi client counts by ssid in addition to radio.
Optimize Sensor polling a bit.

Add HP MSM clients support (for full controller)
Fix function accessibility

Formalize the discovery and poller interfaces.

Add Xirrus clients and noise floor
move module interfaces to a more appropriate place.
push caching code up to os, unsure about this do to the limitations

No point in selectively enabling wireless discovery.  We only discover if the device supports something.

Add RSSI, Power, and Rate.
Add these sensors for Ubnt Airos.
Clean up some copyrights.

Reduce the amount of files need to add new types.
Leave graph files for consistency and to allow customization.

Remove the old wifi clients graph completely.
ciscowlc should have improved counts (total and per-ssid)

Schema didn't get added.

Impelement the rest of the AirOS sensors
Reformat and re-organize the Airos.php class.

Add several UBNT AirFiber sensors

A few fixes add links to the section headers

Add HP MSM mibs.

* Schema file got dropped in rebase.

* Add wireless menu to view sensors across all devices.
Icons in the menu need help :/

* Add HeliOS, Mimosa, and Siklu support
Sensors added SNR + Noise

* Add power and utilization to Unifi

* Update polling to prefetch all sensor data in a few snmp requests as possible

* Add Extendair: tx+rx power, aggregate rate, frequency

* Add a check for duplicate sensors in discovery.  Just print an error for now.

* Add Bit Error Ratio (named error-ratio to allow for bit error rate to be added if needed)
Fix an incorrect link in the wireless sensors table

* Add error rate and change all bps and Hz to use si units

* Fixes to limits and frequency display

* Fix overview graph frequency display
A few decimal place tweaks

* Don't allow switching sensor and wireless-sensor graphs, it doesn't work.
Change individual distance graphs to use si units

* Go through the OS and make sure I got all the sensors I can (probably missed some still)
Because pollWirelessChannelAsFrequency() is generic and a little complex, so pull it up to OS.
Message to help developers adding supports that don't return an array from discover functions.

* Fix some issues

* Remove noise and signal for now at least
A couple more fixes
Add a notification

* Oopsie

* Bonus AirFiber sensors
2017-05-01 23:49:11 -05:00
Neil Lathwood
e7e5d51b30 newdevice: Added support for Exalt ExtendAir (#6524) 2017-04-29 15:58:06 +00:00
Neil Lathwood
cf026659cb newdevice: Added detection for Alvarion Breeze units (#6526) 2017-04-29 15:56:17 +00:00
Neil Lathwood
14fd57bd57 newdevice: Added support for Avaya Scopia devices (#6527) 2017-04-29 15:55:25 +00:00
Neil Lathwood
4c42c91ba8 newdevice: Added support for Tycon Systems TPDIN units (#6506) 2017-04-27 22:16:41 -05:00
Neil Lathwood
e6fa8dbd13 newdevice: Added basic detection for Packetflux SiteMonitor (#6498)
* newdevice: Added basic detection for Packetflux SiteMonitor

* added missing file

* updated to include some health sensors
2017-04-27 22:14:52 -05:00
FTBZ
2aa4145a26 fix: APC/MGE UPS sensors divisor for load and voltage (#6509)
* fix: APCMGE sensors divisors

* Add missing SNMP SIM file

* Add OS test for snmprec file
2017-04-26 08:35:07 -05:00
Tony Murray
1b1907a09f Update database tests to prepare for more (#6500)
* Update database tests to prepare for more
Add test_db_name, test_db_user, test_db_pass to allow developers to have a dedicated testing database.
Extract DBTestCase to include common functionality for database based tests. Use transactions to isolate tests.
Enable STRICT_TRANS_TABLE, test for it's existence (only when we have a user that can set it)
Move the database cleanup to register_shutdown_function, this makes it happen every time at the end of tests.
If the was not empty, only truncate the tables (that aren't prepopulated) instead of drop the database.
Use our schema functions for schema tests.
Fix some missing array indexes so it doesn't clutter test output.

* Fix style
2017-04-26 07:56:00 -05:00
Tony Murray
43914fbc7f newdevice: Eaton/MGE UPS reorganization (#6388)
* Eaton UPS cleanup

* newdevice: Eaton/MGE UPS cleanup

MGE split Galaxy (and Upsilon) to apc-mgeups
All others to eaton-mgeups
Remove mge ups from eatonups os.
Remove powerware it is a duplicate of eatonups

* Add rfc1528 for both mgeups os

* Update overview graphs
2017-04-24 14:04:05 +01:00
Neil Lathwood
720177965b newdevice: Added support for C&C Commander Plus units (#6478) 2017-04-22 08:13:07 -05:00
Neil Lathwood
d0201a9437 newdevice: Added detection for Ericsson UPC devices (#6472) 2017-04-22 08:12:05 -05:00
Neil Lathwood
21a70dcb8a newdevice: Added basic detection for Geist Watchdog (#6467)
* newdevice: Added basic detection for Geist Watchdog

* Added further support

* Added more health sensors
2017-04-22 08:11:21 -05:00
Neil Lathwood
3ff8b269f5 newdevice: Added support for enLogic PDUs (#6464) 2017-04-22 08:07:37 -05:00
Neil Lathwood
b27e200a6c newdevice: Added support for Eltex OLT devices (#6457) 2017-04-22 08:05:17 -05:00
Lorenzo Zafra
c31bc7d844 newdevice: Etherwan managed switches (#6488)
* newdevice: Etherwan managed switches

* Fixed requested changes
2017-04-22 12:46:12 +01:00
Tony Murray
b18d026f9d fix: ArubaOS PowerConnect detection (#6463)
fixes: #6446
2017-04-19 16:34:28 +01:00
Neil Lathwood
230fb6601b newdevice: Added detection for Ciena packet switches (#6462) 2017-04-19 10:20:45 -05:00
Tony Murray
eebf0d263a refactor: move ios detection to yaml using new sysDescr_except (#6456)
* refactor: move ios detection to yaml using new sysDescr_except

* Add IOS-XE too

* Add Catalyst 4500 test data, it needs IOS-XE for proper detection.
2017-04-19 11:02:29 +01:00
Tony Murray
963f444f17 fix: Allow line returns in snmprec files with the 4x data type (#6443)
* fix: Allow line returns in snmprec files with the 4x data type
Fill in IOS data files
IOS-XE discovery fails, fix that

* Restore IOS-XE, unsure if it can be removed
2017-04-18 22:28:48 +01:00
Tony Murray
01477a15f4 refactor: move cometsystem-p85xx (#6427)
Read mibs to find the correct sysObjectID
2017-04-15 08:10:59 +01:00
Tony Murray
8a8edb7d6d refactor: move the rest of avaya os detection to yaml (#6426)
Detection should be improved for these OS.
2017-04-15 08:10:15 +01:00
Tony Murray
54975f64d4 refactor: move aos discovery to yaml (#6425)
Untangle ArubaOS/AOS-W a bit.
Test data well supported by stats.
OmniStack LS, feels odd, but leaving it as AOS.
2017-04-15 08:09:14 +01:00
Neil Lathwood
d64a083141 newdevice: Added basic detection for Tandberg Magnum tape units (#6421)
* newdevice: Added basic detection for Tandberg Magnum tape units

* Tandberg icon to svg
2017-04-14 21:50:43 -05:00
Neil Lathwood
808f27e760 newdevice: Added detection for IgniteNet HeliOS (#6417)
* newdevice: Added detection for IgniteNet HeliOS

* Add empty sysDescr

* Update helios.snmprec
2017-04-14 21:25:42 -05:00
Neil Lathwood
d0c87400f3 newdevice: Added detection and sensor support for EMC OneFS v8 (#6416)
* newdevice: Added detection and sensor support for EMC OneFS v8

* Improve discovery
2017-04-14 21:25:24 -05:00
Tony Murray
06add77685 fix: Allow unit tests without a sql server (#6398)
* fix: Allow unit tests without a sql server

* Fix db connection in bootstrap.php
Mark tests as skipped
Make sure the sql queries in bootstrap.php have run
2017-04-13 11:05:14 +01:00
Tony Murray
e005f78211 newdevice: detect more devices as Comware (#6386)
* newdevice: improve comware detection
Only some H3C Comware devices were detected as comware, detect them all.

* Update the test data

FYI, C1234 was just a nonsense string
2017-04-13 10:52:07 +01:00
Lorenzo Zafra
bd3fd64f3e newdevice: Support - ICT Digital Power Supply (#6369)
* Basic support for ICT PSU, no sensors yet.

* Added current and voltage sensors

* Fixed coding style issues

* Fixed indexes
2017-04-12 15:00:54 -05:00
Lorenzo Zafra
457f2e9744 newdevice: Support - ICT DC Distribution Panel (#6379)
* New Device Support for ICT DC Distribution Panels

* Fixed indexes, removed tests

* Supply name instead of oid to snmp_get call

* Fixed index conflict for current sensors
2017-04-12 14:37:22 -05:00
Neil Lathwood
0f02dec4cc newdevice: Added support for Vanguard ApplicationsWare (#6387) 2017-04-12 14:20:24 -05:00
Tony Murray
c35b5b36f3 newdevice: Basic Ciena (Cyan) Z-Series detection (#6385)
issue: #6337
2017-04-08 07:14:41 +01:00
Tony Murray
b1483e3d2e feature: Unit test to validate the db schema (#6367)
* Unit test to validate the db schema
Changes build-schema.php to just write misc/db_schema.yaml

* Only build base if needed
Fix 178.sql

* Database is always created by init.php
add dbSchema test too, should guard against testing against an empty database

* feature: support non-standard unix socket (#5724)

* Add support for custom MySQL unix-socket

* NULL must be lowercase!

* Naive edit of html/install.php

* fixup

* Refactor dbConnect
Use it everywhere

* $config needs to be global
Don't need to set $database_link

* small cleanups

* Connect to the database for every test.

* travis fix for blank line
2017-04-07 15:07:44 +01:00
Tony Murray
b1a414e785 feature: support non-standard unix socket (#5724)
* Add support for custom MySQL unix-socket

* NULL must be lowercase!

* Naive edit of html/install.php

* fixup

* Refactor dbConnect
Use it everywhere

* $config needs to be global
Don't need to set $database_link

* small cleanups
2017-04-06 22:02:37 +01:00
Lorenzo Zafra
5b32f71434 newdevice: Added support for Teradici PCoIP card (#6347)
* Added device discoery for Teradici PCoIP card

* Removed redundant arguments from snmp_get and comments in os definition

* Added 'workstations' as a device type
2017-04-06 20:38:12 +01:00
Neil Lathwood
61bb58b106 newdevice: Added detection fro Juniper MSS (#6335)
* newdevice: Added detection fro Juniper MSS

* update sysObjectId check
2017-04-06 18:19:25 +01:00
Lorenzo Zafra
699e99e795 newdevice: Updated OS Polling for Opengear ACM7008 (#6349)
* Add OS Polling for Opengear ACM7008

* Fixed OSDiscoveryTest.php whitespaces

* Removed 'v' from OS version polling
2017-04-05 22:48:05 +01:00