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!

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

První krok instalace Zabbix 6.4 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.4 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ím krokem průvodce instalace Zabbix 6.4 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.

Pátý krok instalace Zabbix 6.4 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.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.

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