V tomto článku si ukážeme, jak nainstalovat a nakonfigurovat Zabbix 6.2 s databází PostgreSQL 15 na Rocky Linux 9 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 disablujeme výchozí systémové PostgeSQL repozitáře.
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-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 15
dnf install -y postgresql15-server
Teď už zbývá jen iniciovat databázi a nastavit automatické spouštění.
/usr/pgsql-15/bin/postgresql-15-setup initdb
systemctl enable postgresql-15 --now
Instalace Zabbix serveru a jeho součástí
Databázi máme nainstalovanou, pojďme tedy na instalaci Zabbix serveru a jeho součástí.
Nejprve si z repozitáře EPEL vyloučíme jakékoliv instalační balíčky týkající se Zabbixu. Za předpokladu, že je nainstalován.
To provedeme tak, že na konec souboru /etc/yum.repos.d/epel.repo
vložíme následující řádek:
[epel]
...
excludepkgs=zabbix*
Přidáme si repozitáře Zabbixu a vyčistíme instalační cache.
rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/9/x86_64/zabbix-release-6.2-3.el9.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-agent2 zabbix-web-service
Nakonec ještě povolíme potřebné porty na firewallu.
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --reload
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! Ve starších verzích Zabbix je tato cesta jiná, a to /usr/share/doc/zabbix-sql-scripts/
!
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
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 install timescaledb-2-postgresql-15-2.10.3 timescaledb-2-loader-postgresql-15-2.10.3 -y
Spustíme utilitu timescaledb-tune
a jako parametr jí předáme vyšší hodnotu maximálního množství připojení (--max-conns
), které pro tyto testovací účely nastavíme na 125
.
Tato utilita slouží k přizpůsobení výchozího nastavení PostgreSQL vůčihledně výkonu a adekvátnímu nastavení parametrů PostgreSQL pro fungování s TimescaleDB.
Zároveň nám tato utilit pomocí instalačního průvodce pomůže vybrat aktuální a platný konfigurační soubor PostgreSQL a nastaví i automatické načítání knihoven TimescaleDB.
Prosím, odpovídejte „ano“ (y) na všechny otázky. Pozor, automatický tuner předpokládá, že PostgreSQL běží na samostatném serveru, a proto může být potřeba případně upravit parametry.
timescaledb-tune --pg-config /usr/pgsql-15/bin --max-conns=125
Následně restartujeme systémovou službu pro PostgreSQL:
systemctl restart postgresql-15.service
Zbývá jen aktivovat TimescaleDB.
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
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 databáze>
StartReportWriters=1
WebServiceURL=http://localhost:10053/report
HANodeName=initMAX
Nakonec doinstalujeme jazykové balíčky pro češtinu a slovenštinu, restartujeme všechny související služby a nastavíme aby se spouštěly automaticky.
dnf install glibc-langpack-cs.x86_64 glibc-langpack-sk.x86_64
systemctl restart zabbix-server zabbix-web-service zabbix-agent2 httpd php-fpm
systemctl enable zabbix-server zabbix-web-service zabbix-agent2 httpd php-fpm
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.
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.2 začít používat. (Admin/zabbix)
Po přihlášení na Vás čeká nový Zabbix 6.2.
Konfigurace Zabbix reportingu
Pro potřeby funkcí reportingu je nejprvé 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.
Dejte nám Like, sdílejte nás nebo nás sledujte 😍
Ať vám nic neunikne: