Last Updated on 20/01/2023 by administrator
LibreNMS – Řešení problémů (LibreNMS TSHOOT)
LibreNMS – Řešení problémů
Motivace:
Článek popisuje řešené problémy, které vyvstaly po instalaci aplikace LibreNMS, jak na Ubuntu 22.04, tak na Ubuntu 20.04.
OS:
Řešení problémů probíhalo na 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:
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:
mysql -u librenms -p librenms
A stačí překopírovat příkazy níže:
mysql> SET TIME_ZONE='+00:00'; mysql> ALTER TABLE `notifications` CHANGE `datetime` `datetime` timestamp NOT NULL DEFAULT '1970-01-02 00:00:00' ; mysql> ALTER TABLE `users` CHANGE `created_at` `created_at` timestamp NOT NULL DEFAULT '1970-01-02 00:00:01' ;
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:
su - librenms
A spustit script daily.sh:
./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:
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
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:
sudo apt install python3-pipsudo pip3 install -r /opt/librenms/requirements.txt
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:
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
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:
df -h
Výpis příkazu df -h ukazuje, že zbývá pouze 1,6 GB na disku.
Filesystem Size Used Avail Use% Mounted on /dev/mapper/pve-vm--115--disk--0 5.9G 4.1G 1.6G 73% / none 492K 4.0K 488K 1% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 750M 112K 749M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 375M 0 375M 0% /run/user/0
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:
systemctl restart mariadb
Nutno podoktnout, že mi dočasně1. Ř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:
mysql
Vypsat aktuální počet maximálních konexí příkazem níže:
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%max_connections%';
Výpis příkazu SHOW GLOBAL VARIABLES LIKE ‚%max_connections%‘; ukazuje, že maximální počet konexí je 151.
+-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | extra_max_connections | 1 | | max_connections | 151 | +-----------------------+-------+ 2 rows in set (0.001 sec)
Osobně mi pomohlo nastavit maximální počet konexí na 512 [2]:
SET GLOBAL max_connections = 512;
Odhlásit se z databáze:
exit
Provést restart MariaDB:
service mariadb restart
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