Commit Graph

2403 Commits

Author SHA1 Message Date
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
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
garysteers
c089f3bae4 Populate ipv6_network_id in ipv6_addresses where empty (#10548)
* Populate ipv6_network_id in ipv6_addresses where empty

* Update functions.inc.php
2019-08-22 20:58:35 +01:00
Martin Zatloukal
f16805b71d Added support Ericsson MINI-LINK (#10546)
* Added support Ericsson MINI-LINK
* cleaning
2019-08-22 13:19:50 +02:00
garysteers
a1c8fe63ee Fixed ipv6_network_id query for null context_name (#10544)
* Fix ipv6_network_id query for `null` context_name
2019-08-21 20:07:15 +02:00
PipoCanaja
e7a86add93 Allow num_oid to use OCTET STRING indexes (#10410)
* make index available as OCTET STRING converted to OID
* codeclimate
2019-08-21 10:04:16 +02:00
soto2080
610afac9e7 Enabled FDB table support on Nexus devices (#10522)
* NXOS can build FDB table with the same commands used in IOS/IOSXE
2019-08-18 21:55:48 +02:00
PipoCanaja
67376e2e95 Reduce discovery snmp load of Cisco VTP vlans module (#10510)
* Only poll necessary OIDs for Cisco VTP vlan discovery, the current code overload some nexus devices
* codeclimate
2019-08-14 08:34:35 +02:00
PipoCanaja
9dfae2ff14 Allow filtering of Health sensor discovery (#10485)
* Filter sensor types or by regexp

* codeclimate

* codeclimate
2019-08-07 20:01:58 -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
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
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
PipoCanaja
837765fabe Added VRP SFPs thresholds and map entPhysical to ifIndexes (#10363)
* gather SFPs thresholds and map entPhysical to ifIndexes

* Update entity-physical.inc.php

Comment and force TravisTests

* codeclimate

* Simplify ifIndex collection

* Always update ifIndex

* Missing pre-cache value for skip_value
2019-07-14 18:37:01 -05:00
CirnoT
d4c109232a Ensure that sysName is trimmed on discovery (#10434) 2019-07-10 17:54:24 +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
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
Tony Murray
f3ba8947f7 Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
Tony Murray
8b0a1d902a Revert "WIP - Added VRP SFPs thresholds and map entPhysical to ifIndexes (#10355)" (#10362)
This reverts commit a3bb92074e.
2019-06-21 21:42:21 -05:00
PipoCanaja
a3bb92074e WIP - Added VRP SFPs thresholds and map entPhysical to ifIndexes (#10355)
* gather SFPs thresholds and map entPhysical to ifIndexes

* Update entity-physical.inc.php

Comment and force TravisTests

* codeclimate
2019-06-21 21:41:57 -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
TVCABO MZ
1f19eb2146 Fix mysql bug in cisco-sla module (#10357)
* Update cisco-sla.inc.php

Fix SQL error during discovery of cisco-sla.
This error points to /opt/librenms/includes/discovery/cisco-sla.inc.php(80).

LOG ERROR:
[2019-06-18 07:07:01] production.ERROR: SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters (SQL: UPDATE slas set device_id=39,sla_nr=1,owner=,tag=xxx.xxx.xxx.xxx,rtt_type=echo,status=1,opstatus=0,deleted=0 WHERE sla_id = 5) (SQL: UPDATE slas set device_id=39,sla_nr=1,owner=,tag=xxx.xxx.xxx.xxx,rtt_type=echo,status=1,opstatus=0,deleted=0 WHERE sla_id = 5)#0 /opt/librenms/includes/discover
y/cisco-sla.inc.php(80): dbUpdate(Array, ‘slas’, ’sla_id = :sla…’, Array)
#1 /opt/librenms/includes/discovery/functions.inc.php(179): include(’/opt/librenms/i…’)
#2 /opt/librenms/discovery.php(120): discover_device(Array, false)
#3 {main}

I suggest to change this lines of code in cisco-sla.inc.php to avoid this error:

line 80: dbUpdate($data, ‘slas’, ’sla_id = :sla_id’, array(‘sla_id’ => $sla_id));
change to: dbUpdate($data, ‘slas’, ’sla_id = ?’, array($sla_id));

line 87: dbUpdate(array(‘deleted’ => 1), ‘slas’, ’sla_id = :sla_id’, array(‘sla_id’ => $existing_sla));
change to: dbUpdate(array(‘deleted’ => 1), ‘slas’, ’sla_id = ?’, array($existing_sla));

* Fix quotes

* Missed one
2019-06-21 07:16:19 -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
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
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
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
Michael Ducharme
902c056f62 Fix for RouterOS LLDP discovery (#10265)
* Fix for RouterOS LLDP discovery

Only the first nine neighbors were correct on RouterOS - missing hexdec() led to the remaining neighbors being linked to the wrong ports. Ex. port 10 in hex was incorrectly linked to port 10 decimal when it should be 16 in decimal

* Added test data for MikroTik RouterOS CRS317 switch
2019-05-28 08:32:51 +02:00
Daniele Viganò
e9b3e258e8 Fix power consumption detection on Dell servers (#10250) 2019-05-23 09:54:19 -05:00
Spencer Butler
83522c6fef Added support for East iStars UPS (os: istars) (#10041)
* istars - Added support for East iStars UPS (os: istars)

* typo

* remove duplicate image

* refactored to use rfc1628

* added json

* update is_array to isset for bad rfc1628 implementation

* Update istars.inc.php

* revert rfc1628 changes

* update test data + PR 10240 patch

* update OIDs
2019-05-21 11:03:28 -05:00
Jozef Pivarník
2dc05ee501 Fixed Cisco MAC accounting discovery, polling and HTML templates. (#10158)
* Fix Cisco MAC acounting discovery, polling and HTML templates.

* Remove empty code.

* Provide test data for cisco-mac-accounting module.

* Added module test dependency.
2019-05-20 20:56:19 -05:00
Timothy Willey
0d656590ec NEW OS Aruba Instant (#9954)
* New OS: Aruba Instant

* New OS: Aruba Instant

* recreate test data

* remove aruba_instant test data

* remove empty file includes/definitions/discovery/aruba-instant.yaml

* fix state sensor discovery

* remove minor changes to includes/polling/functions.inc.phpwq

* move mac helper functions to Rewrite class

* simplify snmpwalk_group usage, general code cleanup

* fixes

* fixes

* fixes

* fixes

* fixes

* fixes

* recreate test data for 105 variant

* Add Client sensors for 8.4.0.0+

* begin stream-lining discovery and polling. separating discovery functions

* update test data

* update test data

* update test data

* improve mempool discovery/polling, clean up os polling, improve state discovery, improve os definition, misc fixes to wireless sensors module

* attempt to implement custom AP and client discovery and polling

* code fixes

* re-add ap count top graph

* more fixes

* more fixes

* more fixes

* more fixes

* remove some debugging, update test data

* code cleanup

* code cleanup

* address some scrutinizer warnings
2019-05-13 10:06:12 -05:00
Marvin Kuurstra
966ce85c19 Fortigate sessions sensors (#10183)
* Adding sensor for sessions

* Adding test data

* Fix index mistake and update test data (#12)

* Update test data for existing fortigate
2019-05-09 23:58:03 -05:00
CirnoT
b4f03808db Ignore empty IPv4 addresses in discovery on buggy devices (#10198)
* Ignore empty IPv4 addresses in discovery on buggy devices

* Styling fixes for codeclimate

* Use try/catch block instead
2019-05-09 06:39:57 -05:00
Tony Murray
3e7970b814 Fixed Avtech discovery (#10163)
* Fix Avtech discovery
pre-cache stored the data incorrectly

* Fix RA-4E external sensors
sen1 had incorrect oids (duplicate of sen2)
Description oid from data doesn't match the mib, perhaps outdated MIB?

* add test data

* Updated 4E MIB
2019-05-02 21:37:00 +01:00
CirnoT
308145d2da Fixed Raspberry Pi sensors discovery (#10176)
* Fixed Raspberry Pi frequency, voltage and state sensors discovery
* Added tests
2019-05-02 08:10:20 +02:00
PipoCanaja
30537361db LLDP Discovery by IP (#10130)
* add ip polling on LLDP devices

* ipv6 support

* formatting

* codeclimate
2019-04-29 21:56:03 -05:00
Vitali Kari
df2e80544c Extended sensors for Timos devices (#10160)
* additional sensors for timos
change to yaml discovery for sensors
remove obsolete tmnxChassisPowerSupplyTable

* inconsistent data in snmpsim

* fix snmpsim data

* fix snmpsim data

* fix snmpsim data
2019-04-29 20:48:37 +02:00
CirnoT
33a51bc592 Store IPv4 networks as network address and fix address search page showing networks not addresses (#10144)
* Store IPv4 networks as network address, not device address

* Properly display addresses, not networks on address search page
2019-04-29 11:52:32 -05:00
PipoCanaja
a3263b802b Added packetlight support (#10131)
* MIBS

* logos
sensors
user_func
cleaning

* tests

* Switch to Packetlight class, and use is_callable instead of function_exists

* tests

* CodeClimate

* Rename functions
2019-04-29 09:46:53 -05:00
CirnoT
272fabd8fc Added memory pool for Netgear switches (#10146) 2019-04-27 23:11:04 +02:00
PipoCanaja
a08b8333cc Bug - Nasty user_func vs divisor-multiplier issue (#10122)
* Nasty user_func vs divisor-multiplier issue

* tests
2019-04-17 20:15:31 -05:00
Spencer Butler
c76115bf46 Added support dellNet devices (#10016)
* Added support DELL-NETWORKING-PRODUCTS-MIB (os: dell-net)

* dell-net - created mempool, removed flash (not enough data points)

* dell-net - updated yaml sysObjectIDs

* dell-net - added sensors, fixed sensors

* clean up

* dell-net added Tx/Rx indicators

* dell-net - regroup Lanes

* dell-net remove Lane quotes, removed random files

* dell-net - updated Model description per requester

* added rules to ignore 0 values

* restricted discovery match

* merge dellNet into os: dnos

* typo

* remove dell-net test files
2019-04-12 00:49:35 -05:00
PipoCanaja
780ee36b10 Updated support for adva_fsp150 devices (#10049)
DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2019-04-09 13:59:08 +01:00
PipoCanaja
e285a9268e Improve Huawei BGP polling + BGP webui & graphs patches (#10010)
* basic adress family for VRP

* Improve BGP prefixes display

* Improve BGP prefixes display

* Improve BGP prefixes display

* climate
2019-04-09 13:44:48 +01:00
Spencer Butler
47e0ee1d04 Added support for Liebert PDUs (#10062)
* Added support for Liebert PDUs
2019-04-07 21:19:08 +02:00
Tony Murray
a3ef7c3d4a fix style issues (#10057) 2019-04-01 20:03:54 -05:00
priiduonu
5fc2f18af1 Added support for IONODES video encoders (#10031)
* Added support for IONODES video encoders

* fixed expected number instead of string value error when running tests

* removed extra colon

* added mibs_dir for ionodes

* removed IF-MIB from ionodes.yaml
2019-04-01 09:25:32 +02:00
Chi Hang Long
2eb5e30aa7 Modify to fix neighbours on EXOS switch problem (#10013)
https://community.librenms.org/t/modify-discovery-protocols-inc-php-to-fix-neighbours-problem-on-extreme-networks-exos-switch/7797

The bug is caused by SNMP polling switch-1 with ifIndex to DB (associate
ifIndex when adding switch), the port “1” is “1001”. Another switch-2
discover the switch-1 port “1” by LLDP is “1” (after LiberNMS get this
information). Two values are not equal (“1001” != “1”). If I change to
use ifName associate when adding device, because ifName is “1:1”, so it
can not equal to LLDP too (“1:1” != “1”).
2019-04-01 09:24:58 +02:00
Spencer Butler
7bfe0bc831 Added support for HikVision-DS Cameras (#9980)
* Added support for HikVision-DS Cameras

clean up

removed pointless file, cleaned up code

fixed failing unit tests, a bit of cleanup

WIP - will rebase

split hikvision into hikvision-nvr an hikvision-cam

* removed unneeded comment and rec file
2019-03-27 15:38:35 -05:00
TheGreatDoc
5535768d25 New Device: ATS - Automatic Transfer Switch (#9889)
* New Device: ATS - Automatic Transfer Switch

* Small fixes

* Fixed test data

* More fixes, again

* Moved temp to php to retrieve limits from device

* Fixed perms again...

* Final test file. Or I hope so...
2019-03-24 18:48:55 -05:00