Zabbix to jedno z najpopularniejszych narzędzi do monitorowania infrastruktury IT. Nowa wersja 7.4 wprowadza wiele istotnych zmian i usprawnień. Ten poradnik pomoże Ci zaktualizować instancję Zabbix z wersji 6.4 do 7.4 na systemach Debian, Ubuntu oraz AlmaLinux.
Wymagania wstępne
- Działająca instancja Zabbix 6.4
- Uprawnienia roota lub sudo
- Dostęp do bazy danych Zabbix (MySQL/PostgreSQL)
- Backup całego systemu
Minimalne wymagania Zabbix 7.4:
- PHP: wersja 8.1 lub 8.2 (z rozszerzeniami:
gd
,bcmath
,ctype
,libxml
,mbstring
,xmlreader
,xmlwriter
,mysqli
lubpgsql
) - Baza danych:
- MySQL 8.0+ / MariaDB 10.5+
- PostgreSQL 13+
- Serwer WWW: Apache lub Nginx
- Obsługa systemd dla usług
Backup
Krok krytyczny! Zanim przystąpisz do aktualizacji:
# Zrzut bazy danych
mysqldump -u zabbix -p zabbix > /root/zabbix_backup.sql
# Backup katalogów konfiguracyjnych
cp -r /etc/zabbix /root/zabbix_conf_backup
cp -r /usr/share/zabbix /root/zabbix_www_backup
Dodanie repozytoriów Zabbix 7.4
Debian/Ubuntu
wget https://repo.zabbix.com/zabbix/7.4/debian/pool/main/z/zabbix-release/zabbix-release_7.4-1+debian$(lsb_release -rs)_all.deb
sudo dpkg -i zabbix-release_7.4-1+debian$(lsb_release -rs)_all.deb
sudo apt update
Alma:
rpm -Uvh https://repo.zabbix.com/zabbix/7.4/rhel/9/x86_64/zabbix-release-7.4-1.el9.noarch.rpm
dnf clean all
Aktualizacja pakietów
Debian/Ubuntu
sudo apt upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent zabbix-sql-scripts
Alma
dnf upgrade -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent zabbix-sql-scripts
Migracja bazy danych
Po zaktualizowaniu pakietów, przy pierwszym uruchomieniu usługi serwera:
sudo systemctl restart zabbix-server
Zabbix automatycznie rozpocznie aktualizację schematu bazy danych. Monitoruj logi za pomocą:
tail -f /var/log/zabbix/zabbix_server.log
Weryfikacja działania usług
sudo systemctl status zabbix-server zabbix-agent apache2 # Debian/Ubuntu
sudo systemctl status zabbix-server zabbix-agent httpd # AlmaLinux
Otwórz interfejs webowy i sprawdź wersję w prawym dolnym rogu. Powinno być: Zabbix 7.4.x
Zakończenie i troubleshooting
Typowe problemy:
- Brak połączenia z bazą danych: sprawdź uprawnienia, nazwę użytkownika, hasło
- Biała strona WWW: sprawdź logi Apache/Nginx oraz wersję PHP
- Błędy w logach: przeszukaj
/var/log/zabbix/
W razie potrzeby możesz wrócić do poprzedniej wersji z wykorzystaniem backupu.
Opcjonalny problem: SET GLOBAL log_bin_trust_function_creators = 1
Podczas aktualizacji Zabbix do wersji 7.4, szczególnie przy używaniu MySQL lub MariaDB, może pojawić się błąd podczas migracji bazy danych:
[Z3005] query failed: [1418] This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled…
To oznacza, że serwer MySQL nie pozwala na tworzenie funkcji (UDF), jeśli binarne logowanie (binary logging
) jest włączone, a funkcje nie są oznaczone jako „trustworthy”.
Dlaczego to się dzieje?
Zabbix podczas instalacji lub aktualizacji tworzy własne funkcje w bazie danych. Gdy binarne logowanie (binlog
) jest aktywne, MySQL wymaga, aby takie funkcje były wyraźnie oznaczone jako:
- DETERMINISTIC
- READS SQL DATA
lub - administrator zaufa ich twórcy (
log_bin_trust_function_creators = 1
)
Rozwiązanie
Musisz tymczasowo ustawić globalną zmienną log_bin_trust_function_creators = 1
:
SET GLOBAL log_bin_trust_function_creators = 1;
Jeśli używasz MariaDB/MySQL i łączysz się z konsoli:
mysql -u root -p
SET GLOBAL log_bin_trust_function_creators = 1;