11 Uwagi dotyczące aktualizacji do wersji 7.4.0

Te uwagi dotyczą aktualizacji z Zabbix 7.2.x do Zabbix 7.4.0.

Wszystkie uwagi pogrupowano w następujące kategorie:

  • Zmiany powodujące niezgodność - zmiany, które mogą zakłócić działanie istniejących instalacji, oraz inne ważne informacje związane z procesem aktualizacji
  • Inne - wszystkie pozostałe informacje opisujące zmiany w funkcjonalności Zabbix

Zobacz także:

  • Procedura aktualizacji - wszystkie istotne informacje dotyczące aktualizacji z wersji wcześniejszych niż Zabbix 7.4.0;
  • Aktualizacja klastra HA - instrukcje dotyczące aktualizacji serwerów w klastrze wysokiej dostępności (HA).

Proces aktualizacji

Aby pomyślnie ukończyć aktualizację serwera Zabbix w systemie MySQL/MariaDB, może być konieczne ustawienie GLOBAL log_bin_trust_function_creators = 1 w MySQL, jeśli rejestrowanie binarne jest włączone, nie ma uprawnień superużytkownika, a parametr log_bin_trust_function_creators = 1 nie jest ustawiony w pliku konfiguracyjnym MySQL.

Aby ustawić tę zmienną za pomocą konsoli MySQL, uruchom:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Po pomyślnym ukończeniu aktualizacji tę opcję można wyłączyć:

mysql> SET GLOBAL log_bin_trust_function_creators = 0;

Przełomowe zmiany

Usunięto bibliotekę PCRE

Biblioteka PCRE (lub PCRE1) została usunięta.
Zabbix jest teraz kompilowany z użyciem PCRE2.

Zarządzanie własnymi mediami

Wszyscy użytkownicy mogą teraz domyślnie zarządzać własnymi mediami.

Uprawnienia użytkowników do zmiany szczegółów własnych mediów można nadawać lub odbierać na podstawie ich roli użytkownika (zobacz opcję Tworzenie i edytowanie własnych mediów).

Dodatkowo uprawnienia użytkowników typu Super admin do zmiany szczegółów mediów innych użytkowników można również nadawać lub odbierać na podstawie ich roli użytkownika (zobacz opcję Tworzenie i edytowanie mediów użytkowników).

W przypadku aktualizacji ze starszych wersji obie opcje zostaną włączone dla wszystkich ról, dla których włączono opcję Domyślny dostęp do nowych działań. Należy pamiętać, że jeśli opcja Domyślny dostęp do nowych działań nie jest włączona, administratorzy i super administratorzy mogą utracić możliwość edytowania mediów po aktualizacji.

Escapowanie ukośników odwrotnych w parametrach funkcji historii

Prawidłowe escapowanie ukośników odwrotnych zostało dodane w parametrach tekstowych funkcji historii od wersji Zabbix 7.0.0.

Ponieważ podczas aktualizacji z wersji Zabbix starszych niż 7.0 dodawane są dodatkowe ukośniki odwrotne, parametry stają się dłuższe. Może to prowadzić do uszkodzenia funkcji wyzwalacza, jeśli długość parametru przekroczy maksymalny rozmiar danych wynoszący 255 znaków.

Aby uniknąć tego problemu, zaleca się ręczne przeniesienie długich parametrów do makr użytkownika przed aktualizacją.

W przypadku aktualizacji z wersji Zabbix starszych niż 7.0 dodano dodatkowe kontrole wynikowej długości parametrów. Jeśli wynikowa długość przekracza maksymalny rozmiar, takie parametry nie są aktualizowane, a w logach wyświetlane jest ostrzeżenie z prośbą o ręczne poprawienie wymienionych parametrów.

Zobacz także problemy związane z escapowaniem podczas aktualizacji.

Aktualizacja wtyczki MSSQL Zabbix agent 2

Szablon MSSQL by Zabbix agent 2 został zaktualizowany o filtry umożliwiające uwzględnianie lub wykluczanie wykrytych członków kworum według nazwy, a także o filtr usług pozwalający filtrować według nazwy klastra w celu wykluczenia pustych klastrów. Aby szablon działał bez błędów, wtyczka MSSQL Zabbix agent 2 musi zostać zaktualizowana do wersji 7.4.0 lub nowszej.

Minimalna wymagana wersja libssh2

Minimalna wymagana wersja libssh2 została podniesiona z 1.0.0 do 1.8.0.

Prototypy hostów na wykrytych hostach

Jeśli bieżąca konfiguracja zawiera prototypy hostów, które używają szablonów zawierających inne prototypy hostów, uaktualnienie do Zabbix 7.4 spowoduje, że wszystkie wykryte hosty będą miały prototypy hostów zdefiniowane w tych szablonach. Jeśli takie zachowanie nie jest zamierzone, przed uaktualnieniem należy ręcznie usunąć prototypy hostów z odpowiednich szablonów.

Aby zidentyfikować wykryte hosty, które otrzymają prototypy hostów podczas uaktualnienia, można uruchomić następujące zapytanie SQL w bazie danych Zabbix:

SELECT h.hostid,ht.templateid
FROM hosts_templates ht
JOIN hosts h ON ht.hostid=h.hostid
WHERE h.flags=4
  AND EXISTS (
    SELECT NULL
    FROM items i,host_discovery hd
    WHERE i.hostid=ht.templateid
    AND hd.parent_itemid=i.itemid
    )
ORDER BY hostid;

Parametry połączenia z bazą danych

Parametry DBPort i DBSocket wzajemnie się wykluczają. Podczas określania parametrów połączenia z bazą danych można zdefiniować parametr DBPort albo DBSocket lub pozostawić oba niezdefiniowane, aby użyć wartości domyślnych.

Inne

Nieobsługiwane pozycje SNMP walk/discovery bez prawidłowych OID

Pozycje SNMP typu walk, w przypadku gdy żaden z identyfikatorów OID ani żadna instancja OID nie istnieje, zwracają teraz błąd, a pozycja staje się nieobsługiwana. Szczegóły dotyczące nieistniejącego identyfikatora OID/instancji są rejestrowane przy ustawieniu DebugLevel=5. Wcześniej w takich przypadkach zwracany był pusty ciąg znaków.

Podobnie pozycje SNMP typu discovery, w przypadku gdy żaden z identyfikatorów OID ani żadna instancja OID nie istnieje, zwracają teraz błąd, a pozycja staje się nieobsługiwana. Wcześniej w takich przypadkach zwracana była pusta tablica.

Należy pamiętać, że pusty ciąg znaków/tablica jest teraz zwracany tylko wtedy, gdy identyfikator OID/instancja istnieje, ale nie ma dla niego danych.

Zarządzanie pamięcią podręczną historii

W niektórych scenariuszach zbierania danych określone pozycje mogą tymczasowo blokować pamięć podręczną historii serwera/proxy. Może to opóźniać zapisywanie danych historycznych w bazie danych i spowalniać system. Aby ułatwić zarządzanie pamięcią podręczną historii, wprowadzono następujące usprawnienia:

  • Ręczne czyszczenie pamięci podręcznej: Nowe polecenie runtime history_cache_clear=target dla serwera/proxy Zabbix umożliwia ręczne wyczyszczenie pamięci podręcznej historii dla określonej pozycji na podstawie jej identyfikatora.
  • Automatyczne czyszczenie pamięci podręcznej: Po wyłączeniu pozycji jest ona natychmiast usuwana z pamięci podręcznej historii (z wyjątkiem jej ostatniej wartości, która jest zachowywana na potrzeby logów). Podobnie po wyłączeniu hosta wszystkie jego pozycje są usuwane z pamięci podręcznej historii (z wyjątkiem ich ostatnich wartości).
  • Rejestrowanie informacji diagnostycznych pamięci podręcznej: Gdy pamięć podręczna historii jest pełna, serwer/proxy Zabbix rejestruje teraz informacje diagnostyczne pamięci podręcznej historii począwszy od poziomu DebugLevel=3 (wcześniej DebugLevel=4). Dziennik zawiera pozycje z największą liczbą wartości w pamięci podręcznej historii.

Aby zapewnić długoterminową stabilność systemu, upewnij się, że zbieranie danych jest zrównoważone względem dostępnych zasobów (wydajność bazy danych, rozmiar pamięci podręcznej, interwały zbierania, parametry pozycji dziennika itd.). Możesz monitorować pamięć podręczną historii Zabbix za pomocą wewnętrznej pozycji zabbix[wcache]. Możesz również rozważyć zwiększenie rozmiaru pamięci podręcznej historii dla serwera/proxy Zabbix.

Osobna sekcja menu dla powiadomień użytkownika

Aby poprawić widoczność mediów użytkownika, powiadomienia użytkownika mają teraz własną sekcję menu w obszarze Ustawienia użytkownika.

Nowa sekcja Powiadomienia zawiera dwie karty - Media i Powiadomienia frontend, które wcześniej były częścią sekcji profilu użytkownika.

Prawidłowe informacje z zagnieżdżonych grup hostów na mapach

Informacje z zagnieżdżonych grup hostów są teraz prawidłowo wyświetlane na mapach, na przykład:

  • Etykieta grupy hostów wyświetla teraz podsumowanie problemów ze wszystkich hostów w zagnieżdżonych grupach hostów;
  • Widok „Elementy grupy hostów” wyświetla teraz osobny element mapy dla każdego hosta w zagnieżdżonych grupach hostów;
  • Etykieta mapy wyświetla teraz podsumowanie wszystkich problemów zawartych w zagnieżdżonych grupach hostów.

Tabela bazy danych dla przekonwertowanych ustawień

Tabela settings zastępuje teraz tabelę config do przechowywania parametrów globalnej konfiguracji. Nowa tabela używa formatu klucz-wartość zamiast przechowywania parametrów w jednym wierszu z jedną kolumną na każdy parametr. Przykład tego, jak wpływa to na wymianę danych, można znaleźć w sekcji Protokół wymiany danych serwer-proxy (obiekt "settings").

Zwiększone maksymalne rozmiary pamięci podręcznej dla serwera i proxy

Maksymalne rozmiary pamięci podręcznej zostały zwiększone z 2 GB do 16 GB, aby opóźnić wyczerpanie cache i utrzymać działanie podczas tymczasowych problemów (np. z konfiguracją, bazą danych lub siecią):

Skrócony domyślny okres przechowywania sesji użytkowników

Domyślny okres przechowywania danych sesji użytkowników został skrócony z 365 dni do 31 dni. Ta zmiana dotyczy parametru hk_sessions, którego domyślna wartość wynosi teraz 31d zamiast 365d.

Minimalna obsługiwana wersja Go

Minimalna obsługiwana wersja Go została podniesiona z 1.21 do 1.23.

Jeśli wcześniej kompilowano Zabbix agent 2, ładowalne wtyczki agent 2 lub usługę webową ze źródeł przy użyciu wersji Go starszej niż 1.23, zaleca się ponowną kompilację tych komponentów przy użyciu obsługiwanej wersji Go, aby otrzymywać najnowsze aktualizacje zabezpieczeń i poprawki błędów. Komponenty skompilowane przy użyciu starszej wersji Go będą nadal działać, ale ich aktualizacja będzie wymagała nowszego środowiska Go.

Aktualizacja szablonu dla Host Wizard

Nowy Host Wizard wprowadza prowadzony, krok po kroku interfejs do konfigurowania monitorowanego obiektu docelowego (urządzenia, aplikacji, usługi itp.) w Zabbix. Upraszcza konfigurację nowych lub istniejących hostów, prowadząc użytkowników przez kluczowe kroki, takie jak wybór szablonu, instalacja Zabbix agent, dodawanie interfejsów hosta i inne.

Po uaktualnieniu z wcześniejszej wersji Zabbix szablony muszą zostać zaktualizowane, aby działały z Host Wizard. Instrukcje znajdują się w sekcji Aktualizacja szablonu.

Równoległe przetwarzanie kontroli SNMPv1 i SNMPv2

Asynchroniczne kontrole usługi SNMPv1 i SNMPv2 są teraz przetwarzane równolegle przez dostępne procesy wykrywania.