Last Updated on 24/03/2025 by administrator
LibreNMS – Řešení problémů (LibreNMS TSHOOT)
LibreNMS – Řešení problémů
Motivace:
Článek popisuje LibreNMS – Řešení problémů, které vyvstaly po instalaci aplikace LibreNMS, na Ubuntu 24.04 Ubuntu 22.04, tak na Ubuntu 20.04.
OS:
Řešení problémů probíhalo na Ubuntu 24.04 LTS, Ubuntu 22.04 LTS a Ubuntu 20.04 LTS.
Řešení problémů:
1) Chyba „Fail: Database: incorrect column“ [1]
Při přihlášení je možné, že se objeví chyba Fail: Database: incorrect column:
Řešení problému:
Varianta 1:
Tu mám odzkoušenou na Ubuntu 24 – Jednoduše stačí kliknout na Attempt to automatically fix:
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
Varianta 2:
Pokud se tlačítko Attempt to automatically fix nezobraží pak je nutné manuálního zásahu:
Přihlásit se do MariaDB přes uživatele librenms a pomocí definovaného hesla pro librenms, které bylo vytvořeno výše v článku:
A stačí překopírovat příkazy níže:
Následně stačí provést refresh webové stránky.
2) Chyba „Make sure your daily.sh cron is running and run ./daily.sh by hand to see if there are any errors.“
Při přihlášení je možné, že se objeví chyba Make sure your daily.sh cron is running and run ./daily.sh by hand to see if there are any errors.
Řešení problému:
Přihlásit se přes uživatele librenms:
A spustit script daily.sh:
3) Chyba – Po přidání síťového zařízení se nic neděje:
Po přidání síťových zařízení se nevykreslují grafy, chybí zobrazení detekce OS či platformy a ostatní informace:
Řešení problému:
Může být chybějící soubor pro Cron, což obsahuje příkaz pro automatizaci příkazu pro polling:
Soubor librenms má stejné práva jako ostatní soubory v /etc/cron.d/, což je v tomto případě root:root.
Fungující poller:
4) Chyba – Python3 module:
[FAIL] Python3 module issue found: ‚Required packages: [‚PyMySQL!=1.0.0‘, ‚python-dotenv‘, ‚redis>=3.0‘, ‚setuptools‘, ‚psutil>=5.6.0‘, ‚command_runner>=1.3.0‘] Package not found: The ‚command_runner>=1.3.0‘ distribution was not found and is required by the application.
Řešení problému:
Instalace python3-pip a použití příkazu pip3 install, což ukazuje Fix:
5) Varování – Log rotation not enabled:
Warning: Log rotation not enabled, could cause disk space issues
Řešení problému:
Pro lepší správu ukládaných logů lze využít rotování logů. Díky tomu lze logy rotovat, komprimovat, či mazat, pokud dojde k překročení určité velikostí souboru:
6) Chyba – SQLSTATE[HY000] [2002] Connection refused:
Error connecting to database
SQLSTATE[HY000] [2002] Connection refused.
Řešení problému:
1. Řešení – zvětšení disku:
V tomto případě pomohlo zvětšení diskového prostoru na Ubuntu. Ověření kapacity disku lze provést příkazem níže:
Výpis příkazu df -h ukazuje, že zbývá pouze 1,6 GB na disku.
Pokud používáte LXC kontejner na platformě Proxmox, článek níže popisuje, jak zvětšit disk:
Pak stačilo provést restart MariaDB:
Nutno podotknout, že mi dočasně řešení pomohlo, nicméně po pár týdnech se chyba znovu objevila. Objevil jsem 2. řešení níže:
2. Řešení – Úprava konexí v databázi:
Přihlásit se do MariaDB databáze:
Vypsat aktuální počet maximálních konexí příkazem níže:
Výpis příkazu SHOW GLOBAL VARIABLES LIKE ‚%max_connections%‘; ukazuje, že maximální počet konexí je 151.
Osobně mi pomohlo nastavit maximální počet konexí na 512 [2]:
Odhlásit se z databáze:
Provést restart MariaDB:
7) Chyba – You have a different system timezone (CET) than the php configured timezone (UTC):
Tato chyba vyvstala pouze na Ubuntu 24.04, na nižší verzi Ubuntu se mi v praxi neobjevila:
Tato chyba jede ruku v ruce s chybou níže:
Řešení problému:
Otevřít soubor php.ini ve složce/etc/php/8.3/fpm/:
A v rubrice Date zakomentovat date.timezone = Etc/UTC a přidat řádek date.timezone = „Europe/Prague“, tak jak je to ukázáno níže:
To stejné provést pro soubor php.ini ve složce /etc/php/8.3/cli/:
kde v rubrice Date zakomentovat date.timezone = Etc/UTC a přidat řádek date.timezone = „Europe/Prague“, tak jak je to ukázáno níže:
Provést restart PHP-FPM (FastCGI Process Manager):
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
7) Chyba – FAIL: No python wrapper pollers found
Tato chyba vyvstala pouze na Ubuntu 24.04, na nižší verzi Ubuntu se mi v praxi neobjevila.
Řešení problému:
Ubuntu 24.04 neměl nainstalovaný balíček cron:
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
8) We have found some files that are owned by a different user than ‚librenms‘, this will stop you updating automatically and / or rrd files being updated causing graphs to fail.
Řešení problému:
Pomohly výše uvedené příkazy, které LibrenNMS doporučuje pro opravení:
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
8) Your local git contains modified files, this could prevent automatic updates.
Řešení problému:
Je potřeba se přihlásit jako uživatel librenms:
Přejít do složky /opt/librenms/:
A odstranit místní změny:
Výstup příkazu /scripts/github-remove -d:
9) Your install is over 24 hours out of date, last update: Mon, 09 Dec 2024 21:31:16 +0000
Řešení problému:
Je potřeba se příhlásit jako uživatel librenms:
Přejít do složky /opt/librenms/:
A spustit script:
Výpis scriptu ./daily.sh:
10) Scheduler is not running
Řešení problému:
Jak je již zmíněno, problém vyřeší příkazy níže:
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
11) Some poller nodes have not checked in recently
Řešení problému:
Přihlásit se k novému serveru LibreNMS přes webové rozhraní a kliknout na ikonu ozubeného kola > Poller > Poller:
A odstranit staré pollery:
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
12) Chyba – QLSTATE[HY000] [1045] Access denied for user ‚librenms’@’localhost‘ (using password: YES):
FAIL: APP_URL is not set correctly. It should be set to http://librenms.lan
Řešení problému:
Přihlásit se přes uživatele librenms:
Přejít do souboru .env v /opt/librenms/ složce :
V tomto případě přidat řádek níže:
A kliknout znovu na ozubenné kolečko a na Validate Config pro novou kontrolu:
13) Chyba – FAIL: APP_URL is not set correctly. It should be set to http://librenms.lan:
Error connecting to database
SQLSTATE[HY000] [1045] Access denied for user ‚librenms’@’localhost‘ (using password: YES)
Řešení problému:
Jeden z možný problému je, že se hesla databáze neshodují např. při migraci na LibreNMS na nový server.
Zkontrolovat na novém serveru, zda je možné se přihlášit stejným heslem k databázi, jako je uvedeno v souboru /opt/librenms/.env (řádek z DB_PASSWORD):
Pokud se nelze přihlásit uvedeným heslem, které je obsaženo v souboru /opt/librenms/.env, je potřeba změnit heslo pro uživatele librenms:
Věřím, že tento článek LibreNMS – Řešení problémů pomohl.
Zdroj:
[1] https://www.incredigeek.com/home/librenms-error-running-validate-php-database-incorrect-column/
[2] https://stackoverflow.com/questions/24225164/sqlstatehy000-1040-too-many-connections