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ů.
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.
Zkontrolujeme zadané hodnoty a kliknutím na Next step
dokončíme instalaci.
Kliknutím na Finish
již přejdeme na přihlašovací obrazovku.
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
Po přihlášení na Vás čeká nový Zabbix 6.4.
Dejte nám Like, sdílejte nás nebo nás sledujte 😍
Ať vám nic neunikne: