* Fix multiple null-values on outages
Fixes a specific issue where multiple null-values on device_outages-table prevent updating the correct outage details
* Fix multiple null-values on outages
Fixes a specific issue where multiple null-values on device_outages-table prevent updating the correct outage details
Change the symbol for comments from # to ;
This threw an error for me while following the steps and had to google to fix the issue. Changing to ; might help people like me who are new to php. Not sure if it would affect any older versions.
* 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
* - 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
* 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/.
* 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
* 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 <murraytony@gmail.com>
* 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.
* 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 <murraytony@gmail.com>
* 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 <murraytony@gmail.com>
* 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...
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
* 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 <murraytony@gmail.com>
* 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