Commit Graph

6021 Commits

Author SHA1 Message Date
Tony Murray
9faae11381 Sanitize graph input (#10276)
Could execute arbitrary rrdtool commands such as cd and ls.
2019-05-31 07:43:12 -05:00
CirnoT
241b07756f Don't show warning when ignored device is online (pingable) (#10286)
* Don't show warning when ignored device is online (pingable)

* Update logic for header on device page too

* Make codeclimate happy
2019-05-30 14:46:33 -05:00
Tony Murray
27bc9a1cfb Fix hytera_h2f bug (#10281) 2019-05-30 09:56:27 -05:00
PipoCanaja
ccb6e2e614 Removed broken POE graphing code (#10188)
* remove broken POE graphing code

* remove broken POE graphing code

* add missing iosxe condition
2019-05-29 13:37:00 -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
Tony Murray
54e4d0910a Sanitize report name in pdf.php (#10270)
Authentication users could include arbitrary file.
2019-05-29 09:39:17 -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
Llarian
0e36e52a63 Fixed Quick Graphs bug w/ Aggregate 95th code (#10269)
* Added configuration options to aggregate input and output bits before making 95th percentile billing calculations

* Changed aggregate to per-bill instead of global.  Added config options for making aggregate the default selected option.  Refactored out mres() calls in touched files.  Changed to Config::get where appropriate.

* Fixed documentation typo

* Fixed scope of aggregate default config option to be under billing

* Fixed getRates issue in Quick Graphs section of 95th percentile bill

* Added configuration options to aggregate input and output bits before making 95th percentile billing calculations

* Changed aggregate to per-bill instead of global.  Added config options for making aggregate the default selected option.  Refactored out mres() calls in touched files.  Changed to Config::get where appropriate.

* Fixed documentation typo

* Fixed scope of aggregate default config option to be under billing

* Fixed getRates issue in Quick Graphs section of 95th percentile bill

* Fixed formatting
2019-05-28 23:39:31 -05:00
jozefrebjak
824bcb7f16 Added detection and sensors for Huawei SMU device (#10267)
* added new os huawei-smu
* Create huawei-smu.inc.php
* added snmprec test
* added json test
* Update huawei-smu.json
* Update huawei-smu.json
* updated os definition
* added sensors of SMU
* Update huawei-smu.inc.php
* Create HUAWEI-SITE-MONITOR-MIB
* Update huawei-smu.snmprec
* Update huawei-smu.yaml
* Update huawei-smu.json
* Update huawei-smu.snmprec
2019-05-28 14:57:11 +02:00
PipoCanaja
0ae1f30f7d Indent cleaning for bills (#10268)
* Correct indentation and empty lines

* Update new_bill.inc.php

* Update addoreditbill.inc.php
2019-05-28 07:08:24 -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
Llarian
9c837bee87 Added aggregate config option to Billing 95th percentile calculations (#10202)
* Added configuration options to aggregate input and output bits before making 95th percentile billing calculations

* Changed aggregate to per-bill instead of global.  Added config options for making aggregate the default selected option.  Refactored out mres() calls in touched files.  Changed to Config::get where appropriate.

* Fixed documentation typo

* Fixed scope of aggregate default config option to be under billing
2019-05-27 21:44:02 -05:00
Spencer Butler
5c39c41891 Updated OS (ftd) for Cisco FirePOWER devices (#10046)
* Adding support for Cisco FirePOWER devices

* update OS (ftd)

* Update ftd.yaml
2019-05-24 08:02:51 -05:00
kmpanilla
dbd0066269 Update to planetos.inc.php for ISG-* models (#10152)
* Update to planetos.inc.php for ISG-* models

Gets the proper hardware model# and version of the planet IGS-* series.

* Added test files

* Update planetos.inc.php

* Update planetos.inc.php

* Update planetos.json

* Update planetos.json

* Delete planetos.json

* Update planetos_igs-10020mt.json
2019-05-24 08:01:58 -05:00
Tony Murray
119c52fcb2 Fix can't set poller group on ping only device (#10260) 2019-05-24 07:35:33 -05:00
Timothy Willey
a000b4a6de ArubaOS - fix client count polling, add ap count polling. (#10231)
* fix client count polling, add ap count polling.

* Set low warning/critical thresholds for AP count sensors

* Add Aruba AP Count Warning and Critical Alerts to collection, lint alert_rules.json

* add newline at end of alert_rules.json

* add/update tests/data/arubaos*.json test data
2019-05-23 10:17:09 -05:00
Tony Murray
90a67c2ece User configurable locale (language) (#10204)
* Support for system APP_LOCALE

* Start preferences re-write

* port 2fa form

* Working user preferences

* Language user preference

* Don't look up locale from the DB every request

* Device list working

* Deny demo user middleware

* Finish password changing

* remove used resource methods

* remove leftover use

* warn that translation is incomplete

* fix style
2019-05-23 10:05:45 -05:00
pobradovic08
90bb68f026 Netscaler vsvr - fixed wrong table colspan (#10246) 2019-05-23 10:04:35 -05:00
Tony Murray
c99f6afa9b Fix device overview port counts (#10254) 2019-05-23 09:58:43 -05:00
Daniele Viganò
e9b3e258e8 Fix power consumption detection on Dell servers (#10250) 2019-05-23 09:54:19 -05:00
Thom Seddon
f7e365f296 Fix alert follow up for custom queries (#10253)
RunFollowUp checks if there is a custom sql query attached to
the alert and uses this before invoking GenSQL to build the query.
However, the custom query column was not included when selecting
alerts so the GenSQL function was always invoked.

This patch includes the alert_rules.query in the loadAlerts function
used by RunFollowUp.
2019-05-23 08:58:33 -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
Tony Murray
c9748b166e More url helper fixes (#10241)
* More url helpers
graph links
ajax search

* Fix for non-Laravel pages using the url helper

* fix widget settings
2019-05-21 08:50:45 -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
Tony Murray
e9ae08d5db Use Laravel url helpers to improve functionality without dns name (#10227)
* Use Laravel url helpers to improve functionality without dns name
Not exhaustive...

* Fix Url generated urls

* Bump js version
2019-05-20 11:47:34 -05:00
pobradovic08
1e76915af3 Netscaler vservers table update (#10103)
* webui: Netscaler Vservers add table header and vserver type

* webui: Netscaler Vserver sorting (name, traffic in/out)
2019-05-20 08:56:53 -05:00
corsoblaster
3e2c999706 Collect Appliance serial number from Sophos device (#10210)
* Collect Appliance serial number from Sophos device

Add serial number read. Added on polling session instead of discovery because the S/N changes in case HA functionality is enabled, and there is a switch between active and standby.

* Update cyberoam-utm.inc.php
2019-05-20 08:11:20 +02:00
PipoCanaja
eecc5b36e0 Doc: Typo in oxidized.inc.php (#10236) 2019-05-19 22:51:00 +02:00
kmpanilla
8fc9593c4f Fix Siklu Version/Serial (#10235)
* Fix Siklu Version/Serial

Siklu allows for two software images. We must first determine which SW bank is "running" in order to report the correct version.
Also adding correct Serial Number detection for Siklu devices.

* Update siklu.inc.php

* Update siklu.snmprec

* Create siklu.json
2019-05-18 23:19:04 -05:00
PipoCanaja
393b0e688f Added Wireless discovery to Huawei Vrp (#9516)
* HUAWEI Wireless MIB files

* Adding support for Wireless Controller capabilities of Huawei VRP Switches

* CodeClimate Fixes

* Add clientPerRadio polling for VRP

* Cache snmpwalk_group and  snmpwalk_cache_oid separately

* Travis

* Travis

* Cleaning sensors not available

* isset corrected

* tests

* clean

* default value for depth

* Update Vrp.php

* Update Vrp.php

* Update vrp.inc.php

* Update vrp_ac6605-26.json
2019-05-18 23:00:53 -05:00
Vitali Kari
953f26d4d5 Add support for ZyNOS MGS switches (#10234)
* Update zynos.yaml

add support for MGS Switches

* Create zynos_mgs3712.json

* Create zynos_mgs3712.snmprec

* Create ZYXEL-MGS3712-MIB
2019-05-18 22:52:33 -05:00
jozefrebjak
9d56593a2c Initial detection for huawei gpon MDU (#9733)
* added initial detection for huawei gpon MDU

* Add files via upload

* Add files via upload

* Fixed tests
2019-05-14 22:13:53 -05:00
corsoblaster
b58527cc84 Replace Cyberoam with Sophos (icon and logo) (#10213)
* Replace Cyberoam with Sophos (icon and logo)

Cyberoam has been completely incorporated by Sophos since many years.
I'll try to replace everything related to Cyberoam, staring from logo and icon.

* Updated Sophos logo

Updated Sophos logo

* Added Sophos logo

Added Sophos logo
2019-05-14 08:11:15 -05:00
Martin
d68d8a81df Prevent fail2ban from filling eventlog on every poll (#10225)
Either the jails in the array or the respective indexes get rearranged on every poll. Adding only the values (jail names) without the indexes solves the issue. I tried also asort() which gives the same behavior.

Details: https://community.librenms.org/t/eventlog-filling-with-fail2ban-jail-component-logs-since-latest-stable-update/7902/10
2019-05-14 08:09:41 -05:00
Tony Murray
8cc988a162 Fix plugins menu (#10222)
* Merge pull request #54 from librenms-plugins/revert-52-PluginNamespaceCorrection

Revert "Adding namespace LibreNMS\Plugins;"
Fix plugins menu

* Only use scrollable where needed
2019-05-13 14:53:29 -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
Tony Murray
882818d9f3 Fix location missing from API device list (#10215) 2019-05-13 09:45:19 -05:00
Tony Murray
c097747d77 API Fix error when no fdb are found (#10125)
* Fix error when no fdb are found

* actually, it was totally broken...
fix untested

* missing device update

* cleanup

* Update api_functions.inc.php
2019-05-13 08:35:24 -05:00
SourceDoctor
96f7f142ba add mdadm support (#10159)
* add mdadm support

* Update mdadm.inc.php
2019-05-12 23:42:03 -05:00
CirnoT
ef90da2a31 Better services graphing support (#10185)
* Move services graph code from device to service and remove unused code

* Add proper support for services to dashboard graph weidget

* Fix phpdoc in ServiceController still pointing to MuninPluginController
2019-05-12 23:40:27 -05:00
Dragan Savic
4313cbfd31 Improved OSPF device display (#10206)
- Fixed ospf port listing, as current query only returned ospf ports for last AreaID in area foreach loop.
- Added Area ID column to Ports table.
- Removed whitespaces.
2019-05-11 23:33:55 +02:00
sparkkraps
652a9f5486 Update legacy_api_v0.php (#10209) 2019-05-11 23:10:04 +02:00
Tony Murray
9ede688d13 Replace legacy menu with new Blade generated one (#10173)
* Remove legacy index php file

* fix routing page missing data

* WIP

* fix $navbar global usage

* remove global use of $locations

* ObjectCache again...

* move vars.inc.php to init.php for legacy ajax

* navbar is more local than I thought before.  Fix it.

* Fix some sensors tables escaping

* restore custom menu functionality, but with blade
and docs

* cleanup

* tidy menu @if checks

* Fix up the rest of the global variables and remove print-menubar.php

* consolidate some counting in the menu

* filter out empty custom port descr types

* Fix up custom port groups

* Fix up apps menu

* Fix services menu when all are ok

* Limit cached data to the user it is for

* Fix style

* A few clean ups

* fix pseudowire bug
2019-05-10 11:02:39 -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
Tony Murray
36ac5d6480 Remove console-ui (#10190) 2019-05-09 21:45:45 -05:00
Slashdoom
517a32c67b Fix: netstats-udp, tcp and ip rrd's not updating (#10197)
* netstats fixes

* code climate

* Update netstats-ip.inc.php

* fixes

* code climate

* GH feedback changes

* codeclimate
2019-05-09 21:37:30 -05:00
CirnoT
f036b1df3d Added support for PoE state sensor on Mikrotik devices (#10201) 2019-05-09 23:14:42 +02:00
CirnoT
4e43594df0 Fix state sensors on device health page showing always as OK (green) (#10200) 2019-05-09 06:41:12 -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
David Nelson
223d3070d5 Fix MySQL error were prepared statement contains too many placeholders (#10153)
* Fixes a MySQL error were the prepared statement contains too many placeholders. Modifies dbBulkInsert to run array_chunk on incoming data and inserts those smaller chunks.

* Trying to address some automatic checks about blank lines.

* Trying to make Code Climate happy with reduced cognitive complexity.

* Trying to make Code Climate happy with reduced cognitive complexity.
2019-05-06 21:42:25 -05:00