Tentokrát si ukážeme, jak zaktualizovat Zabbix na nejnovější verzi 7.2. Budeme vycházet při aktualizaci z verze Zabbixu 7.0, PHP verze 8.0 a PostgreSQL 16 s jeho extenzí TimescaleDB.
Návod, jak aktualizovat PostgreSQL, naleznete v našem wiki článku. Dále zde najdete i návod na aktualizaci TimescaleDB.
Výběr operačního systému
Návod obsahuje postup pro RHEL platformy na verzi 9, kde stačí případně jen poupravit repozitáře. Návod pro Debian je připraven pro verzi 12, která je aktuálně poslední podporovanou verzí.
Přípravné kroky
- Přečtěte si „poznámky k vydané verzi“ (release notes) [ Official release notes for Zabbix 7.2 ]
- Přečtěte si důkladně dokument „poznámky k aktualizaci“ (upgrade notes) [ Official upgrade notes for Zabbix 7.2 ]
- Zkontrolujte a případně optimalizujte výkon současné databáze dle doporučení vendora a s ohledem na požadavky Zabbix instance
- Zkontrolujte, zda verze veškerých komponent odpovídají matici kompatiblity nové verze Zabbix
- Zazálohujte konfigurační soubory Zabbix serveru a Zabbix proxy
- Zázálohujte databáze Zabbix serveru, případně Zabbix proxy
- Zazálohujte veškeré možné úpravy „na míru“, které byly na úrovni Zabbix ručně provedeny
- Musíte vypnout HA na straně Zabbix serveru.
Kontrola verzí
Nejprve zkontrolujeme verze všech komponent, na kterých je běh Zabbixu a jeho součástí závislý, tak aby přesně odpovídaly oficiální matici kompatibility pro Zabbix 7.2.
php-fpm -v
psql -V
Záloha konfiguračních souborů Zabbix
Než se pustíme do dalších kroků, zazálohujeme veškeré konfigurační soubory Zabbix serveru a Zabbix Proxy.
cp -R /etc/zabbix/ /<backup directory>/
cp -R /usr/lib/zabbix/alertscripts/ /<backup directory>/
cp -R /usr/lib/zabbix/externalscripts/ /<backup directory>/
cp -R /usr/share/zabbix/ /<backup directory>/
cp /etc/httpd/conf/httpd.conf /<backup directory>/
cp /etc/httpd/conf.d/zabbix.conf /<backup directory>/
Zastavení služeb
Nejprve zastavíme Zabbix server a webserver, aby do databáze již nic nezapisovaly.
systemctl stop zabbix-server
systemctl stop httpd
Aktualizace databáze (Volitelně)
Dejte si prosím pozor na kombinaci PostgreSQL 17 a TimescaleDB 2.17. Tato verze má problém s načítáním starších dat. V případě potíží doporučujeme provést jednu z následujících akcí:
- Downgrade extenze – přejděte na verzi TimescaleDB 2.16.2.
- Aktualizace na TimescaleDB 2.18 – tento problém řeší.
- Použití workaroundu – do souboru
postgresql.conf
přidejte parametr pro vypnutí vektorizace a restartuje DB.
timescaledb.enable_vectorized_aggregation = off
Detailní návod na aktualizaci PostgreSQL naleznete na naší wiki.
Aktualizace Zabbix
Vše jsme úspěšně zazálohovali a zaktualizovali všechny verze návazných komponent dle oficiální matice kompatibility nové verze Zabbixu.
Nyní přejdeme k aktualizaci samotného Zabbixu a všech jeho součástí.
Nejprve si stáhneme instalační balíčky pro repozitáře nové verze Zabbixu a smažeme instalační cache:
rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/rocky/9/noarch/zabbix-release-latest-7.2.el9.noarch.rpm
dnf clean all
Po tomto úkonu máme dostupné repozitáře nové verze a můžeme tedy zaktualizovat veškeré další komponenty Zabbix, a to postupně i na všech Zabbix Proxy:
dnf update zabbix-* -y
Po úspěšném dokončení aktualizace balíčků Zabbix serveru a všech jeho součástí můžeme Zabbix znovu spustit, aby se dokončil upgrade databázové struktury.
systemctl start zabbix-server.service
Postupné činnosti i celý proces aktualizace, včetně případných zásahů do struktury databázového schématu, lze sledovat v log souboru Zabbix serveru:
tail -f /var/log/zabbix/zabbix_server.log
Po úspěšném dokončení aktualizace databázové struktury můžeme znovu spustit náš webový server. To provedeme následujícím příkazem:
systemctl start httpd
Záloha konfiguračních souborů Zabbix
Než se pustíme do dalších kroků, zazálohujeme veškeré konfigurační soubory Zabbix serveru a Zabbix Proxy.
cp -R /etc/zabbix/ /<backup directory>/
cp -R /usr/lib/zabbix/alertscripts/ /<backup directory>/
cp -R /usr/lib/zabbix/externalscripts/ /<backup directory>/
cp -R /usr/share/zabbix/ /<backup directory>/
cp -R /etc/apache2/ /<backup directory>/
Zastavení služeb
Nejprve zastavíme Zabbix server a webserver, aby do databáze již nic nezapisovaly.
systemctl stop zabbix-server
systemctl stop apache2
Aktualizace databáze (Volitelně)
Dejte si prosím pozor na kombinaci PostgreSQL 17 a TimescaleDB 2.7. Tato verze má problém s načítáním starších dat. V případě potíží doporučujeme provést jednu z následujících akcí:
- Downgrade extenze – přejděte na verzi TimescaleDB 2.16.2.
- Aktualizace na TimescaleDB 2.8 – tento problém řeší.
- Použití workaroundu – do souboru
postgresql.conf
přidejte parametr pro vypnutí vektorizace a restartuje DB.
timescaledb.enable_vectorized_aggregation = off
Detailní návod na aktualizaci PostgreSQL naleznete na naší wiki.
Aktualizace Zabbix
Vše jsme úspěšně zazálohovali a zaktualizovali všechny verze návazných komponent dle oficiální matice kompatibility nové verze Zabbixu.
Nyní přejdeme k aktualizaci samotného Zabbixu a všech jeho součástí.
Nejprve si stáhneme instalační balíčky pro repozitáře nové verze Zabbixu a nainstalujeme je:
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
dpkg -i zabbix-release_latest_7.2+debian12_all.deb
Po tomto úkonu máme dostupné repozitáře nové verze a můžeme tedy zaktualizovat veškeré další komponenty Zabbix, a to postupně i na všech Zabbix Proxy:
apt update
apt install --only-upgrade $(dpkg -l | grep zabbix | awk '{print $2}')
Po úspěšném dokončení aktualizace balíčků Zabbix serveru a všech jeho součástí můžeme Zabbix znovu spustit, aby se dokončil upgrade databázové struktury.
systemctl start zabbix-server.service
Postupné činnosti i celý proces aktualizace, včetně případných zásahů do struktury databázového schématu, lze sledovat v log souboru Zabbix serveru:
tail -f /var/log/zabbix/zabbix_server.log
Po úspěšném dokončení aktualizace databázové struktury můžeme znovu spustit náš webový server. To provedeme následujícím příkazem:
systemctl start apache2
Dokončovací práce
- Zkontrolujte, že správně běží Zabbix server, databázový server a mají správnou verzi
- Zkontrolujte také, zda při startu serveru nebo proxy v systému neuvidíte následující chybu: ‚…the user limit of 1024 file descriptors is insufficient. The maximum number of concurrent checks per worker has been reduced…‘ Návod na odstranění naleznete na naší wiki.
- Zkontrolujte, že běží všechny Zabbix proxy a mají správnou verzi. Je zajištěna zpětná kompatibilita (částečná) pro verzi 7.0. Nicméně i tak důrazně doporučujeme používat stejnou verzi, jakou má Zabbix server. Starší verze nejsou podporovány.
- Zkontrolujte stav Zabbix serveru a Zabbix proxy (log soubory, nepodporované položky, fronty, monitorovací skripty, atd.).
- Zkontrolujte, zda vaše servery mají přiděleny poslední verze oficiálních šablon od Zabbixu. [ Zabbix GIT ]
Co je nového v Zabbixu 7.2
Informace o novinkách v Zabbixu 7.2 naleznete v našem článku, nebo se můžete podívat na náš webinář, který je zaměřen právě na tyto novinky.
A to je vše! Nyní můžete začít využívat váš nově zaktualizovaný Zabbix ve verzi 7.2 se všemi jeho opravami i novinkami.
Dejte nám Like, sdílejte nás nebo nás sledujte 😍
Ať vám nic neunikne: