Inštalácia Zabbix 7.0

Zabbix je open source distribuované monitorovacie riešenie podnikovej triedy. Zabbix je vydaný pod licenciou GNU Affero General Public License verzie 3 (AGPLv3), takže je bezplatný na komerčné aj nekomerčné použitie. Poskytuje komplexné nástroje na sledovanie a správu rôznych aspektov IT infraštruktúry, čo zahŕňa:

  1. Monitorovanie výkonnosti: Zabbix umožňuje sledovať výkon serverov, aplikácií a sietí v reálnom čase. Meria rôzne metriky, ako sú využitie CPU, pamäte, sieťové prenosy a ďalšie.
  2. Upozornenia a notifikácie: Systém môže automaticky upozorniť administrátorov na akékoľvek problémy alebo anomálie. Upozornenia môžu byť zasielané prostredníctvom emailu, SMS, instant messagingu alebo inými spôsobmi.
  3. Vizualizácia dát: Zabbix poskytuje rôzne grafy, prehľady a dashboardy na vizualizáciu monitorovaných dát. To pomáha administrátorom ľahko analyzovať a interpretovať dáta.
  4. Správa konfigurácie: Umožňuje centralizovanú správu konfigurácií monitorovacích agentov a poskytuje možnosti na hromadnú konfiguráciu a nasadenie.
  5. Škálovateľnosť: Je navrhnutý tak, aby bol škálovateľný od malých prostredí s niekoľkými zariadeniami až po veľké podnikové siete s tisíckami zariadení.
  6. Podpora rôznych platforiem: Zabbix je kompatibilný s rôznymi operačnými systémami, vrátane Linuxu, Windows a UNIX systémov.
  7. Bezpečnosť: Zabbix má zabudované funkcie na zabezpečenie, ako je šifrovaná komunikácia medzi serverom a agentmi.

Predošlý text bol vygenerovaný AI ChatGPT

Ja som do nedávna používal Zabbix 6.0, ale 04.06.2024 bol vydaný Zabbix 7.0 a rozhodol som sa, že nepôjdem cestou upgrade, ale nainštalujem úplne novú ver. do nového kontajneru. Použil som LXC postavený na Debian 12 bookworm. Pre Zabbix 7.0 som vyčlenil 2 CPU jadra, 4GB RAM a 12GB diskového priestoru. Viac info ohľadom HW a SW požiadavkách. Tento článok predpokladá, že LXC je už nainštalovaný, aktualizovaný a beží. Pred inštaláciou Zabbix ešte doinštalujeme

  • Nginx/1.22.1
  • PHP FPM 8.3.8
  • Mariadb Ver 15.1

Nginx 1.22.1 a MariaDB 15.1 sú súčasťou repozitárov v Debian 12. Pre PHP 8.3.8 som musel pridať zdroje od Ondreja Sureho. Aj keď pokojne sme mohli inštalovať zo zdrojov Debian 12 (PHP 8.2.x), ale ja som sa rozhodol pre najnovší balík PHP 8.3.8

Inštalácia Nginx

sudo apt update
sudo apt install nginx
sudo nginx -v
sudo systemctl status nginx

Inštalácia PHP FPM 8.3.8

sudo apt update
sudo apt install -y apt-transport-https lsb-release ca-certificates wget 
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list 
sudo apt install php8.3-{common,mysql,xml,xmlrpc,curl,gd,imagick,cli,dev,imap,mbstring,opcache,soap,zip,intl,bcmath,ldap} -y
sudo apt install php8.3-fpm
sudo systemctl status php8.3-fpm
php -v

Môžeme upraviť

sudo nano /etc/php/8.3/fpm/php.ini
upload_max_filesize = 32M  #Default 2M
post_max_size = 48M        #Default 8M
memory_limit = 256M        #Default 128MB
max_execution_time = 600   #Default 30
max_input_vars = 3000      #Default 1000
max_input_time = 1000      #Default 60
sudo service php8.3-fpm restart
sudo service nginx restart

Inštalácia MariaDB ver. 15.1

sudo apt install mariadb-server -y
sudo mysql_secure_installation
Enter current password for root (enter for none): <ENTER>
Switch to unix_socket authentication [Y/n] <n>
Change the root password? [Y/n] <n>
Remove anonymous users? [Y/n] <y>
Disallow root login remotely? [Y/n] <y>
Remove test database and access to it? [Y/n] <y>
Reload privilege tables now? [Y/n] <y>
mariadb --version
sudo systemctl enable --now mariadb
sudo systemctl start mariadb

Inštalácia Zabbix 7.0

Prejdeme na web zabbix a vyklikáme si čo budeme inštalovať. V mojom prípade to bude vyzerať presne tak ako je na obrázku

Po vyklikaní na webe rolujeme nižšie, kde nám systém vygeneroval príkazy na inštaláciu

wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb
sudo dpkg -i zabbix-release_7.0-1+debian12_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
sudo mysql -uroot -p
tu_zadáme_heslo
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'tu_zadáme_heslo';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
tu_zadáme_heslo
sudo mysql -uroot -p
tu_zadáme_heslo
set global log_bin_trust_function_creators = 0;
quit;
sudo nano  /etc/zabbix/zabbix_server.conf

V nasledujúcom konfiguračnom súbore nastavíme heslo do databázy. DBName a DBUser necháme ako je.

DBName=zabbix
DBUser=zabbix
DBPassword=tu_zadáme_heslo
sudo nano /etc/zabbix/nginx.conf

V nasledujúcom súbore nastavíme port a server_name. Ak už na servery používame port 80, tak musíme použiť nejaký iný. Predvolený port je nastavený na 8080, čiže ho môžeme ponechať. Ak v LAN používame lokálny DNS server a máme možnosť vytvoriť statické záznamy pre konkrétne IP adresy, tak to využijeme, inak použijeme IP adresu servera na ktorom Zabbix beží

        listen          80;
        server_name     example.com;

Ja som použil port 80 preto, lebo Zabbix mám za reverzným proxy serverom. To znamená, že komunikácia medzi reverzným proxy serverom a Zabbix serverom nemusí byť šifrovaná a https sa aplikuje až za reverzným proxy serverom.

sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm

To je všetko čo sme potrebovali spraviť v terminály. Môžeme sa presunúť do webového prehliadača a zadáme, buď IP adresu, alebo DNS meno, ktoré sme si nastavili pred chvíľou. Ak sme nastavili aj špecifický port, napr. 8080, tak viď druhý riadok

http://example.com
http://example.com:8080

Ďalej môžeme pokračovať podľa tohto návodu. To znamená, že nastavíme jazyk, preveríme či boli nainštalované všetky potrebné PHP komponenty od ktorých je závislé fungovanie Zabbix servera. V ďalšej časti nastavíme heslo pre databázu atď…

Po úspešnej inštalácii budeme presmerovaný na dashboard Zabbix, kde je vyžadované meno a heslo. Predvolené meno je Admin (pozor na veľké písmeno A) a heslo zabbix. Po prihlásení sa odporúča aby sme zmenili Admin heslo. To môžeme spraviť takto:

User settings --> Profile --> Password --> Change password

Ak si počas inštalácie nastavíme tmavé (dark) prostredie, tak po prihlásení môžeme očakávať nádherný dashboard.

Dashboard Zabbix 7.0.0

Teraz máme komplet nainštalovaný Zabbix 7.0 s LTS podporou na 5 rokov. Prvý monitorovaný server je samotný Zabbix server. Následne môžeme pridávať ďalšie zariadenia na monitorovanie. Ja zatiaľ toho veľa nemonitorujem, pretože Zabbix sa len učím. Keď som mal ešte Zabbix 6.0, tak som monitoroval len niekoľko kusov NanoStation LOCO5.

Upozorňujem, že toto nie je kompletný návod (krok za krokom) na inštaláciu Zabbix servera. Niektoré kroky som spomenul len okrajovo, resp. som v blogu použil odkazy, kde sa inštalácia rozoberá podrobnejšie. Jednoducho som nepovažoval za dôležité kopírovať sem intuitívne popisky z oficiálnej dokumentácie. Dokonca úvodná časť v tomto blogu bola vygenerovaná pomocou AI ChatGPT.

Leave a Reply

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *