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

Tentokrát si ukážeme, jak nainstalovat a nakonfigurovat Zabbix 6.4 s databází PostgreSQL 15 a jejím doplňkem TimescaleDB v linux distribuci Debian 11.

Front-end nám poběží na nginx za pomocí php-fpm verze 7.4, a to vše během pěti minut!

Co nás čeká?

  • Instalace PostgreSQL
  • Instalace TimescaleDB
  • Instalace Zabbix serveru a jeho součástí
  • Inicializace databáze
  • Konfigurace Zabbix serveru
  • Konfigurace nginx
  • Konfigurace Zabbix front-endu

Než začneme

Nejprve nainstalujeme GNU PG, to provedeme následujícím příkazem.

apt install gnupg2

Instalace PostgreSQL

Pro instalaci databázového serveru si nejprve vytvoříme konfigurační soubor oficiálních repozitářů PostgreSQL:

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Pak stáhneme ověřovací klíč a zaktualizujeme cache všech existujících repozitářů:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
apt update

Následně nainstalujeme balíčky databázového serveru PostgreSQL, v tomto případě ve verzi 15:

apt-get -y install postgresql-15

Instalace TimescaleDB

Začneme tím, že nainstalujeme veškeré balíčky potřebné pro následnou instalaci:

apt install gnupg postgresql-common apt-transport-https lsb-release wget

A následujícím příkazem vytvoříme konfigurační soubor oficiálních repozitářů TimescaleDB.

echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list

I pro tento repozitář stáhneme platný ověřovací klíč a zaktualizujeme APT cache:

wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -
apt update

Po těchto úkonech už můžeme přistoupit k samotné instalaci TimescaleDB pro naši konkrétní verzi PostgreSQL.

apt install timescaledb-2-postgresql-15

Po úspěšné instalaci všech závislých balíčků spustíme optimalizační program timescaledb-tune, který nám pomůže nastavit parametry PostgreSQL pro TimescaleDB vůčihledně aktuálně používanému hardware.

timescaledb-tune --quiet --yes

Výše zmíněný příkaz na optimalizaci PostgreSQL pro TimescaleDB bohužel implicitně omezuje počet příchozích spojení do databáze na 25.

Toto je ovšem pro potřeby Zabbixu zcela nevhodné a tak tuto hodnotu pro účely této ukázky upravíme na 125.

Toto je možné upravit i pomocí zadání parametru --max-conns s výslednou hodnotou, tedy například --max-conns=125.

Omezení na počet databázových spojení je však nutné nastavit vždy tak, aby odpovídalo vaší konkrétní infrastruktuře, i vašim požadavkům na monitoring, který bude Zabbix zprostředkovávat.

nano /etc/postgresql/15/main/postgresql.conf

max_connections = 125

Po těchto krocích zrestartujeme službu databázového serveru PostgreSQL:

systemctl restart postgresql

Instalace Zabbix serveru a jeho součástí

Databázi máme nainstalovanou, pojďme tedy na instalaci Zabbix serveru a jeho součástí.
Stáhneme si instalační balíček s repozitáři Zabbixu, ručně ho nainstalujeme a zaktualizujeme APT cache:

wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian11_all.deb
dpkg -i zabbix-release_6.4-1+debian11_all.deb
apt update

Nyní můžeme přistoupit k instalaci samotného Zabbix serveru a všech závislých komponent:

apt install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

Inicializace databáze

V tomto kroku vytvoříme na úrovni databázového serveru uživatele pro Zabbix.

Budeme vyzváni k zadání hesla.

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

Potom vytvoříme samotnou databázi pro Zabbix. Budeme vyzváni k zadání hesla, které jsme vytvořili v předchozím kroku.

sudo -u postgres createdb -O zabbix zabbix

Do této nově vytvořené databáze následně naimportujeme schéma a výchozí data. Tento SQL skript je pro každou konkrétní databází dodaný samotným Zabbixem v balíčku zabbix-sql-scripts.

Pozor! Ve starších verzích Zabbix je tato cesta jiná, a to /usr/share/doc/zabbix-sql-scripts/ !

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

Zbývá již jen aktivovat TimescaleDB a nahrát dodaný skript, který nám vytvoří databázové schéma.

Pozor! Ve starších verzích Zabbix je tato cesta jiná, a to /usr/share/doc/zabbix-sql-scripts/ !

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

Konfigurace Zabbix serveru

Pro potřeby funkčnosti front-endu Zabbix v konfiguračním souboru Zabbix serveru nastavíme heslo do databáze, které jsme vytvořili v předcházejích krocích.

Otevřeme tedy konfigurační soubor Zabbix serveru v cestě:

nano /etc/zabbix/zabbix_server.conf

A zde upravíme následující direktivu.

DBPassword=<heslo_do_databáze>

Konfigurace nginx

Proxy server nginx spolu s php-fpm budeme pro potřeby této ukázky využívat jako aplikační server pro chod samotného Zabbix front-endu.

Pro tyto potřeby je součástí Zabbix instalace i dodaný přednastavený konfigurační soubor pro nginx na následující cestě:

nano /etc/zabbix/nginx.conf

V tomto souboru nastavíme hostname serveru, a také TCP port, na kterém bude nginx naslouchat pro příchozí spojení.

Toto nastavíme kupříkladu následovně:

listen 80;
server_name initmax.cz;

Soubor uložíme, zavřeme a následně smažeme implicitní konfigurační soubor nginx tak, aby nám nastavení nekolidovala.

rm /etc/nginx/sites-enabled/default

Nyní stačí pouze zrestartovat jak samotný Zabbix server a Zabbix agent, tak i nginx a php-fpm, které využíváme pro chod Zabbix front-endu.

systemctl restart zabbix-server zabbix-agent2 nginx php7.4-fpm

Nesmíme také zapomenout na automatické spouštění těchto služeb po startu:

systemctl enable zabbix-server zabbix-agent2 nginx php7.4-fpm

Konfigurace Zabbix front-endu

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

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.

Třetím krokem průvodce instalace je nastavení 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.

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.4 začít používat.

Výchozí údaje pro přihlášení jsou: 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.4.