Commit Graph

907 Commits

Author SHA1 Message Date
fbourqui
c73e9cbcfb add AIX detection running std snmpd or net-snmp (#10569)
* update IBM mibs
* add AIX detection running std snmpd or net-snmp
* simplifying  complex logical expression, codeclim.
2019-09-02 22:08:05 +02:00
PipoCanaja
0fc5331466 Tests bug - Reorder storage tests after 'order_by' statement (#10574)
* tests storage after order_by change

* cleaning
2019-09-02 13:11:59 +02:00
rdezavalia
a0ba412d6c Added more DELL switches in order to get proper CPU stats (#10529)
* Added more DELL switches in order to get proper CPU stats

More DELL switches supported:

* N4032
* N2048
* N2024
* N3048
* N2048P
* 54XX

* fixed indent as requested by phpcbf

* fixed multiline argument function call

* removed blank lines

* Added CPU stats for N4064F

* Added test data for N4064F

* fixed indent as requested by phpcbf

* Added test data for Dell Powerconnect 5424

* Added test data for Dell Powerconnect 5448

* Added test data for Dell Powerconnect 5524

* Added test data for Dell Powerconnect N4032

* Added test data for Dell Powerconnect N2024

* Added test data for Dell Powerconnect N2048

* Added test data for Dell Powerconnect N2048P

* Added test data for Dell Powerconnect N3048

* Fixed processor usage data

* Fixed snmpsim data for 3056

* Fixed processor usage

* easier to read format

* remove space changes

* 3056 should be 8%
2019-08-29 22:11:23 +00:00
Serazio
142a1abbfd Fixed Junos port/vlan relationships for els and non-els based software (#10321)
* Fixed Junos port/vlan relationships for els and non-els based software

* fixed tabs

* Add test data

* Updated test data

* Update module_tables.yaml

* Update junos_qfx5100.json

* Update junos_qfx5100.json

* Update junos_qfx5100.json
2019-08-28 07:14:26 -05:00
Arzhel Younsi
78112270c6 Add serial/model/version polling for Sentry4 MIB (#10432)
* Add serial/model/version polling for Sentry4 MIB

* Add serial/model/version polling for Sentry4 MIB

* Update sentry4.json
2019-08-27 22:08:42 -05:00
Martijn Schmidt
3a891ba727 Convert opengear to YAML-based discovery, add some new sensors, add test data (#10553)
* Update opengear MIBs to latest version.

* Replace PHP signal discovery with YAML.

* Update Opengear YAML with new sensors.

* Add test data for Opengear.

* Add the test data json for Opengear.

* Named to numbered index to avoid data loss.
2019-08-27 16:54:08 -05:00
Martin Zatloukal
f16805b71d Added support Ericsson MINI-LINK (#10546)
* Added support Ericsson MINI-LINK
* cleaning
2019-08-22 13:19:50 +02:00
Tony Murray
8d669a8a39
Simple linear port graph prediction (#10520)
* Simple linear port graph prediction
Simple linear prediction line for in and out if graph "to" value is in the future
Improve graph date handling

* thinner line

* Make test specify timezone
2019-08-19 22:53:48 -05:00
PipoCanaja
4631705838 Tests for IOS Vlans/Vtp (#10519)
* ios_2960x.json

* lighter test to avoid timeout

* cleaned config.php
2019-08-13 14:34:20 -05:00
NonStop Networks
b8c96abc35 Added support for Exagrid devices (#10496)
* Added new device - Exagrid
* Update and Rename exagridos.inc.php Match Version and HW
2019-08-07 20:05:59 +02:00
arrmo
0c9330dc11 Added support for OS dd-wrt (#10500) 2019-08-07 20:01:13 +02:00
Tony Murray
42fd5afb23
Laravel 5.8 and updated dependencies (#10489)
* Laravel 5.8
and dependencies

* Fix cache time

* upstream base file changes

* Accidentally ran composer with PHP 7.3

* fix test error

* one more

* one more

* one more

* fix dotenv loading
2019-08-05 15:54:58 -05:00
Hans Erasmus
1a54bdc435 Fixed missing FW and Serials in Dlink (#10481)
* Fixed missing FW and Serials in Dlink
* Added .snmprec data
* Added jsons of test data
2019-08-02 22:16:54 +02:00
PipoCanaja
bc550c90f7 Added definition for Cisco SB SG250X (#10472)
* Added definition for Cisco SB SG250X

* Add snmprec
2019-07-31 17:51:19 -05:00
Heath Barnhart
cefa9c0a60 Extended RecoveryOS Definition (#10475)
* modified recoveryos discovery
2019-07-31 16:14:14 +02:00
Tony Murray
89fae9be1d
Move API routing to Laravel (#10457)
* Add more api helper functions
to centralize code more

* Enable cors

* Initial Legacy route in Laravel

* Force api v0 responses to json
Add a couple more routes

* more paths, pretty print the json response
pass parameters to the api function

* devices basic functions

* Port generic graph function
check permissions function accepts callback to avoid lots of if statements

* move vlans

* links

* graphs

* fdb

* health

* wireless

* port graphs

* ip functions
split em up

* port_stack

* components

* compoment add/edit/delete

* get_device_groups

* port stats

* port graphs

* get_devices_by_group

* port_groups

* api_get_graph

* show_endpoints

* get_bill

* get_bill_graph

* get_bill_graphdata

* get_bill_history

* get_bill_history_graph

* remaining bill functions

* list_alerts

* ack/unmute alert

* Some cleanups

* Some cleanups

* list_alert_rules

* alert rule add/edit/delete

* inventory

* list_cbgp

* vrf

* list_ipsec

* list_fdb

* list_links (fix both usages)

* list_locations

* list_locations

* list_vlans

* list_ip_addresses

* list_arp

* list_ip_networks

* cleanup

* services

* list_logs and fix authlog.......

* cleanup

* cleanup 2

* remove slim

* don't load schema more than once

* basic test

* fix style

* downgrade laravel-cors to a version that supports PHP 7.1
2019-07-29 16:32:37 -05:00
Vitali Kari
1de640c3aa MPLS Services (#10421)
* initial database migrations

* first part, discovery

* second part, polling

* add SAP polling and discovery

* style checks

* rename variables in more generic way

* html global pages for sdp and sdp binds

* add Services and SAPs

* port links, database, etc.

* html device routing pages

* add tests

* checks

* rework database id relationship

* scruntinizer inspection

* fix unit test for new mpls tables
2019-07-27 23:11:04 -05:00
arrmo
432496f27a Add OpenWrt OS support (discovery, poller) (#10454)
* Add OpenWrt OS support (discovery, poller)

* Add snmprec for Openwrt

* Update openwrt.inc.php

* Create openwrt.json
2019-07-25 07:05:12 -05:00
Martijn Schmidt
ad044f478c MRV: temperature limits from MIB (#10326)
* Update MRV MIBs to version 5.14.1

* Learn SlotTemperature limits from the new MIB.

* Rename MIB files to the name of the MIB.

* Update mrv-od.snmprec

* Update mrv-od.json
2019-07-23 23:50:37 -05:00
ig0rb
3342210067 FS.net pdu (#10424)
* Added support for snmp monitored PDU from fs.com

* Added support for snmp monitored PDU from fs.com

* Fix sysObjectID 1.3.6.1.4.1.30966

* Create fs-net-pdu.json
2019-07-23 22:55:53 -05:00
jozefrebjak
625864ffa2 Added Support For Teltonika RUT2XX Devices (#10358)
* Added Support For TLT RUT2XX Devices

* Deleted unnecessary vaules

* required changes

* delete group unix

* updated tests

* Update rutos-2xx.json

* Update rutos-2xx.yaml

* Update rutos-2xx.json
2019-07-23 20:56:42 -05:00
CirnoT
cafcf417fa Fix NetAgent II battery voltage (#10427)
* Fix NetAgent II battery voltage

* Add new test data and new icon for NetAgent
2019-07-22 23:34:31 -05:00
VTS
a382d11c75 Added phase2 name to fortigate IPSEC sensor. (#10423)
* Add phase2 name to IPSEC sensor.
For VPN tunnels with more than one phase2, the sensor is confusing. 
Using the phase2 value provides both the phase1 and phase2 name for a more complete sensor.
* Update fortigate.yaml
phase1\phase2 naming for a more clear sensor.
test data to come
* add test data
* more test data?
* missing whitespace compared to original
* Remove wireless data
2019-07-19 09:49:56 +02:00
bergroth
b085703b2d Added support for DGD and BER on newer infinera-groove FW (#10435)
* Added support for DGD and BER that are avalible on newer infinera-groove FW
* updated tests for new groove sensors
* Update infinera-groove.inc.php
* Update infinera-groove.inc.php
* Force test to run again
2019-07-15 12:47:41 +02:00
ospfbgp
fc2f0a4552 Updated RAPID-CITY mib for Extreme VSP (#10406)
* Add files via upload

* Update voss.inc.php

* Update voss.inc.php

* Update voss.yaml

* Update voss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update voss_7432cq.json

* Update voss_7432cq.json

* Add files via upload

* Add files via upload

* Update voss_8404.json

* Update voss_8608.json

* Update voss_8608.json

* Update voss_8608.json

* Update voss_8608.json

* Update voss_9012.json
2019-07-09 23:54:21 +02:00
Vitali Kari
592b2ea432 Added new Sensors for Nokia Subscriber Statistics (#10422) 2019-07-08 13:59:52 +02:00
rsys-dev
cfaf913896 Added detection for ZTE zxdsl devices (#10344)
* add yaml files

* Added include/definition/zxdsl.yaml (ZTE ZXDSL Support)
Added include/polling/os/zxdsl.inc.php (Set Hardware)

* Changed includes/definitions/zxdsl.yaml type from "dslam" to "network"
Changed includes/polling/os/zxdsl.inc.php removed unnecessary code
Added Testfiles

* Fixed coding guideline errors (missing spaces)

* Removed unnecessary "use"

* Improved model number discovery
Removed unavailable top graphs
Added System temperature

* Changed Temperature limits according to ZTE datasheet

* Updated Tests
2019-07-05 13:06:27 +02:00
jozefrebjak
20b3211e7e Added Support for Unitrends Backup (#10411) 2019-07-05 08:49:03 +02:00
N-Mi
fce185b55c Fix doc test after changelog split (#10412) 2019-07-04 08:01:46 -05:00
jozefrebjak
3531454a6e Added VPN sensors for Fortinet Fortigate (#10384)
* Added IPSEC VPN state

* Added more VPN sensors

* Test Data cleaned
2019-07-02 15:58:42 +01:00
SniperVegeta
f419419830 Added panasonic ns1000 os (#10390)
* Add files via upload

panasonic png

* Create panasonic-ns.yaml

Panasonic NS

* Create panasonic-ns.inc.php

Panasonic NS Series

* Create KX-NS.mib

Panasonic NS mib file

* Add files via upload

Add snmprec

* Add files via upload

add panasonic-ns data

* Update panasonic-ns.inc.php

Space?
2019-07-02 00:08:04 +02:00
ospfbgp
9740120e97 Added support for Extreme VSP-7432CQ (#10393)
* Update xos.yaml

* Update voss.yaml

* Update voss.yaml

* Add files via upload

* Add files via upload
2019-07-02 00:06:42 +02:00
Tony Murray
f3ba8947f7
Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
Martijn Schmidt
048fd0f6ed Remove guessed limits for some health sensors, documentation for sensor classes (#10327)
* Default to null for group yaml discovery.

* Update test data for a154bda yaml group null fix.

* Changes to guessed limit functions for sensors.

Original behaviour
===================

The file `includes/discovery/functions.inc.php` contains
`sensor_limit_low()` and `sensor_limit()` which both attempt to
guess a sane value for sensors when no explicitly defined
low_limit or high_limit can be found during discovery.

Both switch control structures used in those two functions
have empty case statements which means that if one of those matches,
it's going to fall through and run the code for each subsequent
case until a `break` is reached.

For example, when we call `function sensor_low_limit(dbm, -13.036)`
it will return the value `-12.3842` instead of `null`. That is
because there will be a match at `case 'dbm':` which falls through
all the way to `case 'cooling':`, where it performs
`$limit = -13.036 * 0.95` before hitting a `break`.

Changed behaviour
===================

Removed `power_consumed` and `count` guessed low_limit and
high_limit, I personally added those sensor classes in PR #9471
when I didn't understand that a switch control structure has
fall-through behaviour so I can guarantee that guessing limits for
those is a mistake on my behalf. It should not be there, only
power_factor can have guessed limits. Apologies for the issue,
I'm still a beginning programmer!

Furthermore, I removed guessed high_limit values for `current`
and `power` because these are supposed to draw higher values as
more devices or components are installed on for example a PDU or
a chassis.

Finally, I removed guessed low_limit and high_limit for `dbm`
sensors, there is a much too large variance in power budget on
commercially available optical transceivers for there to be a
sensible window where you can guess these values.

* Documentation on adding sensor classes.

* Update test data - sensor limit changes @ 30212d2
2019-06-21 09:03:27 -05:00
Tony Murray
7f6a342d71
Fix device group queries that don't start with devices table (#10360) 2019-06-21 06:53:48 -05:00
Tony Murray
1a60c44eb0
Device groups rewrite (#10346)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests

* Fix some QueryBuilderFluentParser issues with OR
updated/more test data

* Show device groups runtime
fix querybuilder.json format

* Store table joins in the rules to minimize polling time
Update group joins in daily.sh (and when they are saved)

* Update daily.php

* Add units to time
2019-06-19 16:01:53 -05:00
Tony Murray
c2b09b8f80
Revert "Rewritten device groups (including static) (#10295)" (#10340)
This reverts commit cfc51d51f5.
2019-06-16 21:52:57 -05:00
Tony Murray
cfc51d51f5
Rewritten device groups (including static) (#10295)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests
2019-06-16 08:27:22 -05:00
Kevin Krumm
da9e67b296 Aruba IAP: Fix Radio State Sensor (#10335)
* Aruba IAP: Fix Radio State Sensor 

Fix state sensor for radio status from warning when disabled to unknown state.

* Update aruba-instant.json

* Update aruba-instant_105.json
2019-06-15 10:10:37 -05:00
Vitali Kari
19914adc55 add raisecom os version, hardware and serial data (#10336) 2019-06-15 07:49:03 -05:00
StackOverBuffer
fec165fb86 Add power sensor for eaton ups (#10306)
* Add power sensor for eaton ups

* removed whitespace at end of line

* add test data
2019-06-11 23:46:43 -05:00
TheGreatDoc
8c69d7dac8 Support for Fibernet XMUX4+ (#10331)
* Support for Fibernet XMUX4+

* Update fibernet.svg

remove length and width, add viewbox
2019-06-11 22:16:10 -05:00
djamp42
e6ad2b5bb8 Cisco UCOS Version and Feature Fix (#10307)
* Fix Software Version #

I don't think setting $firmware does anything, not to mention the regex wasn't matching correctly. I tested this fix tons of different software versions and they all seem to work.

* Revert "OS CIMC Software Version Number"

* version and features

* fixed feature

* Fix Extra Blank line EOF
2019-06-06 23:37:26 -05:00
Daniele Viganò
c7228e3b55 Extend the Dell drac module to report CMC status and sensors (#10310)
* Extend the Dell drac module to report CMC status and sensors

* CMC status sensors do not have chassis id

* Update test data for drac OS

* Add missing test data for drac os
2019-06-06 23:21:52 -05:00
Vitali Kari
00b148dbd3 Add MPLS Support (#10263)
* WIP - Add MPLS Support
This introduce the generic MPLS support
- New database tables for MPLS LSPs
- actually discovery and polling on NOKIA SR OS (Timetra) devices
- new routing->MPLS HTML pages

- ToDo MPLS LSP paths table and views
Suggestions and improvements are welcome

* add db schema

* some fixes

* add path table, discovery and polling

* add path views

* add test data

* Convert MPLS module to new style
Implement a SyncsModels trait to simplify code a lot

* abs() for negative value from snmp (bug?), test data

* fix db schema

* Fix up test data, remove uneeded data in json

* fix whitespace
2019-06-06 16:12:13 -05:00
Tony Murray
3129dd3148
Restore cimc data (#10308) 2019-06-04 20:41:44 -05:00
djamp42
e514cbc3e1 CIMC Version Fix (#10284)
* Fix Software Version #

I don't think setting $firmware does anything, not to mention the regex wasn't matching correctly. I tested this fix tons of different software versions and they all seem to work.

* Revert "OS CIMC Software Version Number"

* cimc-version-fix

* added test data

* Update cimc.snmprec
2019-06-03 22:32:41 -05:00
Marlinc
93f3528bbf Add Ipoman power consumption support (#10244)
* Add Ipoman power consumption support

* Create ipoman.json
2019-05-31 07:43:54 -05:00
Martijn Schmidt
9455a83478 Convert OS mrv-od to yaml, discover more sensors, discover entity-physical (#10266)
* Dynamic entPhysicalIndex values for YamlDiscovery

* Use degree symbol when displaying temperature values

* Adjust SNMP options for new snmp_get_multi()

The OS polling module for mrv-od was using snmpget commands with
-Ovqs, rather than -OQUs, which meant that the equal sign was
stripped in the snmpget output. But that equal sign is now used
as the explode() delimiter so it broke the construction of the
returned array for the snmp_get_multi() function.

Additionally, I removed the NBS-CMMC-MIB:: prefix which is no
longer returned by snmp_get_multi() as part of the OID. Now,
the mrv-od.inc.php OS polling module is retrieving data from
positions in the array with actual content.

* Convert mrv-od to yaml, improve sensors discovery

Converted sensors discovery for mrv-od to yaml, retaining all
functionality for pre-cache, dbm, and temperature. Replaced specific
SFF-8472 Digital Diagnostics state sensors with generic ones, given that
we are now reading out detailed values through new dbm, current, voltage
sensors.

Reasoning: the generic Digital Diagnostics state sensors report state
diagsOk, or else the worst severity level measured among all of the
Digital Diagnostics values for that optical data point. You'd really
only want to set a generic "alarm" so the box can report that it
thinks something is wrong, whereafter a human can look at the graphs
and/or the CLI to draw their conclusions about the alarm. Otherwise,
things would quickly become too spammy as you are essentially duplicating
every sensor across both regular measurements and state measurements.

Further changes:
- Increase maximum number of detected PSUs from 4 to 8 per the MIB.
- State sensor to detect (in)sufficient power budget for all modules.
- Use skip_values to hide state sensors with the notSupported value.
- Use skip_values to hide sensors which are unsupported per the MIB,
  signified by the device returning special values -1 or -2147483648.
- Add dBm, temperature "over" graphs to the mrv-od device header bar.

* Add mrv-od entity-physical support

MRV does not use the ENTITY-MIB data format, so we had to reconstruct
the inventory from their proprietary format using the following tables
from their NBS-CMMC-MIB:

- nbsCmmcChassisTable
- nbsCmmcSlotTable
- nbsCmmcPortTable

Additionally, since sensors didn't have their own ifindex in the
NBS-CMMC-MIB, I went ahead and appended the last OID digit to
the "containing" ifindex create a unique number. The same was
done for the sensors in the yaml-discovery.

* Test data for mrv-od, fix 2* pre-commit.php issues

* Fix entPhysicalIndex returning 0 instead of null

Some unit test breakage was caused by 62167ebcb which changed
the code to return 0 instead of null when {{ $index }} was
set as the entPhysicalIndex in the YamlDiscovery. So now we
detect if it returns some value which may be interpreted as
false, and if so we set null rather than 0.
2019-05-29 13:30:33 -05:00
Arnoud Vermeer
f14b90a1ef Icotera support for 6400 and 6800 series. (#9755)
* Icotera support for 6400 and 6800 series

* Fix broken test data
2019-05-29 09:37:10 -05:00