Zabbix 7.0 a navýšení systémových limitů
Co znamená hlášení „…the user limit of 1024 file descriptors is insufficient. The maximum number of concurrent checks per worker has been reduced…“?
![](https://www.initmax.cz/wp-content/uploads/2024/06/ulimit_zabbix.png)
Toto hlášení indikuje, že aktuální limit souborových deskriptorů pro uživatele (v tomto případě uživatele, pod kterým běží Zabbix server nebo proxy) je nastaven na 1024. Tento limit je nedostatečný pro množství operací, které Zabbix provádí, což vede k automatickému snížení maximálního počtu současně probíhajících kontrol na worker. V praxi to znamená, že systém nemůže otevřít dostatek souborů nebo síťových připojení současně, což omezuje efektivitu a výkon Zabbixu při zpracování dat.
Co jsou souborové deskriptory?
Souborové deskriptory jsou identifikátory používané operačním systémem k přístupu k souborům a síťovým zdrojům. Každý proces v systému má svůj limit souborových deskriptorů, což omezuje počet současně otevřených souborů nebo socketů.
Proč zvyšovat limit souborových deskriptorů?
S rostoucím počtem zařízení a dat, které Zabbix monitoruje, může být zapotřebí více souborových deskriptorů. Pokud Zabbix instance potřebuje více deskriptorů, než je aktuální limit, může dojít k chybám nebo omezení výkonu, což může vést ke snížení počtu současných kontrol na worker a zpomalit zpracování dat.
Postup navýšení limitu souborových deskriptorů
Zjištění aktuálního limitu
Nejprve zjistěte aktuální limit souborových deskriptorů pro běžící proces zabbix_server
jedním příkazem:
cat /proc/$(pgrep -o zabbix_server)/limits | grep "Max open files"
Tento příkaz vrátí aktuální měkký a tvrdý limit souborových deskriptorů pro proces zabbix_server
. Například:
Max open files 1024 524288 files
- První hodnota je měkký limit (soft limit).
- Druhá hodnota je tvrdý limit (hard limit).
Právě soft limit potřebujeme navýšit z 1024 na 10000. Hodnota se musí nastavit podle vašich konkrétních potřeb a může být i vyšší než tento příklad. Zabbix vás případně upozorní v logu, pokud nastavení není dostatečné.
Vytvoření adresáře pro override konfiguraci
Vytvořte adresář pro uložení nové konfigurace systému:
mkdir /etc/systemd/system/zabbix-server.service.d
Nastavení oprávnění
Nastavte správná oprávnění pro tento adresář:
chmod 755 /etc/systemd/system/zabbix-server.service.d
Vytvoření override konfigurace
Vytvořte soubor s override konfigurací pro zvýšení limitu souborových deskriptorů. V tomto příkladu nastavujeme limit na 10000:
echo -e "[Service]\nLimitAS=infinity\nLimitRSS=infinity\nLimitNOFILE=10000\nLimitNPROC=1024" \
| sudo tee /etc/systemd/system/zabbix-server.service.d/override.conf
Nastavení oprávnění pro override konfiguraci
Nastavte správná oprávnění pro tento soubor:
chmod 644 /etc/systemd/system/zabbix-server.service.d/override.conf
Ověření obsahu override konfigurace
Ověřte, že obsah souboru byl správně uložen:
cat /etc/systemd/system/zabbix-server.service.d/override.conf
![](https://www.initmax.cz/wp-content/uploads/2024/06/nofile_nproc.png)
Aktivace změn
Načtěte nové nastavení systemd:
systemctl daemon-reload
Ověření stavu služby
Zkontrolujte stav služby Zabbix serveru:
systemctl status zabbix-server.service
Na obrázku je vidět, že Zabbix server služba využívá dodatečnou konfiguraci, která je uložena v adresáři /etc/systemd/system/zabbix-server.service.d/
jako soubor override.conf
. Tato dodatečná konfigurace obsahuje změny potřebné pro zvýšení limitu souborových deskriptorů.
![](https://www.initmax.cz/wp-content/uploads/2024/06/ulimit_zabbix_service.png)
Restart aplikace
Pro aplikaci nových limitů restartujte službu Zabbix serveru:
systemctl restart zabbix-server.service
Ověření konfigurace po restartu Zabbix serveru
Znovu zkontrolujte aktuální limit souborových deskriptorů pro běžící proces zabbix_server
:
cat /proc/$(pgrep -o zabbix_server)/limits | grep "Max open files"
Měli byste vidět, že proces aktuálně běží s novým limitem:
Max open files 10000 10000 files
Závěr
Zvýšení limitu souborových deskriptorů pro konkrétního uživatele může pomoci zabránit problémům spojeným s výkonem a stabilitou Zabbix serveru nebo proxy od verze 7.0. Dodržováním výše uvedených kroků můžete zvýšit limity souborových deskriptorů pro specifického uživatele a zajistit, že vaše Zabbix instance bude moci efektivně zpracovávat více současných požadavků.