2189 Commits

Author SHA1 Message Date
Tony Murray 046ed94f7c refactor: Remove all old style snmp calls (#7924) 2017-12-20 21:48:35 +00: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
Martin Zatloukal e473b03697 Add Huawei VRP sensors to yaml and fix bug in functions.inc.php (#7918)
* Add Huawei sensors to yaml and fix bug in functions.inc.php

* Add Huawei sensors to yaml and fix bug in functions.inc.php
2017-12-16 22:26:43 +00:00
Martin Zatloukal c30a5e8977 feature: Added Mikrotik LLDP discovery (#7901)
* Add Mikrotik LLDP discovery

* Add Mikrotik LLDP discovery

* Add Mikrotik LLDP discovery
2017-12-16 22:23:06 +00:00
bergroth 84fdfdf542 Junos dwdm interface sensor support (#7714)
* Junos dwdm interface sensor support  …
  four new sensors
    Chromatic Dispersion ps/nm
    Delay s (seconds)
    Q_factor (dB)
    preFEC_BER (ratio)

  reuse of
    SNR, dbm, temperature, current

* new dwdm sensors more generic, ber and quality_factor

* new sensors updated

* renamed html graphs new sensors

*  fixed ber polling

* Change to base SI Hz and s.

* update sensor divisors to bigint

* rename sql-schema/216.sql to 218.sql

* YAML junos dwmd sensor definitions, except BER

* bigint divisor fixed

* deafult 1 divisior

* small fixes including schema change for another PR

* schema fix
2017-12-12 20:27:10 -06: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
Tony Murray ef668f4270 Set entPhysicalIndex for comware processors (#7878) 2017-12-09 17:37:29 +00:00
Tony Murray 8ab0b2bffd refactor: Replace custom queries with dbDeleteOrphans(). (#7862)
* Replace custom queries with dbDeleteOrphans().
Generalize dbDeleteOrphans() a bit more.  Allow for multiple tables and custom key pairs.

* fix whitespace
2017-12-06 22:44:23 +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 cdf5b05934 Replace usages of array_combine() that match array_by_column() (#7863)
Also, fix up some usages where just array_column() will do.
2017-12-06 08:19:29 +00:00
Neil Lathwood 6cede359ef fix: Do not try and add dnos processors when no usage exists (#7847) 2017-12-04 08:30:28 -06:00
Neil Lathwood de1e47aa70 fix: Re-moved entity-state discovery from sensors discovery (#7845)
* fix: Moved entity-state discovery file to correct location

* correct fix
2017-12-03 22:10:10 +00:00
Tony Murray b9dc7773d7 refactor: Don't do unneeded snmp queries (#7841)
* Don't do uneeded snmp queries
sensors discovery 26 -> 16
wrapped some poller modules in db checks.  The same could be done for some others, but more work is needed.

* travis fix
2017-12-02 23:18:45 +00:00
Neil Lathwood 5357dd9515 feature: Added support for entity values in sensors (#7805)
* Added info on using OIDs in skip_values for sensors

* added more docs + entity support

* remove whitespace
2017-12-02 22:56:57 +00:00
Tony Murray f1fa61758b feature: Print out operations stats per poller/discovery module (#7839)
* Print out operations stats per poller/discovery module

* Add line return so we can see polled time better.
2017-12-02 22:55:53 +00:00
Tony Murray a21a3fb2b6 feature: Added support Entity State polling (#7625)
* Entity state sensors??

* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.

* fix empty last changed, timezones, alarm parsing, and db updates

* do not display unavailable alarms (80)
add tooltip with state value

* remove debug

* Entity state sensors??

* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.

* fix empty last changed, timezones, alarm parsing, and db updates

* do not display unavailable alarms (80)
add tooltip with state value

* remove debug

* Use a discovery module and only fetch the rest of the data if entStateLastChanged is updated.

* A little more efficient sql use in the case nothing has changed.

* disabled by default, add to docs.

* moved schema file to 220.sql
2017-12-02 20:23:56 +00:00
Tony Murray 4a03e7838e feature: Save application metrics to db for alerting (#7828)
* feature: save application metrics to db for alerting
However, alerting will not work because ResolveGlues() is broken.
Can add workaround after state_translations alerting is merged

Does not update all applications yet, not sure if that should be done here or in another PR.

Introduces two handy functions dbDeleteOrphans() and array_by_column().  Will replace those in other locations after this is merged or separate them out if this is not merged.

* remove accidental inclusions

* Add db schema
2017-12-01 07:53:26 +00:00
Tony Murray d6db01abb5 refactor: Refactor fix php codesniffer 3.x issues (#7816)
We cannot use 3.x because it  requires php 5.4, so update to 2.9.1 or newer 2.x release.
2017-11-29 08:23:19 +00:00
Chris A. Evans 3720f0e776 feature: Implement dynamic temperature scale detection and value conversion for siteboss (#7734)
* added comments describing changes needed to be implemented

* Added patch by laf to update the underlying function, modified OID value in yaml to poll string instead of integer

* Second patch to discovery function peer laf/murrant
2017-11-28 20:30:24 -06:00
Martin Zatloukal 6b4241381f fix: Fixed UPS time remaining in Mikrotik RouterOs (#7803)
* Fix UPS time remaining in Mikrotik RouterOs

* Fix UPS time remaining in Mikrotik RouterOs

* Remove space
2017-11-27 17:13:09 +00:00
Martin Zatloukal 8c8a2e05c6 feature: Added additional sensors for ups-nut
* Add db schema for ups-nut alerting

* Add db schema for ups-nut alerting

* Add db schema for ups-nut alerting

* Add db schema for ups-nut alerting
2017-11-23 20:37:05 +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 cfe4cecc8e Precache undefined variable $array_data (#7781)
Not sure of the implications of this but I'm pretty sure it should be $oid
2017-11-22 21:50:22 +00:00
Tony Murray 0dee809607 fix: Discovery os changes weren't properly reflected if os changed (#7779) 2017-11-22 21:48:28 +00: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
Neil Lathwood ccbe3ea2e3 fix: Use correct entity columns for sensors (#7775)
* fix: Use correct entity columns for sensors

* updated schema

* Update custom rules too
2017-11-21 22:41:22 -06:00
Tony Murray d10047c32e fix: bgp-peers fails when ip parsing fails (#7773)
Don't try to call ->getFamily() if we didn't parse an IP
2017-11-20 18:46:15 -06:00
Tom Hayward b42c7de486 refactor: Better default temperature sensor limits (#7754)
* fix: use typical Mikrotik operating range for default temperature sensor limits.

* fix: Use static offsets for default temperature limits. Previous scaling did not work well for small or negative values.
2017-11-17 14:07:50 +00:00
Søren Rosiak b6e6ab53d4 fix: Fix typo in Cisco sensor disco (#7731) 2017-11-16 21:33:55 +00:00
Søren Rosiak 37d005ebd8 fix: Do not add invalid Cisco senors seen in IOS 15.6(3)M1 (#7629)
* fix: Do not add invalid Cisco senors seen in IOS 15.6(3)M1

* Fixes

* More fixes..
2017-11-16 21:18:10 +00:00
Neil Lathwood 47a36b1ce6 fix: Fixed bgpPeers_cbgp discovery for junos (#7743) 2017-11-15 23:29:46 +00:00
Søren Rosiak 600b2f3324 device: Added additional APC rPDU2 Sensors (#7490)
* feature: Improve APC rPDU2 Sensor Discovery

* Move to yaml

* Skip state sensors that are not there..
2017-11-15 20:10:08 +00:00
FTBZ 5443112dbb device: Added sensor state support for HWg STE2 and added new logos (#7729)
* device: Changing HWg STE2 to YAML and adding new logos

* small logo change

* add again all modules

* change indexes

* update index for state
2017-11-15 11:04:07 +00:00
Tony Murray 9a03b24457 fix: Fixed Brocade ironware processor precision (#7730) 2017-11-15 08:13:23 +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 76a35f2e14 device: Fix hpe-ipdu initial thresholds (#7694)
Convert to yaml
Set load thresholds from snmp
preserve existing indexes
2017-11-09 20:24: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
tomarch 100995294e device: Update hwg-ste and add hwg-ste-plus support (#7610)
* update hwg-ste and add hwg-ste-plus support

* remove humidity graph over
2017-11-04 21:18:02 +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
Chris A. Evans 47b999cebd device: Change Ironware mempools NetIron checking logic from sysObjectID to sysDescr (#7602)
* Changed the NetIron checking logic from sysObjectID to sysDescr

* updated method of checking sysDescr in ironware mempool files

* Update ironware-dyn.inc.php
2017-11-01 21:41:15 +00:00
Neil Lathwood b2c5d069a7 fix: Updated hpe iPdu to remove power and fix load values (#7596) 2017-10-31 21:08:26 +00:00
Neil Lathwood a71c33fb63 newdevice: Added Temp and Humidity support for ServersCheck devices (#7588) 2017-10-31 20:32:18 +00:00
Zmegolaz e74b1c3e51 Fix: discovery.php -h all stops working after ping only device (#7593)
* Temporary array per device in discovery.

* Return at the beginning of discover_device() if snmp_disable.
2017-10-31 08:26:25 -05: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
Tony Murray 7e05fff615 fix: lldp find_port_id finds not the most correct port (#7564)
Order statements to give some results precedence over others.
Union the results but limit 1 so we can stop when we get the first result.
Checking if variables doesn't work very well without the device_id
2017-10-29 13:37:39 -05: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
Tony Murray b73c4e9d6e refactor: Allow os discovery deferral (#7561)
Defer some os till last, generic or slow ones. (linux, freebsd, ibmtl)
last file standing is ubnt.inc.php
2017-10-27 21:55:14 +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