785 Commits

Author SHA1 Message Date
Tony Murray 0ac05fda69 Bump version to 1.69 2020-11-01 21:25:18 -06:00
Tony Murray 399858e5b5 fix permissions issue (#12274)
fixes #12272
2020-10-29 07:54:09 -05:00
Tony Murray 4746c3f9d0 Fix permissions bug in IRC (#12266)
* Fix permissions bug in IRC
Rename Permissions class to remove confusion with the Facade

* Fix style
2020-10-28 16:07:03 -05:00
Tony Murray 0fbd60416f snmpwalk_cache_oid() handle multiline strings (#12254)
* snmpwalk_cache_oid handle multiline strings

* remove useless function

* some output has no space after equals

* airos-af-ltu use hr processors

* don't try to append with empty strings

* fix changed test data due to fix

* revert smartax

* better regex
additional check
2020-10-24 22:56:01 -05:00
Tony Murray d314f6429a Attempt to fix dispatcher crash on restart (#12257) 2020-10-24 21:13:59 -05:00
Jellyfrog 780e74b0e1 Remove legacy password algoritms and move to Laravel standard. (#12252) 2020-10-23 09:56:17 -05:00
Hayden 397a10e73f new sensors for siteboss OS + new sensor type: percentage (%) (#11958)
* split siteboss 530 and 550 into multiple OS

* add more sensors to siteboss550 and new Percent sensor

* fix contact closure event state values

* split os polling for siteboss to siteboss530 and siteboss550

* add test unit for siteboss550, rename test unit for siteboss to siteboss530

* refactor siteboss os polling to \Librenms\OS

* implement OSPolling to Sitebos550

* force save in pollOS() to keep custom sysName during polling

* updated unit test

* update device graphs

* remove pollOS and extra save()

* siteboss550 no longer extends OSPolling

* update siteboss550 test data

* update discoverOS() to match recent os discovery changes

* styleCI changes

* fix siteboss hardware discovery; add check to OS polling if os_group .inc file exists

* collapse siteboss to single OS, implement siteboss sensors in advanced discovery

* add siteboss unit tests

* removed unneeded OS disco defs

* styleCI changes

* more styleCI changes

* split siteboss os to siteboss530 and siteboss550

* split siteboss os to siteboss530 and siteboss550

* move php polling back into yaml

* keep original siteboss OS name

* resave snmp data for siteboss OS

* resave snmp data for siteboss550 OS
2020-10-20 19:11:12 -05:00
Jellyfrog 6416de5bd3 Add space between manufacturer and hardware (#12233)
`SupermicroX9SRL-F` => `Supermicro X9SRL-F`
2020-10-20 13:27:48 +02:00
Tony Murray a0f91de9b2 Capture OSPF test data (#12215) 2020-10-19 09:35:41 -05:00
Yuwei Ba fd2c1361ef Update Telegram.php (#12228)
Return Telegram response body when failed so users will know where went wrong, bad template etc.
2020-10-19 09:27:01 -05:00
PipoCanaja 7033724207 Check group os file exists before inclusion (#12227) 2020-10-19 12:23:44 +02:00
Tony Murray 6cd42b3ee0 Fix Oki LAN OS info (#12213)
* Fix Oki LAN os info
fixes #12207

* Add test data and some bonus info
2020-10-16 15:07:29 +02:00
Tony Murray 292d6a0fdb permissions query fixes (#12220) 2020-10-15 20:38:26 -05: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
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 <murraytony@gmail.com>
2020-10-06 01:16:29 -05:00
RobJE c2db8f3c58 add a bunch more Brocade Ironware devices (#12191) 2020-10-06 01:01:14 +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
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
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
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
Tony Murray 90d0d46dfb Bump version to 1.68 2020-09-29 22:16:05 -05: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
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 <Jellyfrog@users.noreply.github.com>
2020-09-23 20:54:00 -05:00
Heath Barnhart 8a921567ba New OS: Ekinops (#12088)
* Initial push

* renamed mib files

* adding eki mgmt event trap handler

* Adding handler to config/snmptraps.php

* added slot state monitoring

* Ekinops port discovery script

* cleanup

* moved ifDescr change from discovery to poller

* simplified port poller script

* fixed poller array

* add Mgnt2TrapNMSEvent handler

* Adding nms alarm handler

* adding handler to snmptrap.php

* Updated handler names, exapanded event traphandler

* beginning tests and cleanup

* adding snmpsim data

* making tests

* finished trap tests

* fixed ekinops.yaml

* style and lint pass

* new snmpsim data and fixes

* adding correct snmpsim

* fixed test data

* Update ekinops.svg

* Update ekinops.svg

* Update ekinops.yaml

* new os discovery method

* remove unneeded precache line

* removing unneccesary pre-cache script

* styleci fixes

* few more style fixes

* trim whitespace in discovery

* remove unused mibs

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-09-23 18:23:57 +02:00
PipoCanaja 0e0e80c827 More eventlogs for snmptraps (#12112)
* Allow detailed trap display and inform user about snmptrapd misconfiguration

* Documentation update

* Documentation update

* Documentation update

* CodeClimate

* CodeClimate

* ChangeRequest PR

* Fix tests

* config_definitions

translation

doc

* styleci

* lnms translation generate after npm-install
2020-09-23 17:00:02 +02:00
Olen aada69cd64 IRC Add more logging and debug info (#12140)
* Add more logging and debug info

* Code cleanup

* Code cleanup take two
2020-09-23 13:38:42 +02:00
Olen 0f272e342e IRC: Don't set nick on each tick (#12139)
* Trying harder to regain nick

* Code cleanup

* remove extra nickchange
2020-09-22 19:29:54 +02:00
Jellyfrog 41729d72eb Apply fixes from StyleCI (#12142) 2020-09-22 14:48:51 +02:00
Jellyfrog 1d23421ba1 Set PHP 7.3 as minimum supported version (#12118)
Needed by Laravel 8
2020-09-22 07:41:26 -05:00
Olen 944d7c9ef9 List external commands in help. Allow reload of external commands (#12137) 2020-09-22 14:34:01 +02:00
Olen 4023baf899 Increase the read-buffer as 64 bytes can be a little small (#12136) 2020-09-22 14:32:08 +02:00
Olen 9abec91cfd Remove unused "irc_chan". Renamed to "irc_alert_chan" (#12135) 2020-09-22 14:31:39 +02:00
Olen 19aaf43605 Add some variables to the init of the class (#12134) 2020-09-22 14:30:54 +02:00
Jellyfrog 29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
Jellyfrog 0d56bbd946 Apply fixes from StyleCI (#12123) 2020-09-21 15:51:53 +02:00
Jellyfrog 82f43cb98d Apply fixes from StyleCI (#12120) 2020-09-21 15:40:17 +02:00
Jellyfrog 77c531527c Apply fixes from StyleCI (#12117)
* Apply fixes from StyleCI

* Disable style check
2020-09-21 14:54:51 +02:00
Tony Murray 941037e44e Convert OS discovery to new style (#12099)
* terra

* airos

* port cisco os polling
old wwan polling was broken and deprecated anyway

* enterasys

* Brother, a few changes

* AW Plus

* Fabos

* set expected test data

* 3com

* Adva FSP150

* advantech

* airos-af

* aix

* akcp

* allied

* allworx and missed mibs

* anyos

* fixup some zyxel shared stuffs
zywall graph polling

* aos

* apc

* apex

* apsoluteos

* fix copyrights

* arris

* arris

* aruba-instant

* ArubaOS

* Ascom

* asuswrt-merlin, ats

* audiocodes

* avocent

* avtech

* barracuda

* binox

* boss

* canonprinter

* cdata

* ceraos

* ciena-waveserver

* fix 3com

* fix airos

* fix brother yaml?

* fix aos more

* fix and improve apc

* fix arista test data

* yaml discovery (basic)

* cimc

* mib not used

* remove old discovery file

* ciscosat

* ciscosb fixes + improvements

* comware

* ctm

* cumulus

* cxr-ts

* cyberoam-utm

* cyberpower

* dahua-nvr

* dasan-nos

* datadomain

* dcn-software and fallback oids

* dd-wrt

* dell-laser

* d*

* e* and location

* forti, post processing, oid coalescing

* Freebsd array of sysDescr regex

* finish f*

* g*

* h*

* i* WIP

* i*

* Junos

* j*

* k*

* unix refactor previous to yaml more
inject $device

* fixes

* fixes

* l*

* m*

* n* ability to set other fields in regex
tnmsne polling to eloquent

* o*

* p*

* q* + bonus calix

* r*

* s* WIP

* s*

* t*

* u*

* v*
rework vrp to yaml (hybrid)

* w*

* x*

* z*

* a* easy no-data

* fixes

* style fixes

* missed ApexPlus

* fix signature

* Add missing location data

* rename getDevice functions

* add new cisco ftd data

* update docs

* revert sill snmp format

* fix snmp options

* update for new smartax test data

* rebase dsm

* fix voss
2020-09-18 15:12:07 +02:00
TheGreatDoc 935f9b924d Synology DSM: Moved to yaml discovery (#11962)
* Synology DSM: Moved to yaml discovery

* Fix styleci issues + sensors indexes to match php ones

* Fixed test

* Tests on DS214se

Tests on DS214se

* remove ds214

* Update dsm_ds916.json

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-09-18 00:51:02 -05:00
Damon Reed e0a076455e Fix CiHelper function checkPythonExec to use 'pip3 install --user' and improve error message (#12097)
* Fix pip3 install function to use --user

* Update error message to reflect somethign closer to reality.
2020-09-16 00:30:50 +02:00
crcro 9026cf54c0 osnexus quantastor initial support (#12045)
* initial release

* fixes

* cleaner snmprec

* updates

* remove legacy files

* updates

* fixes

* cleanup

* test data ... again

* yaml fix and test data

* tests update

* polling temps

* remove unused line

* - hdd temp fix

- tests without ignores
2020-09-13 23:45:11 +02:00
craig-nokia dda6377424 Add basic support for Emerson Netsure Controllers (#12091) 2020-09-13 23:03:35 +02:00
Tony Murray fde6ef5f3f fix skip_value_lt plurality confusion (#12056)
* fix skip_value_lt plurality confusion

* Update atenpdu.yaml
2020-09-12 23:26:20 +02:00
craig-nokia b91080df0b Add basic support for GE Galaxy Pulsar Plus Controllers (#12087)
* Add basic support for GE Galaxy Pulsar Plus Controllers

* Add basic support for GE Galaxy Pulsar Plus Controllers

* Add basic support for GE Galaxy Pulsar Plus Controllers

* Modified Gepulsar.php
2020-09-12 01:34:32 +02:00
MARMONIER Cédric 7cd68f7ec6 Ifotec product integration (#12038)
* IFOTEC new product integration

* change source code indentation

* change source code for code climate checking

* change source code for code climate checking

* deletion of an unnecessary line

* add ifotec.php and test units

* forgetting about the previous commit

* modifications of test units

* add a test units

* optimization and add test units

* change SMNP mode request

* source code cleanup and and file for test units

* update .snmprec file

* update json test file

* update json test file

* IFOTEC mib integration

* add IFOTEC mib files

* IFOTEC mib integration for sensors

* cancel $oid2 unset

* delete useless line
2020-09-10 10:38:36 +02:00
Russell Morris 891a42e1c6 OS: Add support for Beagleboard (#12060)
Includes Beagleboard and Beaglebone boards. Also includes temperature
sensor support (also in test data)
2020-09-10 00:06:11 +02:00
Jason Cheng 661a518dea Add attach sysName to Prometheus. (#12061)
* Add attach sysName to Prometheus option.

The value of put to prometheus can be added to sysName by setting the relevant parameter.

* Add attach sysName to Prometheus.

* Add attach sysName to Prometheus.

* Update resources/lang/en/settings.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php

* Update zh-TW.json

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2020-09-07 21:38:13 +02:00