Commit Graph

602 Commits

Author SHA1 Message Date
Tony Murray 27cc5ac19c Check python3 and pip3 versions (#11739) 2020-05-30 11:17:34 -05:00
Tony Murray 3d4ddc62ee Fix python validation user check (#11626) 2020-05-30 11:17:10 -05:00
Tony Murray 9b5cd26a9c Hide python user warning if deps met at system level (#11590) 2020-05-30 11:16:55 -05:00
Tony Murray 0e00454b8f Full path to requirements.txt in validate (#11581) 2020-05-09 14:26:24 -05:00
Tony Murray 257d596c3b Add python validation fix suggestions (#11563)
* add python fixes

* re-order python requirements so most important deps show first.

* Only check dependencies if we are running as the poller user
2020-05-08 09:54:30 -05:00
Tony Murray 73ac93d729 Fix errors for some devices loading components (#11527)
* Test WIP

* WIP

* port getComponents to Eloquent

* port more

* simpler creation

* change to explicit arrays

* add missed file

* restore commented code

* fix inserting null value for component prefs

* Fix some bugs in setCompenentPrefs
Can't create tests without fixing bugs first :D

* another test

* another test

* Modernize setComponentPrefs

* Test for event log entries

* Fix delete event

* fix invalid values for component toggles

* status log too

* Use Setters to work around bad data, $casts doesn't do what we want.
2020-05-08 00:30:56 -05:00
spencerryan 39ef4dc503 Do not delay alert recovery notifications (#11555)
Skip the delay logic for recovery.
2020-05-06 23:02:43 +02:00
SourceDoctor e170529692 Python3 Module Dependency Check (#11544)
* Python3 Modul Dependency Check

* code climate

* binary existance check

* move Python Modul Version Check

* .

* adding verbose argument

* args parser nicement

* enhance Validator for detailed approvements

* Update Python.php

* Update check_requirements.py

* python version to Version class
use Process

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-05-06 10:58:17 -05:00
Tony Murray 598c8c0848 Fix Smokeping without integration (#11548) 2020-05-06 09:13:21 -05:00
Tony Murray c48943550b Fix port permissions (#11560) 2020-05-06 09:12:33 -05:00
spencerryan 9b22bcc5b8 Send Device group membership to Pagerduty (#11522)
* Send Device group membership to Pagerduty

Send device group membership to pagerduty. This allows routing (event rules) on the Pagerduty side to make decisions based on group membership inside LibreNMS

* Simplified changes

Rolled all changes into one line per @murrant sugguestions
2020-05-03 13:22:48 +02:00
Vitali Kari 1108f7d530 MPLS updates and bugfixing (#11468)
* MPLS updates and bugfixing

* Tests

* tests

* code climate, tests

* tests

* tests

* remove nokiaIfName(), fetch ifName from the database instead

* restore from messed rebase

* tests

* btw, fix travis about the missing docs

* tests

* tests

* clean the messed up test data an generate new for timos

* rebase
2020-05-01 23:05:51 -05:00
Tony Murray 0e9cd8fbc4 SIAE Radio: add additional sensors and data (#11498)
* SIAE add additional sensors and data
Improved labels
Modulation
Rate
Serial Number
Hardware name

* Add total rates

* was supposed to be divisor

* Short array syntax
2020-05-01 22:11:35 -05:00
SourceDoctor ca1c35ade0 String Nicement for RRDCached - also alphabetic sort (#11517) 2020-05-01 22:08:21 -05:00
Guillermo 7505ed6757 fix double escaping in influxdb datastore (#11503) 2020-05-01 22:04:56 -05:00
spencerryan a545c87ad5 Allow manual configuration of Pagerduty Integration Key (#11519)
* Allow manual configuration of Pagerduty Integration Key

Pagerduty supports a global event queue per account and provides the integration key for it. This allows you to enter the key directly and bypass the OAuth workflow if desired.

* Update Pagerduty.php

Fixed spacing.
2020-05-01 22:03:11 -05:00
Tony Murray 9ece98cdf2 Fix lcos PHP 7.4 incompatible code (#11497) 2020-05-01 09:48:22 -05:00
Tony Murray 055abcf443 Device page dropdown hero button, Performance -> Latency (#11328)
* Throw some shit together, rough outline.

* Reorganize tabs, use tab controllers

* Implement performance (into the latency tab)

* Update resources/views/device/header.blade.php

Co-Authored-By: Jellyfrog <Jellyfrog@users.noreply.github.com>

* Add more tabs

* All controllers created

* Implement routes

* Implement smokeping

* routing and auth

* fix smokeping check

* Implement device dropdown menu

* Update deviceUrl to new style

* Use Gates

* Fix style

* use more appropriate gates

* add show-config gate
remove Laravel helper

* Only show vlan tab if VLANs exist for the device :D

* Fix rancid file check will return false

* revert over-zealous file name changes

* don't need to request the location parameter, just cast to string to avoid bugs when not found

* Move latency tab (ping/performance) to the position of performance instead of ping.

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2020-04-29 07:25:13 -05:00
Tony Murray 84c1f1a0b6 Bump version to 1.63 2020-04-27 22:52:42 -05:00
Jellyfrog 05507526c0 Set PHP 7.2.5 as minimum supported version (#11470) 2020-04-24 11:04:36 +02:00
Wheel 59222847b9 Ubiquiti Airfiber LTU many more sensors (#11382)
* Update AFLTU mib

* Airfiber LTU details

* More detailed graphs for Ubiquiti AF-LTU

* Travis fix

* Cleanup and Modulation change

* Ethernet port status

* SNMPrec

* SNMP data json
2020-04-22 01:30:35 -05:00
Heath Barnhart 10660261df pagerduty transport uses template message (#11459) 2020-04-21 23:48:23 +02:00
Tony Murray 47b125b247 Fix sensor link (#11454)
used bitwise operator instead of a logical one.
2020-04-21 10:19:41 -05:00
Tony Murray cc60a76c7b Show full path to ini file for timezone errors. (#11444) 2020-04-21 07:30:19 -05:00
SourceDoctor cc2894c0df Widget Eventlog Sensors Link and Mouseover functionality (#11380)
* Global Settings - Alert Default Settings

* Revert "Global Settings - Alert Default Settings"

This reverts commit a1af62b146.

* Widget Eventlog - Sensors link and overlib Image

* travis fix

* handling via AppServiceProvider

* collect function

* Travis ...

* static list of Sensor Types

* adding all sensor graph_types

* remove collect

* correct getTypes - remove change to lower case

* class sensor_descr switch

* class sensor_descr switch - revert

* Use standard sensor type names

* move types to attribute list

* going back to changes from 9eee7fad58

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-04-19 12:57:49 -05:00
Jozef Rebjak bb9ebb4e45 Added support for Peplink Pepwave & FusionHub (#11432)
* Added support for Peplink Pepwave & FusionHub

* Travis fixes

* Another Travis fixes

* Travis fixed

* Travis fixes

* Update peplink.svg

* Resolved reviews

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-04-19 10:28:21 -05:00
Tony Murray 1c08c11a77 Remove Laravel helpers (#11428)
* Remove Laravel helpers

* Replace qualifier with import
2020-04-18 00:37:56 +02:00
Tony Murray e4b49f59f6 Delete ports via eloquent event (#11354)
* Delete ports via eloquent event
Chunk delete during purge all operations so we don't use too much memory.

* protect against missing device

* fix whitespace

* fetch less from the database when deleting a device's ports
fix output
2020-04-16 09:19:58 -05:00
Tony Murray faac90d2b3 Revert "Use which instead of whereis (#11407)" (#11413)
This reverts commit 3925e78d84.
2020-04-12 09:09:18 -05:00
Adam Bishop 492ab32b6d Add support for sending events to Sensu (#11383)
* Add support for sending events to Sensu

Sensu is an alerting and monitoring service (and much more) that has a
nagios compatible check API.

This transport translates LibreNMS alerts into Sensu events, and sends
them to the agent API running on the same host as the poller.

The transport has a few options, but none of them are required - if the
Sensu agent is correctly configured, alerts will be sent as soon as the
transport is enabled.

There's a fair amount of code, as I've tried to translate as much data as
possible between LibreNMS and Sensu.

* Update Transports.md

* If alerted is 0, send an "ok" alert dated rrd.step / 2 seconds ago

This makes Sensu aware of the last time the check ran successfully (ish).
If we don't send the initial "ok", Sensu will either display 'unknown',
or an incorrectly high duration for the incident.

Alerted gets set to 1 after the first alert is sent.

We choose rrd.step / 2 as:
 * rrd.step is the maximum time ago the check could have succeeded
 * we halve it, so that if a check is flapping, it is not masked

Basically, we guess that the check fails around halfway through the time
since the poller last ran.

* Add additional metadata

* Improve codeclimate slightly

* Consider names that are 2 or 3 components long
2020-04-11 14:29:13 -05:00
Jellyfrog 3925e78d84 Use which instead of whereis (#11407)
which searches in PATH
whereis -b doesn't exist on some OSes
2020-04-11 13:03:39 +02:00
Heath Barnhart d6de5cb67b CyberPower SNMP Traps (#11403)
* Initial Commit of Handlers

* Starting unit tests

* Completed Unit Tests
2020-04-10 13:27:15 +02:00
PipoCanaja 3fb46710a6 Added support for RIEDO data concentrator (#11237)
* Riedo E3Meter DataConcentrator

* Riedo E3Meter DataConcentrator Image

* logos

* name

* Freq + Power

* Power

* Tests + standalone riedo mib

* tests
2020-04-10 13:24:49 +02:00
PipoCanaja ad1c7d0e19 IPv6 support for BGP peers in VRP devices (#11243)
* ipv6 support for BGP routes in VRP devices

* reverse bgpPeers array to allow VRF aware BGP

* codeclimate

* codeclimate

* codeclimate, finally

* Split VRP out of bgp-peers for readabilty

* Split VRP out of bgp-peers for readabilty

* tests

* CodeClimate

* improve function description

* improve function description

* v6data

* rebase

* space

* ipv6 support for BGP routes in VRP devices

* reverse bgpPeers array to allow VRF aware BGP

* codeclimate

* codeclimate

* codeclimate, finally

* Split VRP out of bgp-peers for readabilty

* Split VRP out of bgp-peers for readabilty

* tests

* CodeClimate

* improve function description

* improve function description

* v6data

* rebase

* space

* fixed corner case
2020-04-10 13:22:26 +02:00
Martin22 c379fee161 Add support Ray3 (#11374)
* Add support Ray3

* Create ray3.json

* Fixed copyrights, comments and move MIB file.

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-04-05 17:13:22 +02:00
Tony Murray 7688426c85 Fix adsl graphs (#11379)
disable name checking
2020-04-04 07:41:22 -05:00
Tony Murray f0d68a1ad8 Update PHP dependencies (#11377)
* Update composer dependencies
Fix PSR-4 violations

* Actually support PHP 7.1 :D

* all trap tests should extend SnmpTrapTestCase
2020-04-03 17:13:18 -05:00
Jellyfrog 19ab723167 Also count reviewer help in changelog (#11376) 2020-04-03 11:50:34 -05:00
Tony Murray 217969e140 Update php-codesniffer (#11368)
* PHPCS 3.5+

* Fix newly detected style issues
2020-04-03 08:41:24 -05:00
Martin22 0b78bb202e Mikrotik - Updated MIB file and added Wireless Quality (#11347)
* Updated MIB file and added Wireless Quality

* Update snmprec file

* New snmprec file and restore original routeros.snmprec

* Revert "New snmprec file and restore original routeros.snmprec"

This reverts commit ce3a1fbc048b7b084adf3b07f17b5119b9e60d4f.

* Fix snmprec files

* Create routeros_wifi.json

* Update routeros.json

* rebase, more

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-04-01 20:13:11 +02:00
Hayden cdb6a74dc8 implement watchdog to librenms-service (#11353)
* add watchdog to librenms-service to check log file
add Redis timeout to librenms-service

* updated docs

* fixed logfile_watchdog() indentation in service.py

* indentation fix

* code climate patch

* updated default redis timeout if alerting frequency is 0
2020-03-31 23:10:45 -05:00
Tony Murray 46c0587caf Bump version to 1.62 2020-03-31 20:51:06 -05:00
SourceDoctor f7f6c63e86 QueryBuilder Filter alphabetic sorting (#11358)
* Global Settings - Alert Default Settings

* Revert "Global Settings - Alert Default Settings"

This reverts commit a1af62b146.

* Sort Querybuilder Filter alphabetic
2020-03-31 04:30:51 +02:00
Tony Murray 16f02f8b3b Fix issue when field name is longer than allowed (#11349)
by rrdtool
2020-03-25 14:46:00 -05:00
Tony Murray 67f3d889b9 Only check depedencies once in validate.php (#11316)
* Only check depedencies once in validate.php

* Update librenms-service.py
2020-03-23 09:05:18 -05:00
Nick Hilliard fb7c578fdf symfony requires php-dom extension (#11320) 2020-03-22 14:02:07 -05:00
Tony Murray 22e8b16530 Fix show rrdtool command (#11305) 2020-03-19 10:12:00 -05:00
Tony Murray df16de9d2f Refactor Datastores to allow future improvements. OpenTSDB Tags. (#11283)
* Datastores to object oriented code, using the Laravel IoC container

Change instantiation
better DI
move OpenTSDB

Small re-orgs

remove unused stuff

Fix graphs and other scripts

Use DI for all except rrd

fix up connection error handling

Add tests, fix up a "few" things
Add Config::forget()

Style fixes

Don't reference legacy code

remove accidental code paste

Add datastores phpunit groups

some tests

* rebase fixes

* some test fixes

* shorter tests

* shorter tests

* Don't except when rrdtool can't be started.

* restore tests

* fix rrd tests

* fix iterable change upstream

* fix isValidDataset

* fix invalid data bug

* fix mysql incorrect ds

* fix issue with data that is too long

* use regular data_update()

* Use log facade

* OpenTSDB mis-ordered arguments fix

* Making a singleton with different options makes different singletons.  Just use the global config settings to disable datastores.

* only filter tags for datastores that won't it don't modify the tags permanently

* Update copyrights to include original authors.

* Stats for all datastores

* Fix mysql sends different rrd / other ds names

* fix snmp last stats not initialized
remove unused function

* remove unused function and move single use function closer to its use

* InfluxDB does not need to update null or U values.
Skip write if all fields are empty

* Fix smart value checks

* fix style issues

* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible

* Missed rrdtool_tune() call

* Test update WIP

* OpenTSDB now includes tags

* fix style
2020-03-16 09:17:58 -05:00
SourceDoctor 4e349efd11 Rewrite Poller Management to Blade/Eloquent (#11277)
* Rewrite Poller Management to Blade/Eloquent

* remove further no more needed file

* Code Climate

* Code Climate

* hardcode tabs

* change URL style

* change prefix from poller-groups to poller

* .

* parameter fix

* Refactor to use more direct routing.
remove switch statement.

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-03-13 20:58:37 +01:00
crcro 2ee2862357 app: mailcow-dockerized postfix stats (#11058)
* app-mailcow-dockerized-postfix

* fix docs

* updated niceCase

* test-data

* snmprec upload

* new test data

* new test data
2020-03-13 10:16:03 +01:00