mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2025-02-25 18:55:32 -06:00
# 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.
71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
# LibreQoS systemd services
|
|
|
|
## What each service does
|
|
### lqosd
|
|
|
|
- Manages actual XDP code.
|
|
- Coded in Rust.
|
|
- Runs the GUI available at http://a.b.c.d:9123
|
|
|
|
### 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
|
|
|
|
```shell
|
|
sudo systemctl stop lqos_scheduler
|
|
```
|
|
|
|
For one-time runs of LibreQoS.py, use
|
|
|
|
```shell
|
|
sudo ./LibreQoS.py
|
|
```
|
|
|
|
- To use the debug mode with more verbose output, use:
|
|
|
|
```shell
|
|
sudo ./LibreQoS.py --debug
|
|
```
|
|
|
|
To confirm that lqos_scheduler (scheduler.py) is able to work correctly, run:
|
|
|
|
```shell
|
|
sudo python3 scheduler.py
|
|
```
|
|
|
|
Once you have any errors eliminated, restart lqos_scheduler with
|
|
|
|
```shell
|
|
sudo systemctl start lqos_scheduler
|
|
```
|