* Implement ACL support for redis (and sentinel)
Currently, sentinel only works with anonymous connections.
Some parameters are passed when using sentinel, however these are
dropped on the floor.
This encapsulates them as py-redis expects, and passes them correctly.
* Pass username
* Differentiate duplicate error messages
* Actually pass var
* Docs and requirement bump
* Lint
* Consistency
* More lint
* Lint harder
* Doc Updates
There are two systemd service files suggested for use, only one should be used. My changes clarify the usage and adjust the librenms-watchdog.service to install as librenms.service as that appears to be the intention from #12188
* Use GitLab instead of Gitlab
Only change text part, the Alert.Transport.Gitlab class left as is.
* Fix href in document
* Move section in document
The agent list in this document is sorted by alphabetical order,
"SDFS info" is the only exception.
* Remove trailing spaces in document
* Align code in document
* Fix Markdown in document
- Escape underline
- Add syntax highlight
- Add two space in the end of line to make it a newline
- Add newline before list or code section
* Update LibreNMS/Alert/Transport/Gitlab.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Update Documentation
Most work in Graylog and SNMP
Fixed many code tags, spelling and wording.
Added SNMP PowerShell example.
* Update SNMP-Configuration-Examples.md
Fix TOC brackets
* 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
* 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
* Add memcached to DS-docs
As per request from @murrant in Discord, here is a small update on the Dispatcher service still needing a central memcached
* Update Dispatcher-Service.md
* Update Dispatcher-Service.md
* fix a few bare URLs
* make mdl happy
* make Weathermap.md as mdl happy as possible
* make Varnish.md as mdl happy as possible
* make Two-Factor-Auth.md mdl happy
* touch one header for Syslog.md, but little can be done about the rest
* make Sub-Directory.md as mdl happy as possible
* make SNMP-Trap-Handler.md lint happy
* make SNMP-Proxy.md mdl happy
* make Smokeping.md as mdl happy as possible
* make Services.md mdl happy
* make RRDTune.md mdl happy
* cleanup RRDCached.md as much as possible
* make RRDCached-Security.md mdl happy
* make Rancid.md as mdl happy as possible
* make Proxmox.md mdl happy
* make Plugin-System.md as mdl happy as possible
* make PeeringDB.md mdl happy
* make Oxidized.md more lint happy
* make Network-Map.md mdl happy
* make MIB-based-polling.md as mdl happy as possible
* make Metric-Storage.md mdl happy
* make IRC-Bot.md as mdl happy as possible
* make IRC-Bot-Extensions.md as mdl happy as possible
* make
* make Graylog.md mdl happy
* make Gateone.md mdl happy
* make Fast-Ping-Check.md mdl happy
* make Distributed-Poller.md as mdl happy as possible
* make Dispatcher-Service.md as mdl happy as possible
* make Device-Groups.md mdl happy
* make Dell-OpenManage.md mdl happy
* make Dashboard.md mdl happy
* make Customizing-the-Web-UI.md as mdl happy as possible
* make Component.md mdl happy
* make Billing-Module.md mdl happy
* make Auto-Discovery.md mostly mdl happy
* make Authentication.md as mdl happy as possible
* tidy up a few lines in Applications.md
* make Agent-Setup.md as mdl happy as possible
* make metrics/OpenTSDB.md mdl happy
* spelling fix
* Refactor LibreNMS service
add ping
* services ported
remote legacy stats collection
* alerting
* implement unique queues
* update discovery queue manager
* remove message
* more cleanup
* Don't shuffle queue
* clean up imports
* don't try to discover ping only devices
* Fix for discovery not running timer
* Update docs a bit and and add some additional config options.
Intentionally undocumented.
* Wait until the device is marked up by the poller before discovering
* Handle loosing connection to db gracefully
* Attempt to release master after 5 db failures
* Sleep to give other nodes a chance to acquire
* Update docs and rename the doc to Dispatcher Service to more accurately reflect its function.
* add local notification