Files
LibreQoS/docs/v2.0/Quickstart/services-and-run.md
Herbert "TheBracket" Wolverson 0e0ee5daf7 Lts2 client (#594)
# 1.5 Beta 4 Changes

* MASSIVE reduction in memory usage, and no more explosive RAM growth over time.  
* Significant reduction in CPU usage for the UI and analysis threads.  
* Documentation improvements.  
* Netflow:  
  * Timestamps were invalid, causing UISP to reject the input.  
  * Move to a lock-free collection system, eliminating delays and lowering CPU usage.  
* Fixed automatic provisioning of Long-Term Stats subscribers.  
* User Interface:  
  * “Top X” tables in the UI are now buffered for smoother output.  
  * Improvements to graph consistency in UI.  
  * Network panel on customers now buffers and fades entries out, so it’s possible to read rather than continually jumping.  
  * TCP Retransmits are now displayed as a percentage of TCP packets, giving a much better *relative* scale of where issues are occurring.  
  * Up/Down is now labeled on packet counts.  
  * Improved output scaling on numbers trims “.0”  
  * IPv6 prefix detection is *much* better and won’t cause UI errors.  
  * Configuration editor now handles floats vs ints correctly.  
  * Fixed a login error if no authentication cookie is set.  
  * Improved Sankey redaction.  
  * Fixed an occasional error that would make the “sponsor us” toast appear incorrectly.  
  * Sankey coloration fixes.  
* Geo.bin file now won’t self-update very often (it tracks ASN data), and only if it has changed on the server-side.  
* LTS2: If you’re invited to help us test it, we’re starting early alpha testing. This version includes the client to make that possible. LTS1 will continue to function/gather data.
2024-12-10 12:45:00 -06:00

2.1 KiB

LibreQoS systemd services

What each service does

lqosd

lqos_scheduler

  • lqos_scheduler performs continuous refreshes of LibreQoS' shapers, including pulling from any enabled CRM Integrations (UISP, Splynx).
  • Actions:
    • On start: Run a full setup of queues
    • Every X minutes: Update queues, pulling new configuration from CRM integration, if enabled.
      • The default minute interval is 30, so the refresh occurs every 30 minutes by default.
      • The minute interval is adjustable with the setting queue_refresh_interval_mins in /etc/lqos.conf.

Checking service status

sudo systemctl status lqosd lqos_scheduler

If the status of one of the two services shows 'failed', examine why using journalctl, which shows the full status of the service. For example, if lqosd failed, you would run:

sudo journalctl -u lqosd -b

Press the End key on the keyboard to take you to the bottom of the log to see the latest updates to that log.

Lqosd will provide specific reasons it failed, such as an interface not being up, an interface lacking multi-queue, or other cocnerns.

Debugging lqos_scheduler

In the background, lqos_scheduler runs the Python script scheduler.py, which in turn runs the Python script LibreQoS.py

  • scheduler.py: performs continuous refreshes of LibreQoS' shapers, including pulling from any enabled CRM Integrations (UISP, Splynx).
  • LibreQoS.py: creates and updates queues / shaping of devices

One-time runs of these individual components can be very helpful for debugging and to make sure everything is correctly configured.

First, stop lqos_scheduler

sudo systemctl stop lqos_scheduler

For one-time runs of LibreQoS.py, use

sudo ./LibreQoS.py
  • To use the debug mode with more verbose output, use:
sudo ./LibreQoS.py --debug

To confirm that lqos_scheduler (scheduler.py) is able to work correctly, run:

sudo python3 scheduler.py

Once you have any errors eliminated, restart lqos_scheduler with

sudo systemctl start lqos_scheduler