Commit Graph

5402 Commits

Author SHA1 Message Date
Tony Murray
72752fa2d0 Use one sql query to fetch device alert rules (#8391)
* Use one sql query to fetch device alert rules
Rename $device to $device_id to avoid confusion.  I didn't see any variable collisions.

* don't return disabled rules

* remove semi-colin
2018-03-15 16:03:45 +00:00
Neil Lathwood
0aed9788e3 Fixed alerts group mapping (#8389) 2018-03-15 09:23:54 -05:00
Neil Lathwood
0ba5fa66e0 Reference the correct table for devices (#8383) 2018-03-15 11:02:43 +00:00
mattie47
0491e2edd0 device: Improve Allied Telesis Chassis product support (#8139)
* device: Improve Allied Telesis Chassis product support

Fix - Wrong Serial number was displayed
Enhancement - Show the type of Controller card in chassis

Controller card can be either CFC400, or CFC960.

Tests:
- Checked Chassis x8106, and x8112
- Checked with CFC400 and CFC960
-- Checked behaviour with/without CFC in bay 1.5

* device: Update awplus to use snmp_get_multi_oid

* update awplus device support

* device: Fix awplus snmptranslate logic error

* device: awplus chassis support improvements

* device: update awplus test data

* device: fix awplus serial number info

* device: fix awplus test data
2018-03-15 09:52:29 +00:00
Tony Murray
2bcc76625c Module tests update: per module output, only store modules data that are run (#8355)
* Test data: don't save data for modules that were not run

* Sometimes mibs are prefixed with +

* Save output for each module and only output the errored module.
Also makes it easier to identify modules that were ran.

* Clean up json files.
Message when no module data exists.

* verbose output when phpunit --debug is used
order by for ports
avoid graphite output in tests
only load module_tables.yaml once

* use explode and strpos instead of regex since it is failing...

* Fix some warnings

* Fix whitespace
2018-03-14 22:28:01 +00:00
Neil Lathwood
03076c4025 feature: Added new alert rule builder UI and rule mapping UI (#8293)
* feature: Added new alert rule builder UI

* Updated to export sql queries

* More updates

* more changes

* removed debug

* fix scrut

* Updated to include import options + various other fixes

* fix rule

* Populate name from collection rules.

* Fix default rule import
Allow new and old style rules in the collection.
Don't add new yet as I'm not sure GenSQL() is working.

* Fix GenSQL call

* Extract filter building to class so it is nicely contained in one place

* moved schema

* some fixes and tweaks

* travis fixes

* Some more features / updates

* Fix up my mistakes when adding default rules

* Use a modal for new alert (Incomplete)
Larger dialog!!
Remove page loading stuff.

Working:
Loading rules, resetting dialog, importing from collection.

Not working yet:
select width
device limited rule access? don't know what this is...

Lots of unused stuff to delete...

* reload "table" after save

* fixed editing rule

* Auto select2 width

* Reload window on save

* Restore per-device alert. Remove debug.

* Small cleanups. Rule Name first.

* Restore button to button type. Rename schema.

* Fixes: wrong command to reload window, remove extra attributes, rule is never passed

* Fixed old rule editing

* some small updates for old imports

* travis update to use trusty

* maybe travis fix

* Ability to set alert rule mappings on the rule edit screen

* pip installs one line, no quiet for deploy

* update schema def

* Fix style and some copyright headers

* fix docs missing file

* Allow new versions of snmpsim and libraries

* Parser WIP

* Fix default rules insert

* reorganize

* Legacy import first draft done

* Implement saving
Skip translation to sql for now

* Working on glues

* small rule collection fix

* Working on glues

* Working on glues

* Docs updates + small UI changes

* Parser WIP

* reorganize

* Legacy import first draft done

* Implement saving
Skip translation to sql for now

* Working on glues

* Working on glues

* Working on glues

* Add table mapping, should move to it's own class

* WIP

* Glue working!!

* Extract Schema class

* Some final touches.
revert alerts_rules.json for now.

* Finish up initial implementation
Needs more tests

* Fix a few places

* small doc updates

* Fix finding tables in grouped rules.

* remove unused code

* code format fixes

* Some quick tests for Schema
Simplified output for findRelationshipPath. Always includes start and target in the result.
This simplifies a lot of code in QueryBuilderParser.php
This also always loads the target table data now (which we want)

* Make bill_id the PRIMARY index for the bills table

* Load macros from a json file in misc instead of the database.

* Fix whitespace and wrong key for collection.

* Handle IN properly when generating SQL

* Fix glue (devices.device_id = ports.port_id) is incorrect :D
Show ALL tables we can resolve relationships for in the query builder filter.

* Remove all macros from the database
Remove insert statements, leave updates to update user's existing rules.
2018-03-14 20:25:19 +00:00
priiduonu
4da272f451 Sane default temperature limits for Axis cameras (#8371)
Default behaviour is to set low limit to (current temperature - 10 deg) and high limit to (current temperature + 20 deg) upon discovery. Changing that to abs values +5 and +35 deg respectively to be in realistic boundaries.
2018-03-13 20:06:40 -05:00
Tony Murray
6b68d5fce9 alerts: Added alert_id to alerts for templates (#8368)
* Add alert_id to alerts for templates
Extract alert loading to a function loadAlerts().
Alternative to #8351

* Actually add alert_id to $obj

* travis fixes
2018-03-13 22:19:57 +00:00
priiduonu
2e66ed354f device: Added detection of Axis Network Speaker (#8336)
* Add detection of Axis Network Speaker

* tests: add test data for Axis C3003 Network Speaker detection
2018-03-13 20:04:13 +00:00
jackson-tim
f55d98ab03 device: Added Lenovo CNOS support (#8332)
* Lenovo CNOS Discovery+Logo Update

* Lenovo MIBs

* Update lenovo-cnos.yaml

Left example CPU Usage there.

* Update lenovo-cnos.yaml

* Update lenovo-cnos.yaml

* Update and rename lenovo-cnos.yaml to cnos.yaml

* Rename lenovo-cnos.yaml to cnos.yaml

* Rename Lenovo-Env-MIB.mib to LENOVO-ENV-MIB

* Rename Lenovo-Products-MIB.mib to  LENOVO-PRODUCTS-MIB

* Rename Lenovo-SMI-MIB.mib to LENOVO-SMI-MIB

* Update lenovo.svg

* Create cnos.json

* Create cnos.snmprec

* Update cnos.json

* Update cnos.yaml
2018-03-13 11:59:35 +00:00
Tony Murray
e3d44c54d2 fix: Fixed etherlike graphs (#8358)
Empty rrd defintion...
2018-03-12 19:27:51 +00:00
theherodied
bbd16dd2d2 feature: Added check_graylog.inc.php for services (#8334)
* Create check_graylog.inc.php

Removes the -H being passed and provides directions.

* Update check_graylog.inc.php
2018-03-11 15:00:07 +00:00
James Andrewartha
6c3473a7f8 ewc: more WirelessSensors and processor/mempools support (#8294)
* Add Errors, NoiseFloor, RSSI, SNR and Utilization Wireless Sensors for ewc

* Enable processor/mempool support for ewc using existing enterasys implementation

* Add test data
2018-03-05 09:46:59 -06:00
Arzhel Younsi
7eda8d9989 feature: Added a irc_alert_short option to only send the alert title (#8312)
* Add a irc_alert_short option to only send the alert title

* Add doc for 'irc_alert_short'
2018-03-02 17:52:47 +00:00
boudreau
68d42b065e device: Updated OIDs for Cisco FTD model 9300
* adding new device Firepower9300

* Update ftd.snmprec

* Add Connections graphs to FTD Firewall

* bad cut and paste, good catch
2018-02-28 13:15:31 +00:00
Neil Lathwood
9dac4cfa6e device: Added temp, power and state sensors to procurve os (#8281)
* device: Added temp, power and state sensors to procurve os

* changed sensor value

* updated sensors value

* updated test data
2018-02-27 20:48:16 +00:00
axemann
897081b2d3 device: Added support for APC AP9320 and fix humidity sensors (#8284)
* AOS-EMU2 add support for APC AP9320, fix humidity sensors

* Added snmprec and json

* AOS-EMU2 add support for APC AP9320, fix humidity sensors

Added snmprec and json

* Fix aos-emu2_ap9320.json
2018-02-27 20:38:50 +00:00
Michael Renner
b5273969a0 feature: Fetch ifAlias data for devices on the bad_ifXEntry list (#8275)
* fetch ifAlias data for devices on the bad_ifXEntry list

* add test data for SG350-10
2018-02-27 16:57:24 +00:00
VVelox
89d24f25a5 feature: Added application metric support to ZFS (#8269)
* add metric support and make it work

* minor gramar correction

* remove accidetnally duplicated code
2018-02-27 16:35:07 +00:00
Tony Murray
3c3fbd3731 feature: Show composer status in web validate. (#8181)
* Show composer status in web validate.
Don't duplicate in validate.php

* Create variable to check if a group has been completed.
No longer skips database checks.
Extract a base class.
Fix locate_binary and find_executable issues (mostly exposed by lack of db)

* Update Validator.php
2018-02-27 15:57:20 +00:00
Julian K
f57e92102a device: Added toner discovery and polling for Kyocera (#8301) 2018-02-27 15:53:06 +00:00
James Andrewartha
70714fe811 security: Hide more confidential data (SNMPv3, IPMI) from the debug output (#8303) 2018-02-27 15:41:44 +00:00
James Andrewartha
f154846de1 More fixed checks for $entPhysicalIndex/$hrDeviceIndex being numeric like 929d7ece56 (#8295) 2018-02-25 22:27:28 -06:00
Michael Renner
a9d385e16a device: Added SG350-10 to bad_ifXentry list (#8278) 2018-02-22 08:29:36 +00:00
Tony Murray
a6f6e4d399 device: Added support for ScreenOS arp tables (#8273)
Has a buggy implementation of ipNetToMediaPhysAddress
2018-02-22 08:28:41 +00:00
Richard Lawley
37bdba7c0a Change Billing Graph Data Max/Avg/Last from bytes to bits (#8270) 2018-02-21 21:55:08 +00:00
Richard Lawley
10829893ec api: Added Billing Graphs & Data (#8245)
* Move Billing/Bandwidth Graphs to common format, extract data generation to central function

* Add API functions to access billing graphs and graph data

* Scrutinizer fixes

* Fix transfer graphs with from/to

* Scrutinizer Fix

* Fix docs, transfer page and missing from API param

* Document and fix reducefactor, Add Graph Stats to Graph Data

* Standardise times in graphdata

* Fixed renamed function for History GraphData
2018-02-20 14:57:56 +00:00
Tony Murray
1c5b9d3524 Fix bgp peers discovery cleanup (#8263)
Take context into account, update index for that
2018-02-19 09:08:27 -06:00
Tony Murray
6887d771aa device: Added CeraOS wireless sensors (#8167)
* CeraOS wireless sensors

* Add CeraOS test data, fix MSE

* fix whitespace
2018-02-18 21:31:18 +00:00
Søren Rosiak
f8cceceeb6 fix: Mitigate Cisco IOS 15 Stack State Issue (#8256) 2018-02-18 21:16:51 +00:00
SLMitch
2a4dd70b45 Support Brocade G620 description (#8250) 2018-02-15 22:39:14 +00:00
Tony Murray
4a6b56d8f2 Generic snmp_translate() function (#8156)
Translates between numeric and textual oids.

Rename existing function to snmp_mib_transate(). It is only used for mib polling. Modifying it could break mib polling.
2018-02-15 16:37:37 -06:00
Tony Murray
30ca1e1a2e Fix alerting email issues (#8255)
* Fix alerting email issues
Variable collision

* changed the wrong line
2018-02-14 23:16:51 -06:00
mattie47
4a0acad79a device: Implement Allied Telesis Environmental Monitoring (#8140)
* device: Implement Allied Telesis Environmental Monitoring

Initial patch to monitor:
- fans
- temperature

State:
- fans
- temperature

* device: Implement Allied Telesis Environmental Monitoring

Patches cover:

- Fan Speed and State
- Voltage Speed and State
- Temperature and State
- Power Supply State

* updated awplus test data

* Update awplus sensors and snmprec test data

* Add awplus processor snmprec stats
2018-02-14 17:11:53 -06:00
Tony Murray
561846a44b fix: Fiedx issues with new config init (#8242)
* Fix non-config defaults

* update processConfig and remove file
2018-02-12 09:15:44 +00:00
Tony Murray
de56dccc8a refactor: Move config loading into the Config class. (#8100)
Self contain dbFacile too.
Update rrdtool default setting to be similar to others.
Move silly cisco-entities.php into entity-physical.inc.php
2018-02-10 20:38:25 +00:00
Martin Nilsson
2bd88a2f2b device: Added support for OpenBSD PF states (#8211)
* First basic support for graphing openbsd pf states

* Now openbsd pf state graphing actually works

* First basic support for graphing openbsd pf states

* Now openbsd pf state graphing actually works

* Wrong graph types for searches, removals and inserts

* Removed unused file "openbsd_pfstates.inc.php"

* Remove openbsd from filenames, make it more generic
2018-02-08 20:54:29 +00:00
Alan Gregory
977796382d StoneOs improvements (#8155)
* Added snmp mibs from vendor (https://www.hillstonenet.com)

* Added memoery discovery and pool

* Added serial and os version discovery.

* Added cpu discovery.

* Added temperature and power sensors

* Added test data.

* Fix yaml format.

* Pass mib name as parameter.

* Pass mib name as parameter.

* Use numeric OID

* User snmp_get_multi_oid

* Use snmp_get_multi_oid

* Remove default extension from vendor.

* Update test data.

* Renamed some mibs + changed oid in disco proc

* Updated json test data

* Update processor discovery to yaml
2018-02-07 23:28:46 -06:00
Tony Murray
f6ad067af4 airos processor and sensor fixes (#8227) 2018-02-07 23:24:20 -06:00
axemann
f6cc671bb0 Add OPNsense support (#8199)
* Add OPNsense support

* Add OPNsense support (#8196)

* Revert unix.inc.php, move polling to opnsense.inc.php

* Revert unix.inc.php

* Update opnsense.inc.php
2018-02-07 23:17:35 -06:00
Tony Murray
f43e23e15a Restore vendor contents even if composer is not available (#8223)
* Restore vendor contents even if composer is not available
Leave the code in both places for safety.

* Instruct users to use the wrapper instead of straight up composer...
2018-02-07 20:45:18 -06:00
Misha Komarovskiy
26ce852c95 device: Add XOS X480 and X650 desc and tests (#8206)
* device: Add XOS X480 and X650 desc and tests

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

* device: add XOS x480 and x650 test data

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

* Add missing hardware string in test data
2018-02-06 23:47:56 -06:00
Rémy Jacquin
19a17ed348 Allow administrators to edit devices sysName (#8149)
* Allow administrators to edit devices sysName
Signed-off-by: Rémy Jacquin <remy@remyj.fr>

* Fix html/pages/device/edit/device.inc.php identation
Signed-off-by: Rémy Jacquin <remy@remyj.fr>

* Revert "Allow administrators to edit devices sysName"

This reverts commit 11b127b082.

* Moved sysName editing to snmp tab

Signed-off-by: Rémy Jacquin <remy@remyj.fr>
2018-02-06 23:35:00 -06:00
Tony Murray
e97c3bcb0c Fix awplus typo (#8215) 2018-02-06 22:42:07 -06:00
Tony Murray
913d6dc641 refactor: Update awplus to new processor discovery (#8204)
* Update awplus to new processor discovery
Have no test data, so this needs testing.

* Updated YamlTest to include data as optional param for processors
2018-02-06 22:28:14 +00:00
Tony Murray
226f420608 device: Airos added CPU, GPS, and Temp health sensors (#8203)
For devices that support it
https://community.ubnt.com/t5/airMAX-Frequently-Asked/airMAX-Where-can-I-find-the-latest-MIB-for-airOS/ta-p/1294379
2018-02-06 21:27:23 +00:00
Tony Murray
f706d0ab41 fix: Fixed cbgp peers data on some devices (#8208)
* IOSXR snmprec data (unsorted)

* iosxr sorted

* Fix cbgp peers data on some devices

* fix formatting
2018-02-06 21:06:44 +00:00
Andrew Steen
a2acccd531 Add QFX5110-48S4Q to rewrites.php (#8201) 2018-02-06 14:06:12 -06:00
bergroth
b834d2d4b4 fix: Removed div by 100. Junos SNMP value was not 0.01 resolution (#8198) 2018-02-05 20:48:32 +00:00
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