<!DOCTYPE html> <html class="writer-html5" lang="en" > <head> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>LibreQoS daemons — LibreQoE documentation</title> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="../../_static/js/html5shiv.min.js"></script> <![endif]--> <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script> <script src="../../_static/doctools.js"></script> <script src="../../_static/sphinx_highlight.js"></script> <script src="../../_static/js/theme.js"></script> <link rel="index" title="Index" href="../../genindex.html" /> <link rel="search" title="Search" href="../../search.html" /> <link rel="next" title="Share your before and after" href="share.html" /> <link rel="prev" title="Configure LibreQoS" href="configuration.html" /> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="../../index.html" class="icon icon-home"> LibreQoE </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <p class="caption" role="heading"><span class="caption-text">Readme:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../../README.html">Sponsors</a></li> <li class="toctree-l1"><a class="reference internal" href="../../README.html#support-libreqos">Support LibreQoS</a></li> <li class="toctree-l1"><a class="reference internal" href="../../README.html#documentation">Documentation</a></li> <li class="toctree-l1"><a class="reference internal" href="../../README.html#matrix-chat">Matrix Chat</a></li> <li class="toctree-l1"><a class="reference internal" href="../../README.html#features">Features</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Read me first!</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="networkdesignassumptions.html">Network Design Assumptions</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Change Notes:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../ChangeNotes/v1.4.html">LibreQoS v1.3.1 to v1.4 Change Summary</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Quickstart:</span></p> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../SystemRequirements/Compute.html">System Requirements</a></li> <li class="toctree-l1"><a class="reference internal" href="../SystemRequirements/Networking.html">Network Interface Requirements</a></li> <li class="toctree-l1"><a class="reference internal" href="quickstart-prereq.html">Server Setup - Pre-requisites</a></li> <li class="toctree-l1"><a class="reference internal" href="quickstart-libreqos-1.4.html">Install LibreQoS 1.4</a></li> <li class="toctree-l1"><a class="reference internal" href="configuration.html">Configure LibreQoS</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">LibreQoS daemons</a><ul> <li class="toctree-l2"><a class="reference internal" href="#run-daemons-with-systemd">Run daemons with systemd</a></li> <li class="toctree-l2"><a class="reference internal" href="#debugging-lqos-scheduler">Debugging lqos_scheduler</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="share.html">Share your before and after</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Updates:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../Updates/update.html">Updating 1.4 To Latest Version</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Technical Documentation:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../TechnicalDocs/complex-install.html">Complex install (Not Recommended)</a></li> <li class="toctree-l1"><a class="reference internal" href="../TechnicalDocs/troubleshooting.html">Troubleshooting</a></li> <li class="toctree-l1"><a class="reference internal" href="../TechnicalDocs/integrations.html">Integrations</a></li> <li class="toctree-l1"><a class="reference internal" href="../TechnicalDocs/extras.html">Extras</a></li> <li class="toctree-l1"><a class="reference internal" href="../TechnicalDocs/performance-tuning.html">Performance Tuning</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Legacy:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../Legacy/v1.3.1.html">LibreQoS v1.3.1</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="../../index.html">LibreQoE</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item active">LibreQoS daemons</li> <li class="wy-breadcrumbs-aside"> <a href="../../_sources/docs/Quickstart/services-and-run.md.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <section id="libreqos-daemons"> <h1>LibreQoS daemons<a class="headerlink" href="#libreqos-daemons" title="Permalink to this heading"></a></h1> <p>lqosd</p> <ul class="simple"> <li><p>Manages actual XDP code. Build with Rust.</p></li> </ul> <p>lqos_node_manager</p> <ul class="simple"> <li><p>Runs the GUI available at http://a.b.c.d:9123</p></li> </ul> <p>lqos_scheduler</p> <ul class="simple"> <li><p>lqos_scheduler handles statistics and performs continuous refreshes of LibreQoS’ shapers, including pulling from any enabled CRM Integrations (UISP, Splynx).</p></li> <li><p>On start: Run a full setup of queues</p></li> <li><p>Every 10 seconds: Graph bandwidth and latency stats</p></li> <li><p>Every 30 minutes: Update queues, pulling new configuration from CRM integration if enabled</p></li> </ul> <section id="run-daemons-with-systemd"> <h2>Run daemons with systemd<a class="headerlink" href="#run-daemons-with-systemd" title="Permalink to this heading"></a></h2> <p>You can setup <code class="docutils literal notranslate"><span class="pre">lqosd</span></code>, <code class="docutils literal notranslate"><span class="pre">lqos_node_manager</span></code>, and <code class="docutils literal notranslate"><span class="pre">lqos_scheduler</span></code> as systemd services.</p> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>cp<span class="w"> </span>/opt/libreqos/src/bin/lqos_node_manager.service.example<span class="w"> </span>/etc/systemd/system/lqos_node_manager.service sudo<span class="w"> </span>cp<span class="w"> </span>/opt/libreqos/src/bin/lqosd.service.example<span class="w"> </span>/etc/systemd/system/lqosd.service sudo<span class="w"> </span>cp<span class="w"> </span>/opt/libreqos/src/bin/lqos_scheduler.service.example<span class="w"> </span>/etc/systemd/system/lqos_scheduler.service </pre></div> </div> <p>Finally, run</p> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>systemctl<span class="w"> </span>daemon-reload sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>lqosd<span class="w"> </span>lqos_node_manager<span class="w"> </span>lqos_scheduler </pre></div> </div> <p>You can now point a web browser at <code class="docutils literal notranslate"><span class="pre">http://a.b.c.d:9123</span></code> (replace <code class="docutils literal notranslate"><span class="pre">a.b.c.d</span></code> with the management IP address of your shaping server) and enjoy a real-time view of your network.</p> </section> <section id="debugging-lqos-scheduler"> <h2>Debugging lqos_scheduler<a class="headerlink" href="#debugging-lqos-scheduler" title="Permalink to this heading"></a></h2> <p>In the background, lqos_scheduler runs scheduler.py, which in turn runs LibreQoS.py</p> <p>One-time runs of these individual components can be very helpful for debugging and to make sure everything is correctly configured.</p> <p>First, stop lqos_scheduler</p> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>systemctl<span class="w"> </span>stop<span class="w"> </span>lqos_scheduler </pre></div> </div> <p>For one-time runs of LibreQoS.py, use</p> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>./LibreQoS.py </pre></div> </div> <ul class="simple"> <li><p>To use the debug mode with more verbose output, use:</p></li> </ul> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>./LibreQoS.py<span class="w"> </span>--debug </pre></div> </div> <p>To confirm that lqos_scheduler (scheduler.py) is able to work correctly, run:</p> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>python3<span class="w"> </span>scheduler.py </pre></div> </div> <p>Once you have any errors eliminated, restart lqos_scheduler with</p> <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>systemctl<span class="w"> </span>start<span class="w"> </span>lqos_scheduler </pre></div> </div> </section> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="configuration.html" class="btn btn-neutral float-left" title="Configure LibreQoS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="share.html" class="btn btn-neutral float-right" title="Share your before and after" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>© Copyright 2023, LibreQoE.</p> </div> Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>