Commit Graph

1057 Commits

Author SHA1 Message Date
Maximilian Wilhelm 79eab54fd9 Allow ignoring unmapable interfaces in poller.
When using the ifName or ifDescr as means to map discovered ports to
  known ports in the DB (think of port association mode) it's possible
  that we're facing the problem that the ifName or ifDescr polled from
  the device is unset or an empty string (like when querying some ubnt
  devices...). If this happends we have no way to map this port to any
  port found in the database. As reported this situation may occur for
  the time of one poll and might resolve automagically before the next
  poller run happens. Without this special case this would lead to new
  ports added to the database each time this situation occurs. To give
  the user the choice between »a lot of new ports« and »some poll runs
  are missed but ports stay stable« the 'ignore_unmapable_port' option
  has been added to configure this behaviour. To skip the port in this
  loop is sufficient as the next loop is looping only over ports found
  in the database and "maps back". As we did not add a new port to the
  DB here, there's no port to be mapped to.

  I'm using the in_array() check here, as I'm not sure if an "ifIndex"
  can be legally set to 0, which would yield True when checking if the
  value is empty().

Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
2016-02-03 21:14:24 +01:00
laf 37d72e1512 Merge branch 'master' of https://github.com/librenms/librenms into issue-2770 2016-01-31 18:17:59 +00:00
Neil Lathwood b72c1282d9 Merge pull request #2797 from BarbarossaTM/issue-386-v2
Ability to use ifIndex,ifName and ifDescr to create and update port rrd files
2016-01-29 13:05:03 +00:00
Neil Lathwood 7c79d62baf Merge pull request #2840 from adaniels21487/issue-1851
Cisco CBQOS
2016-01-29 10:21:34 +00:00
Rosiak e7e035305b Eaton Basics 2016-01-28 23:11:11 +01:00
Neil Lathwood 57a7549446 Merge pull request #2764 from vitalisator/stp
Add STP port polling and device information
2016-01-28 19:08:09 +00:00
Neil Lathwood e00a35c2ff Merge pull request #2867 from paulgear/master
Update per-module poller performance collection
2016-01-28 09:41:09 +00:00
Aaron Daniels e54e22b56e - Changed upper case variables to lower case. 2016-01-26 23:31:07 +10:00
Maximilian Wilhelm 2c9df26bbf Update discovery and poller to allow stable interface mapping by ifName/ifDescr based port mapping.
By default libreNMS used the ifIndex to associate ports just found via SNMP
  with ports discoverd/polled before and stored in the database. On Linux boxes
  this is a problem as ifIndexes are rather likely to be unstable between reboots
  or (re)configuration of tunnel interfaces (think: GRE/OpenVPN/Tinc/...), bridges,
  Vlan interfaces, Bonding interfaces, etc.

  This patch adds a »port association mode« configuration option per device which
  allows to map discovered and known ports by their ifIndex, ifName, ifDescr, or
  maybe other means in the future.
  The default port association mode still is ifIndex for compatibility reasons.

  As port RRD files were stored by their ifIndex before, they are now identified
  by their unique and stable port_id to ensure a stable and unique mapping and
  allow future port association modes to be added without requireing any further
  internal changes. Existing RRD files are renamend accordingly in discovery and
  poller tools to ensure stability of port associations in both modules as we
  don't know which might run first after an update.

Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
2016-01-26 13:49:30 +01:00
Paul Gear 99a76d4ea2 Update per-module poller performance collection
This makes the following changes:
- Record per-module performance data in the same measurement as overall poller-perf
- Add tags to distinguish modules
- Update rrd filenames
- Use stacked graph for poller modules
2016-01-26 20:20:42 +10:00
laf a40b609bfa Removed edgeos test 2016-01-26 01:19:44 +00:00
laf f10c42678d Added bgpPeers_cbgp delta and prev 2016-01-26 01:06:21 +00:00
laf 9b1d2f31a1 Added Lexmark printer support 2016-01-24 23:57:24 +00:00
vitalisator b476c5bf99 add STP Ports 2016-01-24 18:45:19 +01:00
Mike Rostermund 006056a754 Store performance data for each poller module 2016-01-24 15:35:31 +01:00
Neil Lathwood abf2fc0ba5 Merge pull request #2740 from paulgear/unified-data-storage-rrd-influx
First cut at unified data storage for rrdtool & influxdb
2016-01-21 23:31:09 +00:00
Aaron Daniels bf37312bdc Cisco CBQOS
Implements the CISCO-CLASS-BASED-QOS-MIB to retrieve QOS counters from Cisco devices.
Policy and Class-map details are collected and stored in the database.
Details are presented on a new "CBQoS" tab of the interface that the policy is applied to.
Includes a policy selector that allows you to select which policy-map to show graphs for.

Each class-map has its own rrd file, in which 3 metrics are stored: Bytes, QoS Drops, Buffer Drops.
This can produce a LOT of rrd files.

As an example:
A Cisco 4500 series switch, running MQC on 200 ports. Each port has a common 5 class queueing policy applied, this creates 1000 (5 x 200) RRD's.

Because of this I have currently set:
```
$config['discovery_modules']['cisco-cbqos']    = 0;
```

Includes function snmpwalk_array_num, which performs a numeric SNMPWalk and returns an array containing $count indexes
One Index:
 From: 1.3.6.1.4.1.9.9.166.1.15.1.1.27.18.655360 = 0
 To: $array['1.3.6.1.4.1.9.9.166.1.15.1.1.27.18']['655360'] = 0
Two Indexes:
 From: 1.3.6.1.4.1.9.9.166.1.15.1.1.27.18.655360 = 0
 To: $array['1.3.6.1.4.1.9.9.166.1.15.1.1.27']['18']['655360'] = 0
And so on...
2016-01-21 21:18:14 +10:00
Mike Rostermund e021cf8f67 Merge pull request #2801 from wiad/issue-2708
Add infoblox devices (Issue 2708)
2016-01-19 23:00:43 +01:00
Paul Gear b5e67358a0 Merge pull request #2809 from laf/issue-2772
Removed unused code in port poller for non-cisco devices
2016-01-20 07:52:34 +10:00
laf 302ecb8858 Removed unused code in port poller for non-cisco devices 2016-01-19 11:25:03 +00:00
laf 3a8b0b053d Rebased includes/common.php 2016-01-19 09:00:18 +00:00
wiad 086443b77a Merge branch 'master' of https://github.com:/wiad/librenms into issue-2708
Conflicts:
	includes/definitions.inc.php
2016-01-19 09:51:03 +01:00
wiad 1a8472258b Fixed syntax error in line continuation 2016-01-19 08:03:30 +01:00
wiad 65176c00bd Addes support for infoblox devices 2016-01-18 13:51:39 +01:00
laf 49adff3895 Added the lookup of IP if device hostname is a hostname 2016-01-17 23:59:51 +00:00
arrmo 2f6800b5e4 Updates based on comments from Pull-Request 2016-01-17 17:08:16 -06:00
R. Morris 5c4ed305ec Grab the most current files. 2016-01-17 14:45:53 -06:00
R. Morris bc4b26e0df LenovoEMC (NAS) - initial code update. 2016-01-17 14:45:53 -06:00
laf 2a097dd803 Fix uptime issues for devices that fail with additional uptime snmp queries 2016-01-16 20:02:42 +00:00
Paul Gear 72b9f52c59 Rebased against master; use data_update for uptime 2016-01-15 21:52:09 +10:00
Paul Gear ee75253310 Build in automated RRD file renaming 2016-01-15 21:49:58 +10:00
Paul Gear 3831ad3f45 First cut at unified data storage for rrdtool & influxdb
As a side-effect, this adds InfluxDB support for MIB-based polling.
2016-01-15 21:49:57 +10:00
Paul Gear 61af4f9d7f Merge pull request #2768 from SaaldjorMike/msm-poll-os
Added support for hardware, serial, firmware for HP MSM
2016-01-15 21:23:31 +10:00
Mike Rostermund 6f06b74f43 Use the sysDescr we've already polled in the core module 2016-01-15 12:06:28 +01:00
Paul Gear d1d3dba97d Merge pull request #2637 from laf/snmp-perf
Moved system polling module to core to centralise some snmpget calls
2016-01-15 20:10:09 +10:00
Mike Rostermund a8b476d58f Added support for hardware, serial, firmware for HP MSM 2016-01-14 21:20:38 +01:00
Mike Rostermund 81cb935735 Added polling of wifi clients for HP MSM 2016-01-14 20:20:58 +01:00
Neil Lathwood d3132a190b Merge pull request #2690 from vitalisator/stp
add basic STP/RSTP support
2016-01-10 22:45:24 +00:00
Neil Lathwood 72cc180184 Merge pull request #2719 from SaaldjorMike/del-utime-func
Replaced custom utime() function with microtime(true)
2016-01-10 22:43:31 +00:00
Søren Rosiak 7ac249bc2a Merge pull request #2743 from laf/issue-2469 2016-01-10 22:58:39 +01:00
laf cc2dfafffa Fix polling issue for AirFibre 2016-01-10 16:46:31 +00:00
Rosiak a265f9a8dc Basic HWGroup Poseidon Discovery
Initial PR
2016-01-10 14:58:56 +01:00
laf c1da4d8a6f rebased 2016-01-10 00:46:04 +00:00
Søren Rosiak 89a22efda3 Merge pull request #2469 from thomseddon/feature/sub10-support 2016-01-08 15:07:01 +01:00
Neil Lathwood 4e127af323 Merge pull request #2696 from SaaldjorMike/vmware-vminfo-discovery-perf
Fixed discovery+poller performance of VMware virtual machines.
2016-01-08 13:35:15 +00:00
Mike Rostermund e2d1a8e7d9 Replaced custom utime() function with microtime(true) 2016-01-08 13:33:32 +01:00
Thom Seddon 9593473549 Add sub10RadioLclDataRate graph 2016-01-08 10:51:25 +00:00
Thom Seddon 89a76ef673 Add comprehensive Sub10 support 2016-01-08 10:51:25 +00:00
Mike Rostermund a1261a0aeb Replace utime() for microtime(true) 2016-01-08 08:41:12 +01:00
Mike Rostermund 51d2e32c36 Print runtimes for each individual polling and discovery module. 2016-01-07 12:04:51 -08:00