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

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.

Co nás čeká?

  • Instalace PostgreSQL
  • Instalace Zabbix serveru a jeho součástí
  • Inicializace databáze
  • Nastavení firewallu
  • Instalace TimescaleDB
  • Konfigurace Zabbix serveru
  • Konfigurace Zabbix frontendu
  • Konfigurace Zabbix reportingu

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ů.

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.

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

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.

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

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

Po ú

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.

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.