Zabbix 6.0 – návod na instalaci v 5 minutách

Co nás čeká?

V tomto článku si ukážeme, jak nainstalovat a nakonfigurovat Zabbix 6.0 s databází PostgreSQL 13 na Rocky Linux 8, a to během pěti minut.

Než začneme

Pro účely této ukázky si nejdříve přepneme SELinux do Permissive módu.

setenforce 0

Instalace PostgreSQL

Nejprve si naistalujeme repozitáře pro PostgreSQL a zakážeme výchozí, systémové PostgreSQL repozitáře.

dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql

A nyní se můžeme pustit do instalace PostgreSQL, v tomto případě to bude PostgreSQL 13

dnf install -y postgresql13-server

Teď už zbývá jen inicializovat databázi a nastavit automatické spouštění.

/usr/pgsql-14/bin/postgresql-13-setup initdb
systemctl enable postgresql-13 --now

Instalace Zabbix serveru a jeho součástí

Databázi máme nainstalovanou, pojďme tedy na instalaci Zabbix serveru a jeho součástí.
Přidáme si repozitáře Zabbixu a vyčistíme instalační cache.

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm 
dnf clean all

A naistalujeme všechny potřebné součásti Zabbixu.

dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent zabbix-web-service

Inicializace databáze

V dalším kroku vytvoříme pro Zabbix uživatele v databázi a budeme vyzváni k zadání hesla.

cd /tmp
sudo -u postgres createuser --pwprompt zabbix

Založíme databázi a importujeme výchozí schéma a data. Opět budeme vyzváni k zadání hesla.
Zde použijeme heslo z předchozího kroku.

Pozor! V novějších verzích Zabbix je tato cesta jiná, a to /usr/share/zabbix-sql-scripts/ !

sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Nastavení firewallu

Nakonec ještě povolíme porty potřebné pro běh Zabbix serveru na firewallu.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --reload

Instalace TimescaleDB

Nyní se pustíme do instalace TimescaleDB.
Přidáme repozitář.

tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL

Nainstalujme TimescaleDB.

dnf -y install timescaledb-2-postgresql-13-2.3.1 timescaledb-2-loader-postgresql-13-2.3.1

Otevřeme konfigurační soubor PostgreSQL

nano /var/lib/pgsql/13/data/postgresql.conf

a najdeme následující řádek:

# shared_preload_libraries = ''

Přidáme pod něj tento řádek tak, aby PosgreSQL automaticky načítal rozšíření TimescaleDB:

shared_preload_libraries = 'timescaledb'

Soubor uložíme a restartujeme databázový server:

systemctl restart postgresql-13.service

Zbývá již jen vytvořit a aktivovat TimescaleDB:

Pozor! V novějších verzích Zabbix je tato cesta jiná, a to /usr/share/zabbix-sql-scripts/ !

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

Konfigurace Zabbix serveru

Otevřeme konfigurační soubor Zabbix serveru.

nano /etc/zabbix/zabbix_server.conf

Upravíme jednotlivé parametry podle následující předlohy.

DBPassword=<heslo_do_databaze>
StartReportWriters=1
WebServiceURL=http://localhost:10053/report
HANodeName=initMAX

Nakonec doinstalujeme jazykové balíčky pro češtinu a slovenštinu:

dnf install glibc-langpack-cs.x86_64 glibc-langpack-sk.x86_64

Na závěr restartujeme všechny související služby a nastavíme je tak, aby se spouštěly automaticky:

systemctl restart zabbix-server zabbix-web-service zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-web-service zabbix-agent httpd php-fpm

Pro ověření stavu, že nám Zabbix server nastartoval v pořádku můžeme kromě jiného zkontrolovat i jeho log soubor:

less /var/log/zabbix/zabbix_server.log

Konfigurace Zabbix frontendu

V okně prohlížeče si otevřeme url na které nám Zabbix běží. Například http://192.168.0.50/zabbix a přivítá nás instalace.

Kliknutím na tlačítko Next step se posuneme na stránku s kontrolou minimálních požadavků.

První krok instalace Zabbix 6.0 a nastavení jazyka

Vše je v pořádku, můžeme tedy kliknout na Next step a posunout se na další stránku s nastavením připojení do databáze.

Druhý krok instalace Zabbix 6.0 a kontrola minimálních požadavků

Na této stránce vyplníme pouze políčko Password, nic dalšího není třeba měnit, a klikneme na Next step.

Třetí krok instalace Zabbix 6.0 a připojení do databáze

Zde vyplníme základní nastavení, tedy název serveru a časové pásmo, a kliknutím na Next step pokračujeme k souhrnu konfigurace.

Čtvrtým krokem průvodce instalace je nastavení serveru a výběr časové zóny.

Zkontrolujeme zadané hodnoty a kliknutím na Next step dokončíme instalaci.

Pátý krok instalace Zabbix 6.0 a kontrola hodnot před instalací

Kliknutím na Finish již přejdeme na přihlašovací obrazovku.

Po úspěšné instalaci můžeme přejít k přihlášení kliknutím na tlačítko "Finish".

Přihlásíme se a můžeme Zabbix 6.0 začít používat. (Admin/zabbix)

Pro přihlášení v dialogovém okně uvedeme přihlašovací jméno a heslo.

Po přihlášení na Vás čeká nový Zabbix 6.0.

Po přihlášení se zobrazí nová verze Zabbix 6.0

Konfigurace Zabbix reportingu

Pro potřeby funkcí reportingu je nejprve nutné nainstalovat Google Chrome.

Nejprve stáhneme instalační balíček, který následně také nainstalujeme:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
dnf localinstall google-chrome-stable_current_x86_64.rpm

Následně je nutné upravit v konfiguraci Zabbix frontendu parametr „Frontend URL“ na aktuálně platnou hodnotu, toto nastavení se nachází v následující cestě v menu:

Administration -> General -> Other

Příklad nastavení můžete vidět na obrázku níže.

Konfigurace reportingu Zabbix 6.0