Commit Graph
17948 Commits
Author SHA1 Message Date
Jellyfrog 782db09bd4 Add docs for Supermicro Superdoctor (#12200) 2020-10-08 12:55:06 +02:00
Tony Murray 1e4702fa4f Support multiple daily process locking backends with distributed polling (#11896)
* Implement locks in the file cache

* Replace custom locks

* implement restore lock
Used when re-hydrating

* remove legacy use statements

* Add class descriptions

* Fix style

* Default to database cache driver

* missed cache_locks table
prevent chicken-egg issue

* style fixes

* Remove custom file lock implementation

* missed items from file cache

* Update schema definition
hmm, other schema noise must be from manual modification as this is generated from a freshly migrated db.

* require predis, it is pure python, so no harm in adding

* and set predis as the default client
2020-10-07 07:36:35 -05:00
RobJE e52531fba4 Ircbot fix (#12192)
* send alert to channel, do not send channel key

* correct indentation, use spaces not tab
2020-10-06 21:07:49 +02:00
Dag Bakke f9d1719296 make Eaton Gigabit Network Card (AKA M2) a separate OS (#12156)
* - make Eaton Gigabit Network Card (AKA M2) a separate OS
  (this hardware shares the sysOID with an older product, but not much more than that.)
- add relevant and updated mib-files. This creates duplicates of the same mibfile in mibs/.
  unsure if this can be avoided

* axed some old mibs again
2020-10-06 16:57:45 +02:00
Tony Murray d66751c192 Revert "Ignore changelog in docs search (#12194)" (#12199)
This reverts commit 2832230c1c.
2020-10-06 07:40:35 -05:00
Tony Murray 0d47a74cd2 Updated linux snmpd.conf example (#12195)
remove hard-coded oids an use the defaults
The Unix.php code detects both
2020-10-06 07:37:46 -05:00
Dag Bakke 45788130a0 Put all Eaton mibs in the same subdir, update mibs, update YAML-files (#12197)
* put all Eaton mibs in the same subdir (common dependencies on EATON-OIDS, avoid file duplicates)
* update all mibs (for which a more recent version was found)
* update relevant YAML-files, so mib_dir points at eaton/.
2020-10-06 07:35:12 -05:00
Jellyfrog b5d94c38a6 Add support for Supermicro hardware/serial discovery (#12176)
* Add support for Supermicro hardware/serial discovery

* add tests

* prefix with supermicro

* Update ServerHardware.php

* Update linux_supermicro.json

Co-authored-by: Tony Murray <[email protected]>
2020-10-06 01:16:29 -05:00
Jellyfrog 3fdbd5c720 Fix Linux OS mib_dir usage (#12190)
* remove invalid mib_dir

* set mibdir for supermicro

* set mibdir for dell

* set mibdir for hp

* styleci
2020-10-06 00:20:27 -05:00
Jellyfrog 2832230c1c Ignore changelog in docs search (#12194) 2020-10-06 02:20:51 +02:00
Jellyfrog 4068b04cc9 Add missing mkdocs extension (#12193)
Regression from 551e95a2e0
2020-10-06 01:52:16 +02:00
RobJE c2db8f3c58 add a bunch more Brocade Ironware devices (#12191) 2020-10-06 01:01:14 +02:00
Tony Murray 1b0210e16b Add opengear hardware discovery (#12189)
Thanks @sjtarik
2020-10-05 18:10:11 +02:00
Tony Murray 88b40c3d6c All os detection now uses Yaml (#12186)
* All os detection now uses Yaml
Move OS detection code into the Core module.
Defer all OS with snmp queries.
Add snmpwalk option.
Port ubnt and mobileiron to yaml.

* Silly ide refactor
2020-10-05 14:26:37 +02:00
Tony Murray 210be6266e Yaml support to translate sysObjectID to get hardware (#12187)
* Yaml support to translate sysObjectID to get hardware

* restore ironware behavior

* ...
2020-10-05 13:50:28 +02:00
SourceDoctor f6e3397a80 Cleanup generate_sensor_link (#12154)
* Cleanup generate_sensor_link

* Cleanup generate_sensor_link

* remove fixifname on sensor function

* Update functions.inc.php

Co-authored-by: Tony Murray <[email protected]>
2020-10-04 20:45:41 -05:00
Dan Baker a818b26b58 Ciena SAOS 8 device improvements (#12172)
* Ciena SAOS 8 device improvements
- improved interface polling for certain devices with broken ifXEntry and long ifEntry value caching
- added G.8032 virtual ring status sensors
- adjusted default alert threshold for a sensor because some devices provide a nonsensical value (more work to be done here)

* Style fixes

* missed whitespace

Co-authored-by: Tony Murray <[email protected]>
2020-10-04 20:43:54 -05:00
Anders Lowinger 56852380cc Additional fix for Cisco Crossbar overview missing (#12185)
* Additional fix for Cisco Crossbar overview missing

* Fix code style
2020-10-04 19:51:21 -05:00
Hans Erasmus 2bd4f146b5 Accommodate upcoming php 7.3 change (#12180)
* Accommodate upcoming php 7.3 change

An announcement on Twitter as well as [this](https://github.com/librenms/librenms/pull/12118) says future release will depend on PHP7.3 minimum. CentOS 8 ships with 7.2 by default. Also, the composer package's availability via `dnf` was dropped somewhere by CentOS project, so one needs to install it "manually" nowadays. I have yet to find a different solution than the one showed here. Any inputs welcome.

* Removed the dnf list command

* Made manual composer install the fallback method

* Fixed minimum PHP version.
2020-10-04 23:46:29 +02:00
Tony Murray 4f4ebacef9 Suggest Fast Ping before 1 Minute Polling (#12179)
* Update 1-Minute-Polling.md

* Update 1-Minute-Polling.md
2020-10-03 18:33:59 +02:00
TheGreatDoc 6357db57f7 New device: Rohde & Schwarz Sx800 (#12181)
* New device R&S

* Fix SVGs

* Fix SVG (v2)

* Fix definition
2020-10-03 18:31:44 +02:00
Tony Murray 6d2a8867dc Fix lnms update command (#12182)
hmm, other schema noise must be from manual modification as this is generated from a freshly migrated db.
2020-10-03 18:27:59 +02:00
Avinash Kumar ff4dcd5678 icecast doc correction (#12183) 2020-10-03 18:26:41 +02:00
Negatifff 173ca83018 Refresh in widget settings (#12127)
* add timeout for widget in widget settings

* forgot get saved timeout and added default value for all widgets

* code correction

* move refresh to json

* forgot remove old code

* added refresh validate rule

* fix empty refresh for exist widgets

* fix empty settings for new widgets

* Set refresh in base
Update refresh at runtime (doesn't interrupt previous timeout)

* Update WidgetSettingsController.php

Co-authored-by: Tony Murray <[email protected]>
2020-10-02 08:52:04 -05:00
FingerlessGloves 039ce4cb55 Add FreshTomato OS definition which is fork of tomato (#12173)
* add freshtomato snmprec file

add freshtomato snmprec , generated from latest freshtomato release

* add freshtomato test data

add freshtomato test data, generated from latest freshtomato release

* add freshtomato os definition

add freshtomato os definition

* freshtomato discovery for version, hardware model 

freshtomato discovery for version, hardware model

* update freshtomato.snmprec, extra oid

update freshtomato.snmprec, extra oid now showing since going to 1.68, from over night update.
LibreNMS can now show version and hardware (router model) correctly.

* update freshtomato.json, hardware is now populated

update freshtomato.json, hardware is now populated, since going to 1.68, definition discovery is working correctly it seems.

* Regenerate without lo ignored.

Co-authored-by: Tony Murray <[email protected]>
2020-10-02 08:50:49 -05:00
Olen ba636e9617 IRC Add simple tag-parsing of colors and highlights in alerts (#12138)
* Add simple tag-parsing of colors and highlights in alerts

* Fixing a few CodeClimate-issues

* Fixing a missing ;

* Fixing some more typography

* Whitespace...

* Deduplicate code

* Missing ; - too much python lately...

* Fix end of function name

* Simplifying sendAlert a bit

* Keeping up with PR#12141

* ; again...

* this->sendAlert...
2020-10-02 07:54:12 -05:00
Diego Canton de Brito 5b892dc4f8 Force lower case (#12178)
We force the strings returned from the "unbound-control stats" command to "lower case", avoiding problems with future changes to the unbound output in other variables.

All code must contain lower case letters in the $ unbound [] variable
2020-10-01 19:59:24 -05:00
Tony Murray 863fb96205 Scheduled maintenance test (#12171)
* alert schedule test

* Fix style

* Skip broken tests for now
2020-10-01 03:00:42 -05:00
gerhardqux 09ae9e49bd Do not remove users with API tokens (#12162)
* Do not remove users with API tokens

* Use eloquent

* Fix missing namespace and convert fully to Eloquent

* fix bug in purge

Co-authored-by: Tony Murray <[email protected]>
2020-10-01 01:16:28 +02:00
Tony Murray a08b092e4b Update PHP dependencies (#12169) 2020-10-01 00:40:13 +02:00
Dan Baker f2746f526c Corrected information about mib_dir (#12174)
Corrected information about mib_dir. An array is not handled by discovery.php -- only one directory may be specified.
2020-10-01 00:30:44 +02:00
Dag Bakke 7bd0ee4260 Update Example-Hardware-Setup.md (#12170)
Additional example hw.
2020-09-30 10:12:41 +02:00
Tony Murray 551e95a2e0 Docs: don't index changelogs (#12166)
* Docs: don't index changelogs

* Exclude 2019 changelog
2020-09-30 10:11:32 +02:00
Adam Bishop 41ed0537b4 Fix midnight poller data loss (#11582)
* Handle more signals

* Flush buffers before exiting process
This ensures log messages aren't lost

* Restart process before jobs have finished
If there is a very log running job it can cause service restart to
take over 5 minutes.

We tweak the order of things to make sure that running processes
continue, but nothing more is scheduled.

The worst case impact is that a pollling/discovery job gets
scheduled twice, but this should not be a big issue - this should
only occur at most once per day.

* Remove python 3.8 feature

* Ensure that processes from the previous invocation are reaped

* Correct typo's

* Attach subprocess descriptors to /dev/null

Occasionally, PHP would throw a fit and crash when its stdout went
away. To avoid this, we attach stdout to devnull.

This means we lost output of daily.sh - but this is already recorded
in $LOGDIR/daily.log

* Don't immediately schedule long running jobs

To avoid the situation where the maintenance reload happens or a sighup,
then a second long running job is immediately started, we wait
(`last_[poll/discovery]_timetaken` * 1.25) seconds before scheduling
any jobs.

* Add `psutil` to requirements

* Add support for "systemctl reload" to the unit files

* Add a fallback for systems that don't have psutil

* Reduce CPU load when psutil is not installed

* Don't avoid double polling by extending the timeout

This shouldn't happen due to locks

* Remove fallback option

* Remove extra variable

* Fix issue introduced during rebase

* Fix issue introduced when fixing issue introduced during rebase

* Make psutil optional
2020-09-29 23:50:40 -05:00
Olen a8ca361acd Add missing setting of channels to join (#12160) 2020-09-29 23:12:09 -05:00
Jellyfrog 0e99b472c2 Add Blade Submenu component (#12159) 2020-09-29 23:11:05 -05:00
Tony Murray 90d0d46dfb Bump version to 1.68 1.68 2020-09-29 22:16:05 -05:00
Tony Murray a3c7426a32 Changelog for 1.68 2020-09-29 22:16:04 -05:00
Jellyfrog 04ab47707a Fix edgeswitch regex (#12168) 2020-09-30 01:04:56 +02:00
Tony Murray 9b4f8931a3 Windows detect newer versions (#12164)
* Fix Window hardware info flapping

* add description

* Missing features field

* Rename hardware method

* Updated test data
2020-09-30 01:01:43 +02:00
Kanok Chantrasmi 2f0c3f6772 Ubiquiti: detect US- switches (#12167)
To be able to detect Ubiquiti swtich that report model name starting with US  eg. US-16-150W
2020-09-30 00:55:42 +02:00
Tony Murray 536bb8ac34 Improve DNOS fallback os info (#12165)
Some net-snmp version return on one line, others on multiple.  Multiple regex works around this issue.
2020-09-28 12:51:47 -05:00
Birkir Freyr cb7e191f31 Add panos (paloalto) to rancid_map (#12161)
Add panos (paloalto) to rancid_map
2020-09-28 17:57:54 +02:00
Tony Murray 2a515d308a Fix older ProCurve hardware/version (#12155) 2020-09-24 12:51:41 -05:00
craig-nokia 8381aa5b89 Adding basic support for Symertricom-Microsemi SSU2000 (#12145) 2020-09-24 17:06:01 +02:00
Negatifff 444b9544a0 new index in alert_log table (#12143)
* new index in alert_log table

* codefix1

* codefix2

* added second index

* codefix

* Apply suggestions from code review

Co-authored-by: Jellyfrog <[email protected]>
2020-09-24 17:05:21 +02:00
hugalafutro 87538c4c4a Update unbound.inc.php (#12152) 2020-09-24 14:44:34 +02:00
Tony Murray caf1979529 fix gen_rancid.php permissions (#12153)
broken by #12144
2020-09-24 06:48:14 -05:00
Tony Murray e944456943 Use lnms dev:check instead of pre-commit.php (#12149)
* Remove pre-commit.php references WIP

* remove pre-commit.php references
2020-09-24 12:32:03 +02:00
Tony Murray 93e43d09bc Update dev:check style to use php-cs-fixer (#12132)
* Update dev:check style to use php-cs-fixer

* dont override default paths

* Update .php_cs

Co-authored-by: Jellyfrog <[email protected]>
2020-09-23 20:54:00 -05:00