[comment]: # ({d4c2e042-97796c37})
# 8 Znane problemy

Zobacz także: [Problemy z kompilacją](/manual/installation/known_issues/compilation_issues).

[comment]: # ({/d4c2e042-97796c37})

[comment]: # ({59bf15f1-ac66370d})
#### Znane problemy w wersji 7.0.20

Nie zaleca się aktualizacji do tej wersji z powodu:

- nagłego skoku użycia CPU, jeśli używasz wtyczki MySQL dla Zabbix agent 2 (zobacz [ZBX-27156](https://support.zabbix.com/browse/ZBX-27156))
- wykresu dla pozycji Zabbix active agent wyświetlającego ostrzeżenie "Undefined array key" z powodu błędu niezdefiniowanego indeksu (zobacz [ZBX-27153](https://support.zabbix.com/browse/ZBX-27153))

[comment]: # ({/59bf15f1-ac66370d})

[comment]: # ({acc59e29-60337342})
#### Aktualizacja

[comment]: # ({/acc59e29-60337342})

[comment]: # ({4128d758-9dcbc232})
##### Ustawienie trybu SQL dla pomyślnej aktualizacji

Ustawienie `sql_mode` w MySQL/MariaDB musi mieć ustawiony tryb "STRICT_TRANS_TABLES".
Jeśli go brakuje, aktualizacja bazy danych Zabbix zakończy się niepowodzeniem (zobacz także [ZBX-19435](https://support.zabbix.com/browse/ZBX-19435)).

[comment]: # ({/4128d758-9dcbc232})

[comment]: # ({62592ed3-5c2a7ea7})
##### Aktualizacja z MariaDB 10.2.1 i wcześniejszą

Aktualizacja Zabbix może się nie powieść, jeśli tabele bazy danych zostały utworzone przy użyciu MariaDB 10.2.1 lub wcześniejszej, ponieważ w tych wersjach domyślny format wiersza to compact.
Można to naprawić, zmieniając format wiersza na dynamic (zobacz także [ZBX-17690](https://support.zabbix.com/browse/ZBX-17690)).

[comment]: # ({/62592ed3-5c2a7ea7})

[comment]: # ({468fcd25-284cbce4})
#### Szablony

[comment]: # ({/468fcd25-284cbce4})

[comment]: # ({fe6574bb-e0ea85e4})
##### Zgodność szablonów w środowiskach dual-stack (IPv4/IPv6)

W środowiskach dual-stack (systemach skonfigurowanych do obsługi zarówno IPv4, jak i IPv6) nazwa hosta `localhost` zazwyczaj rozwiązuje się do adresów IPv4 i IPv6.
Ze względu na częste priorytetyzowanie IPv6 nad IPv4 przez wiele systemów operacyjnych i resolverów DNS, szablony Zabbix mogą nie działać poprawnie, jeśli monitorowana usługa jest skonfigurowana do nasłuchiwania wyłącznie na IPv4.

Usługi, które nie są skonfigurowane do nasłuchiwania na adresach IPv6, mogą stać się niedostępne, co prowadzi do niepowodzeń monitorowania.
Użytkownicy mogą skonfigurować dostęp poprawnie dla IPv4, a mimo to nadal napotykać problemy z łącznością z powodu domyślnego zachowania polegającego na priorytetyzowaniu IPv6.

Obejściem tego problemu jest upewnienie się, że usługi (Nginx, Apache, PostgreSQL itp.) są skonfigurowane do nasłuchiwania zarówno na adresach IPv4, jak i IPv6, oraz że serwer/agent Zabbix ma przyznany dostęp przez IPv6.
Dodatkowo w szablonach i konfiguracjach Zabbix należy używać jawnie `localhost` zamiast `127.0.0.1`, aby zapewnić zgodność zarówno z IPv4, jak i IPv6.

**Na przykład**, podczas monitorowania PostgreSQL za pomocą szablonu [PostgreSQL by Zabbix agent 2](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql_agent2?at=refs%2Fheads%2Frelease%2F7.0) może być konieczna edycja pliku `pg_hba.conf`, aby zezwolić na połączenia dla użytkownika `zbx_monitor`.
Jeśli w środowisku dual-stack priorytet ma IPv6 (system rozwiązuje `localhost` do `::1`) i skonfigurujesz `localhost`, ale dodasz tylko wpis IPv4 (`127.0.0.1/32`), połączenie nie powiedzie się, ponieważ nie będzie pasującego wpisu IPv6.

Poniższy przykład pliku `pg_hba.conf` zapewnia, że użytkownik `zbx_monitor` może łączyć się z dowolną bazą danych z lokalnej maszyny przy użyciu zarówno adresów IPv4, jak i IPv6, z różnymi metodami uwierzytelniania:

```ini
# TYPE     DATABASE     USER            ADDRESS          METHOD
  host     all          zbx_monitor     localhost        trust
  host     all          zbx_monitor     127.0.0.1/32     md5
  host     all          zbx_monitor     ::1/128          scram-sha-256
```

W razie potrzeby można również użyć bezpośrednio adresu IPv4 (`127.0.0.1`) podczas konfigurowania makra szablonu [PostgreSQL by Zabbix agent 2](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql_agent2?at=refs%2Fheads%2Frelease%2F7.0) dla ciągu połączenia.

[comment]: # ({/fe6574bb-e0ea85e4})

[comment]: # ({56ece64f-5da64b1a})
#### Przypadkowa instalacja pakietów Zabbix z EPEL

Jeśli repozytorium EPEL jest zainstalowane i włączone, instalacja pakietów Zabbix może spowodować pobranie wersji z EPEL zamiast oficjalnych pakietów Zabbix.
Aby rozwiązać ten problem:

1\. Usuń wszystkie pakiety Zabbix zainstalowane z EPEL:

```bash
dnf remove zabbix-server-mysql
```

2\. Wyklucz pakiety Zabbix z EPEL, dodając następujący wiersz do pliku `/etc/yum.repos.d/epel.repo`:

```ini
[epel]
...
excludepkgs=zabbix*
```

3.\ Zainstaluj ponownie oficjalny pakiet serwera Zabbix:

```bash
dnf install zabbix-server-mysql
```

Podczas instalacji oficjalne pakiety Zabbix zawierają słowo `release` w ciągu wersji (na przykład `7.0.0-release1.el8`), co odróżnia je od pakietów EPEL.

[comment]: # ({/56ece64f-5da64b1a})

[comment]: # ({16623e24-ca1706ae})
#### Pakiety Zabbix dla RHEL w środowiskach Red Hat UBI

Podczas instalowania Zabbix z pakietów Red Hat Enterprise Linux w środowiskach [Red Hat Universal Base Image](https://catalog.redhat.com/software/base-images) upewnij się, że masz dostęp do wymaganych repozytoriów i zależności.
Pakiety Zabbix zależą od bibliotek `libOpenIPMI.so` i `libOpenIPMIposix.so`, które nie są dostarczane przez żaden pakiet w domyślnie włączonych repozytoriach menedżera pakietów w systemach UBI i spowodują niepowodzenie instalacji.

Biblioteki `libOpenIPMI.so` i `libOpenIPMIposix.so` są dostępne w pakiecie `OpenIPMI-libs`, który jest dostarczany przez repozytorium `redhat-#-for-<arch>-appstream-rpms`.
Dostęp do tego repozytorium jest kontrolowany przez subskrypcje, które w przypadku środowisk UBI są propagowane przez zamontowanie katalogów konfiguracji repozytoriów i sekretów hosta RHEL do przestrzeni nazw systemu plików kontenera.

Więcej informacji można znaleźć w [ZBX-24291](https://support.zabbix.com/browse/ZBX-24291).

[comment]: # ({/16623e24-ca1706ae})

[comment]: # ({ddb884e8-af503946})
#### Wygasły klucz podpisu dla pakietów RHEL

Podczas aktualizacji Zabbixa na [Red Hat Enterprise Linux](/manual/installation/upgrade/packages/rhel#update-repository-configuration-package) lub jego pochodnych możesz napotkać problem z wygasłym kluczem podpisu dla pakietów w [repozytorium Zabbixa](https://repo.zabbix.com/zabbix/7.0/).
Gdy klucz podpisu wygasa, próby weryfikacji podpisów pakietów zakończą się błędem wskazującym, że certyfikat lub klucz nie jest już ważny.
Na przykład:

```bash
error: Verifying a signature using certificate D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (Jul 2022) <packager@zabbix.com>):
  1. Certificate 19F2475308EFA7DD invalid: certificate is not alive
      because: The primary key is not live
      because: Expired on 2024-07-04T11:41:23Z
  2. Key 19F2475308EFA7DD invalid: key is not alive
      because: The primary key is not live
      because: Expired on 2024-07-04T11:41:23Z
```

Aby rozwiązać ten problem, ręcznie zainstaluj ponownie najnowszy pakiet `zabbix-release` dla swojej konkretnej wersji RHEL (zamień poniższy link na właściwy z [repozytorium Zabbixa](https://repo.zabbix.com/zabbix/7.0/)).

Na przykład w przypadku **RHEL 9** uruchom:

```bash
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm
```

Następnie zaktualizuj informacje o repozytorium:

```bash
dnf update
```

Więcej informacji znajdziesz w [ZBX-24761](https://support.zabbix.com/browse/ZBX-24761).

[comment]: # ({/ddb884e8-af503946})

[comment]: # ({1247e44f-40e33d04})
#### Połączenie TLS z bazą danych przy użyciu MariaDB

Połączenie TLS z bazą danych nie jest obsługiwane z opcją 'verify\_ca' dla [parametru](/manual/appendix/config/zabbix_server) DBTLSConnect, jeśli używana jest MariaDB.

[comment]: # ({/1247e44f-40e33d04})

[comment]: # ({fa488c09-40ea4656})
#### Możliwe zakleszczenia z MySQL/MariaDB

Podczas pracy pod dużym obciążeniem, gdy zaangażowany jest więcej niż jeden worker LLD, może dojść do zakleszczenia spowodowanego błędem InnoDB związanym ze strategią blokowania wierszy (zobacz [błąd upstream](https://github.com/mysql/mysql-server/commit/7037a0bdc83196755a3bf3e935cfb3c0127715d5)).
Błąd został naprawiony w MySQL od wersji 8.0.29, ale nie w MariaDB.
Więcej informacji można znaleźć w [ZBX-21506](https://support.zabbix.com/browse/ZBX-21506).

[comment]: # ({/fa488c09-40ea4656})

[comment]: # ({1ca1b80c-70c19e71})
#### Globalna korelacja zdarzeń

Zdarzenia mogą nie zostać skorelowane poprawnie, jeśli odstęp czasu między pierwszym a drugim zdarzeniem jest bardzo mały, tj. pół sekundy lub mniej.

[comment]: # ({/1ca1b80c-70c19e71})

[comment]: # ({6c096f65-215c95a7})
#### Zakres typu danych Numeric (float) w PostgreSQL 11 i wcześniejszych

PostgreSQL 11 i wcześniejsze wersje obsługują tylko zakres wartości zmiennoprzecinkowych w przybliżeniu od -1.34E-154 do 1.34E+154.

[comment]: # ({/6c096f65-215c95a7})

[comment]: # ({782693b6-dfc40df7})
#### NetBSD 8.0 i nowsze

Różne procesy Zabbix mogą losowo ulegać awarii podczas uruchamiania w wersjach NetBSD 8.X i 9.X.
Jest to spowodowane zbyt małym domyślnym rozmiarem stosu (4 MB), który należy zwiększyć, uruchamiając:

```bash
ulimit -s 10240
```

Aby uzyskać więcej informacji, zobacz powiązane zgłoszenie problemu: [ZBX-18275](https://support.zabbix.com/browse/ZBX-18275).

[comment]: # ({/782693b6-dfc40df7})

[comment]: # ({9e6b7b54-ca368d3f})
#### Ograniczenia wyrażeń regularnych w Zabbix agent 2

Zabbix agent 2 nie obsługuje asercji lookahead i lookbehind w wyrażeniach regularnych ze względu na ograniczenia standardowej biblioteki Go regexp.

[comment]: # ({/9e6b7b54-ca368d3f})

[comment]: # ({153d6a2b-3cf04fe3})
#### Kontrole IPMI

Kontrole IPMI nie będą działać ze standardowym pakietem biblioteki OpenIPMI w Debianie wcześniejszym niż 9 (stretch) oraz Ubuntu wcześniejszym niż 16.04 (xenial).
Aby to naprawić, należy ponownie skompilować bibliotekę OpenIPMI z włączoną obsługą OpenSSL, jak omówiono w [ZBX-6139](https://support.zabbix.com/browse/ZBX-6139).

[comment]: # ({/153d6a2b-3cf04fe3})

[comment]: # ({4584bdf5-bcfb94d3})
#### IPMI — niezaufane hosty mogą spowodować awarię OpenIPMI

W bibliotece OpenIPMI używanej przez Zabbix do odpytywania danych IPMI występuje błąd, który może zostać wywołany przez specjalnie spreparowane odpowiedzi z niezaufanego urządzenia.  
Niezaufane urządzenie IPMI może wysłać spreparowane dane, które spowodują awarię biblioteki OpenIPMI, co z kolei może doprowadzić do zakończenia procesu serwera Zabbix wykonującego odpytywanie IPMI.

[comment]: # ({/4584bdf5-bcfb94d3})

[comment]: # ({aa786b9a-8c5cdd23})
#### Kontrole SSH

-   Niektóre dystrybucje Linuksa, takie jak Debian i Ubuntu, nie obsługują zaszyfrowanych kluczy prywatnych (z hasłem) w przypadku, gdy biblioteka libssh2 jest zainstalowana z pakietów.
Więcej informacji znajduje się w [ZBX-4850](https://support.zabbix.com/browse/ZBX-4850).
-   W przypadku używania libssh 0.9.x w niektórych dystrybucjach Linuksa z OpenSSH 8, kontrole SSH mogą sporadycznie zgłaszać błąd „Cannot read data from SSH server”.
Jest to spowodowane [problemem](https://gitlab.com/libssh/libssh-mirror/-/merge_requests/101) w libssh ([bardziej szczegółowy raport](https://bugs.libssh.org/T231)).
Oczekuje się, że błąd został naprawiony w stabilnym wydaniu libssh 0.9.5.
Szczegóły znajdują się także w [ZBX-17756](https://support.zabbix.com/browse/ZBX-17756).
-   Użycie znaku potoku „|” w skrypcie SSH może prowadzić do błędu „Cannot read data from SSH server”.
W takim przypadku zaleca się aktualizację wersji biblioteki libssh.
Szczegóły znajdują się także w [ZBX-21337](https://support.zabbix.com/browse/ZBX-21337).

[comment]: # ({/aa786b9a-8c5cdd23})

[comment]: # ({ce3da609-0c2fc2b9})
#### Kontrole ODBC

-   Sterownika MySQL unixODBC nie należy używać z serwerem Zabbix ani proxy Zabbix skompilowanymi z biblioteką łącznika MariaDB i odwrotnie; jeśli to możliwe, lepiej również unikać używania tego samego łącznika co sterownika ze względu na [błąd upstream](https://bugs.mysql.com/bug.php?id=73709).
Zalecana konfiguracja:

    łącznik PostgreSQL, SQLite lub Oracle → sterownik MariaDB lub MySQL unixODBC<br>łącznik MariaDB → sterownik MariaDB unixODBC<br>łącznik MySQL → sterownik MySQL unixODBC

    Więcej informacji oraz dostępne obejścia można znaleźć w [ZBX-7665](https://support.zabbix.com/browse/ZBX-7665).

-   Dane XML pobierane z Microsoft SQL Server mogą być w różny sposób obcinane w systemach Linux i UNIX.

-   Zaobserwowano, że używanie kontroli ODBC do monitorowania baz danych Oracle z wykorzystaniem różnych wersji Oracle Instant Client dla systemu Linux powoduje awarię serwera Zabbix.<br> 
Zobacz także: [ZBX-18402](https://support.zabbix.com/browse/ZBX-18402), [ZBX-20803](https://support.zabbix.com/browse/ZBX-20803).

-   Jeśli używasz sterownika FreeTDS UnixODBC, przed zapytaniem SQL należy dodać instrukcję 'SET NOCOUNT ON' (na przykład ````SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....````).
W przeciwnym razie pozycja monitorująca bazę danych w Zabbix nie będzie w stanie pobrać informacji i zwróci błąd 
"SQL query returned empty result".<br>
Więcej informacji można znaleźć w [ZBX-19917](https://support.zabbix.com/browse/ZBX-19917).

[comment]: # ({/ce3da609-0c2fc2b9})

[comment]: # ({fa40a989-1db730d3})
#### Nieprawidłowy parametr metody żądania w pozycjach

Parametr metody żądania, używany wyłącznie w kontrolach HTTP, może być nieprawidłowo ustawiony na „1”, czyli wartość inną niż domyślna dla wszystkich pozycji, w wyniku aktualizacji z wersji Zabbix starszej niż 4.0.
Szczegółowe informacje o tym, jak naprawić tę sytuację, można znaleźć w [ZBX-19308](https://support.zabbix.com/browse/ZBX-19308).

[comment]: # ({/fa40a989-1db730d3})

[comment]: # ({6b07e4f0-4713dff4})
#### Monitorowanie WWW i agent HTTP

Serwer Zabbix powoduje wyciek pamięci w niektórych dystrybucjach Linuksa z powodu [błędu upstream](https://bugzilla.redhat.com/show_bug.cgi?id=1057388), gdy opcja „SSL verify peer” jest włączona w scenariuszach WWW lub w agencie HTTP.
Więcej informacji oraz dostępne obejścia problemu można znaleźć w [ZBX-10486](https://support.zabbix.com/browse/ZBX-10486).

[comment]: # ({/6b07e4f0-4713dff4})

[comment]: # ({5aaa698c-9cd7efe1})
#### Proste testy

W wersjach **fping** wcześniejszych niż v3.10 występuje błąd powodujący nieprawidłową obsługę zduplikowanych pakietów odpowiedzi echo.
Może to powodować nieoczekiwane wyniki dla pozycji `icmpping`, `icmppingloss`, `icmppingsec`.
Zaleca się używanie najnowszej wersji **fping**.
Więcej szczegółów można znaleźć w [ZBX-11726](https://support.zabbix.com/browse/ZBX-11726).

[comment]: # ({/5aaa698c-9cd7efe1})

[comment]: # ({7d921240-49c461f1})
#### Błędy wykonywania fping w kontenerach rootless

Gdy kontenery działają w trybie rootless lub w środowisku z określonymi ograniczeniami, podczas wykonywania kontroli ICMP mogą wystąpić błędy związane z uruchamianiem fping, takie jak `fping: Operation not permitted` lub utrata wszystkich pakietów do wszystkich zasobów.

Aby rozwiązać ten problem, dodaj `--cap-add=net_raw` do poleceń "docker run" lub "podman run".

Dodatkowo uruchamianie fping w środowiskach bez uprawnień roota może wymagać modyfikacji sysctl, tj.: 

```bash
sudo sysctl -w "net.ipv4.ping_group_range=0 1995"
```

gdzie "1995" to GID użytkownika zabbix.
Więcej informacji można znaleźć w [ZBX-22833](https://support.zabbix.com/browse/ZBX-22833).

[comment]: # ({/7d921240-49c461f1})

[comment]: # ({4356fdf8-a4574c73})
#### Kontrole SNMP

Jeśli używany jest system operacyjny OpenBSD, błąd use-after-free w bibliotece Net-SNMP do wersji 5.7.3 może spowodować awarię serwera Zabbix, jeśli parametr SourceIP jest ustawiony w pliku konfiguracyjnym serwera Zabbix.
Jako obejście problemu nie należy ustawiać parametru SourceIP.
Ten sam problem dotyczy również systemu Linux, ale nie powoduje zatrzymania pracy serwera Zabbix.
Lokalna poprawka dla pakietu net-snmp w OpenBSD została zastosowana i zostanie wydana wraz z OpenBSD 6.3.

[comment]: # ({/4356fdf8-a4574c73})

[comment]: # ({4cdd7794-d699f9d6})
#### Skoki danych SNMP

Zaobserwowano skoki danych SNMP, które mogą być związane z pewnymi czynnikami fizycznymi, takimi jak skoki napięcia w sieci elektrycznej.
Więcej szczegółów znajduje się w [ZBX-14318](https://support.zabbix.com/browse/ZBX-14318).

[comment]: # ({/4cdd7794-d699f9d6})

[comment]: # ({219609d4-7aeb682d})
#### Pułapki SNMP

Pakiet "net-snmp-perl", wymagany do obsługi pułapek SNMP, został usunięty w RHEL 8.0-8.2; ponownie dodany w RHEL 8.3.

Jeśli więc używasz RHEL 8.0-8.2, najlepszym rozwiązaniem jest aktualizacja do RHEL 8.3.

Aby uzyskać więcej informacji, zobacz także [ZBX-17192](https://support.zabbix.com/browse/ZBX-17192).

[comment]: # ({/219609d4-7aeb682d})

[comment]: # ({9a52cca5-f46cb486})
#### Awaria procesu alerter w RHEL 7

W RHEL 7 odnotowano przypadki awarii procesu alerter serwera Zabbix.
Szczegółowe informacje znajdują się w [ZBX-10461](https://support.zabbix.com/browse/ZBX-10461).

[comment]: # ({/9a52cca5-f46cb486})

[comment]: # ({e54095e6-e9907d15})
#### Aktualizacja Zabbix agent 2 (6.0.5 lub starszy)

Podczas aktualizacji Zabbix agent 2 (wersja 6.0.5 lub starsza) z pakietów może wystąpić błąd konfliktu plików związany z wtyczkami.
Aby naprawić ten błąd, wykonaj kopię zapasową konfiguracji agent 2 (jeśli to konieczne), odinstaluj agent 2 i zainstaluj go ponownie.

W systemach opartych na RHEL uruchom:

```bash
dnf remove zabbix-agent2
dnf install zabbix-agent2
```

W systemach opartych na Debian uruchom:

```bash
apt remove zabbix-agent2
apt install zabbix-agent2
```

Aby uzyskać więcej informacji, zobacz [ZBX-23250](https://support.zabbix.com/browse/ZBX-23250).

[comment]: # ({/e54095e6-e9907d15})

[comment]: # ({70349327-6e1fb8fe})
#### Przełączanie ustawień regionalnych frontend

Zaobserwowano, że ustawienia regionalne frontend mogą zmieniać się bez wyraźnej logiki, tzn. niektóre strony (lub części stron) są wyświetlane w jednym języku, podczas gdy inne strony (lub części stron) w innym języku.
Zwykle problem może wystąpić, gdy jest kilku użytkowników, z których część używa jednych ustawień regionalnych, a pozostali innych.

Znanym obejściem tego problemu jest wyłączenie wielowątkowości w PHP i Apache.

Problem jest związany ze sposobem działania ustawiania locale [w PHP](https://www.php.net/manual/en/function.setlocale): informacje o locale są utrzymywane na poziomie procesu, a nie wątku.
Dlatego w środowisku wielowątkowym, gdy kilka projektów jest uruchamianych przez ten sam proces Apache, możliwe jest, że locale zostanie zmienione w innym wątku, co wpływa na sposób przetwarzania danych w wątku Zabbix.

Więcej informacji można znaleźć w powiązanych zgłoszeniach problemów:

-   [ZBX-10911](https://support.zabbix.com/browse/ZBX-10911) (Problem z przełączaniem ustawień regionalnych frontend)
-   [ZBX-16297](https://support.zabbix.com/browse/ZBX-16297) (Problem z przetwarzaniem liczb na wykresach przy użyciu funkcji `bcdiv` z zestawu funkcji BC Math)

[comment]: # ({/70349327-6e1fb8fe})

[comment]: # ({7925147c-4f3b73ce})
#### Wykresy

##### Problemy z wykresami (klasycznymi)

Jeśli napotkasz problemy z klasycznymi wykresami, zaleca się aktualizację biblioteki GD (libgd) do wersji 2.3.3-13 lub nowszej oraz PHP do wersji 8.0.19, 8.1.33, 8.2.29, 8.3.25, 8.4.12 lub nowszej.

##### Czas letni

Zmiany związane z czasem letnim (DST) powodują nieprawidłowości podczas wyświetlania etykiet osi X (duplikacja dat, brak dat itp.).

##### Agregacja sumy

W przypadku użycia [agregacji sumy](/manual/config/visualization/graphs/aggregate#configuration) na wykresie dla okresu krótszego niż jedna godzina, wykresy wyświetlają nieprawidłowe (pomnożone) wartości, gdy dane pochodzą z trendów.

##### Nakładanie się tekstu

W przypadku niektórych języków frontendu (np. japońskiego) lokalne czcionki mogą powodować nakładanie się tekstu w legendzie wykresu.
Aby tego uniknąć, użyj PHP GD extension w wersji 2.3.0 (lub nowszej).

[comment]: # ({/7925147c-4f3b73ce})

[comment]: # ({d77e6a97-357fdb5b})
#### Monitorowanie plików dziennika

Pozycje `log[]` i `logrt[]` wielokrotnie odczytują ponownie plik dziennika od początku, jeśli system plików jest zapełniony w 100% i do pliku dziennika są dopisywane nowe dane (więcej informacji można znaleźć w [ZBX-10884](https://support.zabbix.com/browse/ZBX-10884)).

[comment]: # ({/d77e6a97-357fdb5b})

[comment]: # ({726d79e5-82ff58c2})
#### Wolne zapytania MySQL

Serwer Zabbix generuje wolne zapytania `SELECT` w przypadku nieistniejących wartości dla pozycji.
Ten [problem](https://bugs.mysql.com/bug.php?id=74602) występuje w wersjach MySQL 5.6/5.7 (szersze omówienie znajduje się w [ZBX-10652](https://support.zabbix.com/browse/ZBX-10652)) i w określonych przypadkach może również występować w nowszych wersjach MySQL.
Obejściem tego problemu jest wyłączenie optymalizatora [`index_condition_pushdown`](https://dev.mysql.com/doc/refman/8.0/en/switchable-optimizations.html#optflag_index-condition-pushdown) lub [`prefer_ordering_index`](https://dev.mysql.com/doc/refman/8.0/en/switchable-optimizations.html#optflag_prefer-ordering-index) w MySQL.
Należy jednak pamiętać, że to obejście może nie rozwiązać wszystkich problemów związanych z wolnymi zapytaniami.

[comment]: # ({/726d79e5-82ff58c2})

[comment]: # ({4271402d-7ed39efb})
#### Wolna synchronizacja konfiguracji z Oracle

Synchronizacja konfiguracji może być wolna w instalacjach Zabbix z bazą danych Oracle, które mają dużą liczbę pozycji i kroków przetwarzania wstępnego pozycji.
Jest to spowodowane szybkością silnika bazy danych Oracle podczas przetwarzania pól typu *nclob*.

Aby poprawić wydajność, można przekonwertować typy pól z *nclob* na *nvarchar2*, ręcznie stosując poprawkę bazy danych [items_nvarchar_prepare.sql](/../assets/en/manual/installation/items_nvarchar_prepare.sql).
Należy pamiętać, że ta konwersja zmniejszy maksymalny limit rozmiaru pola z 65535 bajtów do 4000 bajtów dla parametrów przetwarzania wstępnego pozycji oraz parametrów pozycji, takich jak *Description*, pole pozycji Script *Script*, pola pozycji HTTP agent *Request body* i *Headers*, pole pozycji Database monitor *SQL query*.
Zapytania służące do określenia nazw szablonów, które należy usunąć przed zastosowaniem poprawki, są podane w poprawce jako komentarz.
Alternatywnie, jeśli ustawiono MAX_STRING_SIZE, można zmienić *nvarchar2(4000)* na *nvarchar2(32767)* w zapytaniach poprawki, aby ustawić limit rozmiaru pola na 32767 bajtów.

Szczegółowe omówienie znajduje się w [ZBX-22363](https://support.zabbix.com/browse/ZBX-22363).

[comment]: # ({/4271402d-7ed39efb})

[comment]: # ({7b21750b-e6d094e6})
#### Trwałe ustawienia filtra z linków

Podczas otwierania linku do strony frontend Zabbix zawierającej ustawienia filtra, w tym selektor czasu, filtr jest automatycznie zapisywany w bazie danych dla użytkownika, zastępując wcześniej zapisane ustawienia filtra i/lub selektora czasu dla tej strony.
Te ustawienia pozostają aktywne, dopóki użytkownik nie zaktualizuje ich ręcznie lub nie zresetuje.

[comment]: # ({/7b21750b-e6d094e6})

[comment]: # ({7e8483c4-17c4463f})
#### Problem z adresem IPv6 w pułapkach SNMPv3

Z powodu błędu net-snmp adres IPv6 może nie być poprawnie wyświetlany podczas używania SNMPv3 w pułapkach SNMP.
Więcej szczegółów oraz możliwe obejście problemu można znaleźć w [ZBX-14541](https://support.zabbix.com/browse/ZBX-14541).

[comment]: # ({/7e8483c4-17c4463f})

[comment]: # ({ca8e0df9-d77627ce})
#### Przycięty długi adres IPv6 w informacji o nieudanym logowaniu

Komunikat o nieudanej próbie logowania wyświetli tylko pierwsze 39 znaków zapisanego adresu IP, ponieważ jest to limit znaków w polu bazy danych.
Oznacza to, że adresy IPv6 dłuższe niż 39 znaków będą wyświetlane niekompletnie.

[comment]: # ({/ca8e0df9-d77627ce})

[comment]: # ({e11e57ad-57420738})
#### Kontrole Zabbix agent w systemie Windows

Nieistniejące wpisy DNS w parametrze `Server` pliku konfiguracyjnego Zabbix agent (zabbix\_agentd.conf) mogą wydłużyć czas odpowiedzi Zabbix agent w systemie Windows.
Dzieje się tak, ponieważ demon buforowania DNS systemu Windows nie buforuje odpowiedzi negatywnych dla adresów IPv4.
Jednak w przypadku adresów IPv6 odpowiedzi negatywne są buforowane, więc możliwym obejściem tego problemu jest wyłączenie IPv4 na hoście.

[comment]: # ({/e11e57ad-57420738})

[comment]: # ({a4766858-40001075})
#### Eksport/import YAML

Istnieją pewne znane problemy z [eksportem/importem](/manual/xml_export_import):

-   Komunikaty o błędach nie podlegają tłumaczeniu;
-   Prawidłowy JSON z rozszerzeniem pliku .yaml czasami nie może zostać zaimportowany;
-   Daty czytelne dla człowieka bez cudzysłowów są automatycznie konwertowane na znaczniki czasu Unix.

[comment]: # ({/a4766858-40001075})

[comment]: # ({d08dcd7b-fcbf4bce})
#### Kreator konfiguracji na SUSE z NGINX i php-fpm

Kreator konfiguracji frontendu nie może zapisać pliku konfiguracyjnego na SUSE z NGINX + php-fpm.
Jest to spowodowane ustawieniem w jednostce /usr/lib/systemd/system/php-fpm.service, które uniemożliwia Zabbixowi zapis do /etc. (wprowadzone w [PHP 7.4](https://bugs.php.net/bug.php?id=72510)).

Dostępne są dwie opcje obejścia problemu:

-   Ustaw opcję [ProtectSystem](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectSystem=) na 'true' zamiast 'full' w jednostce systemd php-fpm.
-   Zapisz ręcznie plik /etc/zabbix/web/zabbix.conf.php.

[comment]: # ({/d08dcd7b-fcbf4bce})

[comment]: # ({48a90962-b776ce1f})
#### Przekazywanie nagłówka Authorization

W niektórych przypadkach Apache lub NGINX mogą uniemożliwiać dotarcie nagłówka Authorization w żądaniach API do Zabbixa.
Może to powodować problemy z uwierzytelnianiem podczas korzystania z Zabbix API lub usług single sign-on (SSO), takich jak SAML z Okta.

Aby to naprawić, zaktualizuj konfigurację swojego serwera WWW.

W przypadku **Apache**, jeśli używasz go jako reverse proxy (konfiguracja non-CGI), dodaj następującą dyrektywę do `/etc/httpd/conf/httpd.conf` (w systemach opartych na RHEL) lub `/etc/apache2/apache2.conf` (w Debianie/Ubuntu):

```ini
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
```

Jeśli Apache bezpośrednio wykonuje skrypty do obsługi żądań (np. przy użyciu mod\_cgi), dodaj zamiast tego następującą dyrektywę:

```ini
CGIPassAuth On
```

Natomiast **NGINX** obsługuje nagłówek Authorization automatycznie.
Jeśli jednak NGINX działa jako reverse proxy, możesz jawnie przekazać nagłówek Authorization, dodając następujące dyrektywy do `/etc/nginx/nginx.conf` (dla lokalizacji frontend Zabbixa):

```ini
...
location / {
...
    proxy_set_header Authorization $http_authorization;
    proxy_pass http://backend_server;
...
}
```

Po zaktualizowaniu konfiguracji uruchom ponownie swój serwer WWW.

Więcej informacji znajdziesz tutaj:

-   [ZBX-22952](https://support.zabbix.com/browse/ZBX-22952)
-   [Apache 2.4 + PHP-FPM and Authorization headers](https://stackoverflow.com/questions/17018586/apache-2-4-php-fpm-and-authorization-headers)
-   dyrektywy [SetEnvIfNoCase](https://httpd.apache.org/docs/2.4/mod/mod_setenvif.html#setenvifnocase) i [CGIPassAuth](https://httpd.apache.org/docs/2.4/mod/core.html#CGIPassAuth)
-   [NGINX Reverse Proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/)

[comment]: # ({/48a90962-b776ce1f})

[comment]: # ({862e7b88-8009b04b})
#### Chromium dla usługi web Zabbix w Ubuntu 20

Chociaż w większości przypadków usługa web Zabbix może działać z Chromium, w Ubuntu 20.04 użycie Chromium powoduje następujący błąd:

```default
Cannot fetch data: chrome failed to start:cmd_run.go:994:
WARNING: cannot create user data directory: cannot create 
"/var/lib/zabbix/snap/chromium/1564": mkdir /var/lib/zabbix: permission denied
Sorry, home directories outside of /home are not currently supported. See https://forum.snapcraft.io/t/11209 for details.
```

Ten błąd występuje, ponieważ `/var/lib/zabbix` jest używany jako katalog domowy użytkownika „zabbix”.

[comment]: # ({/862e7b88-8009b04b})

[comment]: # ({d669982d-1f99c5d8})
#### Niestandardowe kody błędów MySQL

Gdy Zabbix wykryje, że baza danych backend jest niedostępna, wysyła powiadomienie i nadal próbuje się połączyć.
Dla niektórych silników baz danych rozpoznawane są określone kody błędów.
W MySQL do rozpoznawanych kodów błędów należą:

-   CR\_CONN\_HOST\_ERROR
-   CR\_SERVER\_GONE\_ERROR
-   CR\_CONNECTION\_ERROR
-   CR\_SERVER\_LOST
-   CR\_UNKNOWN\_HOST
-   ER\_SERVER\_SHUTDOWN
-   ER\_ACCESS\_DENIED\_ERROR
-   ER\_ILLEGAL\_GRANT\_FOR\_TABLE
-   ER\_TABLEACCESS\_DENIED\_ERROR
-   ER\_UNKNOWN\_ERROR

Dodatkowo podczas używania Zabbix z instalacją MySQL na platformie Azure w logach Zabbix może pojawić się ogólny komunikat o błędzie *\[9002\] Some errors occurred*.
Ten komunikat jest wysyłany przez bazę danych do serwera lub proxy Zabbix.
Aby ustalić przyczynę błędu, sprawdź logi Azure.

[comment]: # ({/d669982d-1f99c5d8})

[comment]: # ({1ecb446e-eb422070})
#### Nieprawidłowe wyrażenia regularne po przełączeniu na PCRE2

W Zabbix 6.0 dodano obsługę PCRE2.
Mimo że PCRE jest nadal obsługiwane, pakiety instalacyjne Zabbix dla RHEL 7 i nowszych, SLES (wszystkie wersje), Debian 9 i nowszych, Ubuntu 16.04 i nowszych zostały zaktualizowane tak, aby używać PCRE2.
Chociaż zmiana na PCRE2 przynosi wiele korzyści, może spowodować, że niektóre istniejące wzorce regexp PCRE staną się nieprawidłowe lub będą działać inaczej.
W szczególności dotyczy to wzorca *\^[\\w-\\.]*.
Aby ponownie uczynić to wyrażenie regularne prawidłowym bez wpływu na jego semantykę, zmień wyrażenie na *\^[-\\w\\.]* .
Dzieje się tak dlatego, że PCRE2 traktuje znak myślnika jako separator, tworząc zakres wewnątrz klasy znaków.

[comment]: # ({/1ecb446e-eb422070})

[comment]: # ({17e0a154-093b78e2})
#### Błąd widżetu Geomap

Mapy w widżecie Geomap mogą nie ładować się poprawnie, jeśli dokonano aktualizacji ze starszej wersji Zabbix z NGINX i nie przełączono się na nowy plik konfiguracji NGINX podczas aktualizacji.

Aby rozwiązać problem, można odrzucić stary plik konfiguracyjny, użyć pliku konfiguracyjnego z pakietu bieżącej wersji i ponownie go skonfigurować zgodnie z opisem w [instrukcji pobierania](https://www.zabbix.com/download?zabbix=6.0&os_distribution=red_hat_enterprise_linux&os_version=8&db=mysql&ws=nginx) w sekcji *e. Configure PHP for Zabbix frontend*.

Alternatywnie można ręcznie edytować istniejący plik konfiguracji NGINX (zwykle */etc/zabbix/nginx.conf*).
W tym celu otwórz plik i znajdź następujący blok:

```ini
location ~ /(api\/|conf[^\.]|include|locale|vendor) {
        deny            all;
        return          404;
}
```

Następnie zastąp ten blok następującym:

```ini
location ~ /(api\/|conf[^\.]|include|locale) {
        deny            all;
        return          404;
}

location /vendor {
        deny            all;
        return          404;
}
```

[comment]: # ({/17e0a154-093b78e2})

[comment]: # ({f73f4f1f-4654fb6f})
#### Preprocessing — global variables są niebezpieczne

Preprocessing JavaScript jest wykonywany dla każdego żądania, ale przypisania do niezadeklarowanych identyfikatorów (na przykład `secret = value`) tworzą niejawne zmienne globalne, które mogą przetrwać poza bieżącym wykonaniem.
Przechowywanie danych wrażliwych (tokenów, haseł itp.) w niejawnych zmiennych globalnych zwiększa ryzyko przypadkowego ujawnienia lub ponownego użycia przez kolejne uruchomienia preprocessing albo inne integracje wykonywane w tym samym środowisku.

Nie polegaj na niejawnych zmiennych globalnych.
Zawsze deklaruj zmienne za pomocą `var` lub `const` i unikaj dołączania sekretów do obiektów globalnych (na przykład `globalThis` lub `window`).
Nie ma obsługiwanego sposobu na nadpisanie wbudowanych obiektów globalnych z poziomu preprocessing.

Bezpieczny przykład:

```javascript
var apiToken = payload.token;
var count = 1;
return JSON.stringify({ token: apiToken, calls: count });
```

[comment]: # ({/f73f4f1f-4654fb6f})

[comment]: # ({3a50967e-d2d024db})
#### Awaria serwera z TimescaleDB po aktualizacji z 7.0

Aktualizacja do Zabbix 7.0.1 (lub nowszej) z Zabbix 7.0.0 z TimescaleDB powoduje awarię serwera.
Problem ten jest spowodowany obejściem problemu z zadaniem kompresji w tabeli auditlog w Zabbix 7.0, które nieodwracalnie zmieniło politykę kompresji tabeli auditlog.

Aby naprawić problem, należy ręcznie przebudować tabelę auditlog.
Błędną tabelę auditlog można wykryć za pomocą tego zapytania:

```default
SELECT config FROM timescaledb_information.jobs WHERE application_name LIKE 'Compression%' AND hypertable_schema='public' AND hypertable_name='auditlog';.
```

Jeśli zwróci obiekt JSON zawierający właściwość `compress_after` (na przykład {"hypertable_id": 14, "compress_after": 612000}), należy przebudować tabelę.

:::noteimportant
Upewnij się, że serwer Zabbix ma co najmniej wersję 7.0.1rc2 (lub nowszą); w przeciwnym razie ponownie ustawi nieprawidłową politykę kompresji.
Dodatkowo zatrzymaj serwer Zabbix przed uruchomieniem skryptu i potwierdź, że `auditlog` jest własnością użytkownika *zabbix*.
:::

Najprostszym sposobem przebudowy tabeli auditlog jest:

```sql
CREATE TABLE auditlog_tmp (
	LIKE auditlog INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES
);

SELECT create_hypertable('auditlog_tmp', 'auditid', chunk_time_interval => 604800,
		time_partitioning_func => 'cuid_timestamp', migrate_data => true, if_not_exists => true);

WITH moved_rows AS (
	DELETE FROM auditlog
	RETURNING *
)
INSERT INTO auditlog_tmp
SELECT * FROM moved_rows;

DROP TABLE auditlog;
ALTER TABLE auditlog_tmp RENAME TO auditlog;
```

Zobacz także [dokumentację TimescaleDB](https://docs.timescale.com/self-hosted/latest/migration/same-db/) dotyczącą bardziej zoptymalizowanych sposobów migracji danych.

:::noteclassic
Ponieważ znacznik czasu wymagany do partycjonowania jest pobierany z pola `auditid` za pomocą niestandardowej funkcji, procedury pomocnicze używane do migracji danych z timescaledb-extras nie będą działać.
:::

[comment]: # ({/3a50967e-d2d024db})

[comment]: # ({3f0c39a4-0049c3e1})
#### Błąd przywracania bazy danych z PostgreSQL/TimescaleDB po aktualizacji z 7.0.0-7.0.4

Użycie [`pg_restore`](https://www.postgresql.org/docs/current/app-pgrestore.html) do przywrócenia kopii zapasowej PostgreSQL lub TimescaleDB utworzonej w Zabbix 7.0.0-7.0.4 spowoduje błąd braku funkcji `base36_decode`, przez co przywracanie zakończy się niepowodzeniem:

```sql
ERROR:  function base36_decode(text) does not exist
LINE 1: CAST(base36_decode(substring(cuid FROM 2 FOR 8))/1000 AS int...
             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
```

Ten błąd występuje podczas przywracania kopii zapasowej utworzonej za pomocą [`pg_dump`](https://www.postgresql.org/docs/current/app-pgdump.html).

Aby rozwiązać ten problem, należy zastąpić funkcję `cuid_timestamp` w bazie danych Zabbix **przed** utworzeniem kopii zapasowej (zaleca się zatrzymanie PostgreSQL/TimescaleDB przed uruchomieniem skryptu):

```sql
CREATE OR REPLACE FUNCTION cuid_timestamp(cuid varchar(25)) RETURNS integer AS $$
DECLARE
    base36 varchar;
    a char[];
    ret bigint;
    i int;
    val int;
    chars varchar;
BEGIN
    base36 := substring(cuid FROM 2 FOR 8);

    chars := '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

    FOR i IN REVERSE char_length(base36)..1 LOOP
        a := a || substring(upper(base36) FROM i FOR 1)::char;
    END LOOP;
    i := 0;
    ret := 0;
    WHILE i < (array_length(a, 1)) LOOP
        val := position(a[i + 1] IN chars) - 1;
        ret := ret + (val * (36 ^ i));
        i := i + 1;
    END LOOP;

    RETURN CAST(ret/1000 AS integer);
END;
$$ LANGUAGE 'plpgsql' IMMUTABLE;
DROP FUNCTION IF EXISTS base36_decode(character varying);
```

Zobacz także [ZBX-24955](https://support.zabbix.com/browse/ZBX-24955) (dodatkowe informacje o błędzie) oraz [dokumentację TimescaleDB](https://docs.timescale.com/self-hosted/latest/backup-and-restore/) (dodatkowe opcje tworzenia i przywracania kopii zapasowych).

[comment]: # ({/3f0c39a4-0049c3e1})

[comment]: # ({3cc25c44-9701964f})
#### Grupy procesorów w systemie Windows {#win-proc-groups}

Dokumentacja Microsoftu stwierdza, że systemy z mniej niż 64 logicznymi procesorami zawsze mają jedną grupę procesorów, Group 0.
Jednak użytkownicy Zabbixa zgłosili rzadki błąd [ZBX-20260](https://support.zabbix.com/browse/ZBX-20260), w którym na systemach z 64 lub mniejszą liczbą logicznych procesorów występowały dwie grupy procesorów.
W rezultacie liczniki wydajności "\Processor(n)" były dostępne tylko dla jednej z dwóch grup procesorów.
Rzeczywista przyczyna źródłowa tego błędu nie jest znana.
Podobny przypadek opisano jednak na [stackoverflow.com](https://stackoverflow.com/questions/28098082/unable-to-use-more-than-one-processor-group-for-my-threads-in-a-c-sharp-app), a przyczyna źródłowa leżała tam we współdziałaniu BIOS-u i systemu Windows.

[comment]: # ({/3cc25c44-9701964f})

[comment]: # ({b8259264-e9a9a589})
#### Ograniczenia filtrowania z kolacjami utf8mb4

Filtry (np. w *Zbieranie danych* > [*Konserwacja*](/manual/web_interface/frontend_sections/data_collection/maintenance#using-filter)) mogą nie działać poprawnie po zastosowaniu do encji zawierających niektóre znaki Unicode (np. ȼ, ɇ).
Problem ten wynika ze sposobu, w jaki domyślna kolacja utf8mb4\_bin dla baz danych MySQL lub MariaDB obsługuje sortowanie i porównywanie znaków Unicode.

Aby obejść to ograniczenie, użytkownicy mogą zmienić kolację kolumn bazy danych na alternatywy, takie jak utf8mb4\_0900\_bin, utf8mb4\_0900\_ai\_ci lub utf8mb4\_unicode\_520\_ci.
Należy jednak pamiętać, że zmiana kolacji może powodować nieoczekiwane zachowanie w obsłudze pustych spacji, a także w sortowaniu i filtrowaniu innych znaków.

Więcej informacji o zmianie kolacji można znaleźć w [dokumentacji MySQL](https://dev.mysql.com/doc/refman/8.4/en/alter-table.html#alter-table-character-set) lub [dokumentacji MariaDB](https://mariadb.com/kb/en/alter-database/).
Szczegółowe informacje o różnicach między kolacjami znajdują się w sekcji [Unicode Character Sets](https://dev.mysql.com/doc/refman/8.4/en/charset-unicode-sets.html) w dokumentacji MySQL.

[comment]: # ({/b8259264-e9a9a589})

[comment]: # ({ef04ad04-6555f84a})
#### Nieprawidłowe informacje z zagnieżdżonych grup hostów na mapach

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

-   Etykieta grupy hostów wyświetla podsumowanie problemu, nie uwzględniając wszystkich hostów w zagnieżdżonych grupach hostów;
-   Widok "Host group elements" nie wyświetla osobnego elementu mapy dla każdego hosta w zagnieżdżonych grupach hostów;
-   Etykieta mapy wyświetla podsumowanie wszystkich problemów, nie uwzględniając tych z zagnieżdżonych grup hostów.

[comment]: # ({/ef04ad04-6555f84a})

[comment]: # ({6be27fed-bc1758f9})
#### Uszkodzone nadpisania reguł LLD w 7.0.7

W wersji 7.0.7 serwer Zabbix ulega awarii podczas przetwarzania reguły wykrywania niskiego poziomu [nadpisań](/manual/discovery/low_level_discovery#override).
Obejściem problemu jest wyłączenie reguł LLD zawierających nadpisania.
Problem został naprawiony w Zabbix 7.0.8rc2.

[comment]: # ({/6be27fed-bc1758f9})

[comment]: # ({40c5a82b-fd33c026})
#### Problem z wydajnością menedżera przetwarzania wstępnego w Zabbix 7.0.14

W wersji 7.0.14 menedżer [przetwarzania wstępnego](/manual/config/items/preprocessing) Zabbix może powodować wysokie użycie CPU, gdy dla jednej pozycji jednocześnie odbieranych jest wiele wartości (na przykład podczas monitorowania logów) i skonfigurowano więcej niż jednego pracownika przetwarzania wstępnego.
Jako tymczasowe obejście ustaw parametr konfiguracyjny `StartPreprocessors` [serwer](/manual/appendix/config/zabbix_server#startpreprocessors)/[proxy](/manual/appendix/config/zabbix_proxy#startpreprocessors) na `1`.
Problem został naprawiony w Zabbix 7.0.15.

[comment]: # ({/40c5a82b-fd33c026})

[comment]: # ({7fd01df7-0b2a4404})
#### Funkcje makr

Funkcje makr nie działają w parametrach pozycji typu script oraz w parametrach skryptu pozycji typu browser.
Naprawiono w Zabbix 7.0.7.

[comment]: # ({/7fd01df7-0b2a4404})

[comment]: # ({32be743a-08e30174})
#### Dostęp do elementów UI w MariaDB 10.5.1-10.5.9

Uzyskanie dostępu do frontend Zabbix z rolą inną niż Super Admin może spowodować wyświetlenie komunikatu: "Wystąpił błąd systemu.
Skontaktuj się z administratorem Zabbix.".
Problem ten dotyczy instalacji korzystających z [wersji MariaDB](/manual/installation/requirements#third-party-external-surrounding-software) od 10.5.1 do 10.5.9.

Aby uniknąć tego problemu, zaktualizuj MariaDB do wersji nowszej niż 10.5.9.
Więcej informacji można znaleźć w [ZBX-25746](https://support.zabbix.com/browse/ZBX-25746).

[comment]: # ({/32be743a-08e30174})

[comment]: # ({1b095acd-a2d54ba5})
#### Profilowanie nadmiernego użycia pamięci za pomocą tcmalloc

Jeśli podejrzewasz, że Twoja instalacja Zabbixa zużywa zbyt dużo pamięci, możesz użyć funkcji profilowania pamięci [tcmalloc](https://github.com/google/tcmalloc), aby zbadać zużycie pamięci przez serwer/proxy Zabbixa.

1\. Podczas instalacji Zabbixa [ze źródeł](/manual/installation/install#configure-the-sources) skonfiguruj dodatkowe flagi:

```bash
export CFLAGS="-std=gnu99 -g -O0"
```

Flaga `-std=gnu99` jest wymagana do budowy serwera Zabbixa, proxy Zabbixa lub agenta Zabbixa.
Flaga `-g` dodaje dodatkowe informacje debugowania, natomiast `-O0` wyłącza optymalizacje, które mogą zakłócać profilowanie tcmalloc.

2\. Ustaw następujące zmienne środowiskowe przed uruchomieniem serwera Zabbixa.
Zmienne te informują tcmalloc, jak śledzić i raportować użycie pamięci:

```bash
LD_PRELOAD="/usr/lib/aarch64-linux-gnu/libtcmalloc.so" \
HEAPPROFILE=./heap_profile \
HEAP_PROFILE_ALLOCATION_INTERVAL=0 \
HEAP_PROFILE_INUSE_INTERVAL=4294967296 \
HEAPPROFILESIGNAL=5 \
MALLOCSTATS=1 \
./sbin/zabbix_server -f -c /etc/zabbix/zabbix_server.conf
```

3\. Wyzwól zrzut profilu, wysyłając sygnał 5 do procesu docelowego.
Zastąp 1234 rzeczywistym identyfikatorem procesu (PID):

```bash
kill -5 1234
```

4\. Wyświetl wygenerowany profil:

```bash
pprof-symbolize -text ./sbin/zabbix_server ./heap_profile.0001.heap

Using local file ./sbin/zabbix_server.
Using local file ./heap_profile.0001.heap.
Total: 1078.1 MB
  1076.8  99.9%  99.9%   1076.8  99.9% zbx_malloc2
     1.0   0.1% 100.0%      1.0   0.1% __GI___strdup
     0.2   0.0% 100.0%      0.2   0.0% CRYPTO_zalloc@@OPENSSL_3.0.0
     0.1   0.0% 100.0%      0.1   0.0% OPENSSL_LH_insert@@OPENSSL_3.0.0
     0.0   0.0% 100.0%      0.0   0.0% zbx_realloc2
     0.0   0.0% 100.0%      0.1   0.0% PKCS7_decrypt@@OPENSSL_3.0.0
     0.0   0.0% 100.0%      0.0   0.0% find_best_tree_node
     0.0   0.0% 100.0%      0.0   0.0% CRYPTO_strndup@@OPENSSL_3.0.0
     ...
     0.0   0.0% 100.0%      0.0   0.0% preprocessing_flush_value
     0.0   0.0% 100.0%   1074.0  99.6% preprocessor_add_request
```

W tym przykładzie zbx\_malloc2 odpowiada za niemal wszystkie alokacje pamięci.

Zobacz także:

-   [ZBX-25050](https://support.zabbix.com/browse/ZBX-25050) oraz [ZBX-25584](https://support.zabbix.com/browse/ZBX-25584) — powiązane zgłoszenia problemów.
-   [GCC Option Summary](https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Option-Summary.html) — opcje kompilacji (`-std=gnu99`, `-g`, `-O0` itd.).
-   [Gperftools Heap Profiler](https://gperftools.github.io/gperftools/heapprofile.html) — dokumentacja zmiennych środowiskowych dla profilowania tcmalloc.

[comment]: # ({/1b095acd-a2d54ba5})

[comment]: # ({c40b2ad1-265a3af4})
#### MySQL 8.0 Group Replication w trybie multi-primary

Podczas korzystania z MySQL 8.0 Group Replication w trybie multi-primary może wystąpić błąd podczas zatwierdzania transakcji, podobny do poniższego:

```default
1531697:20250128:064734.697 query [txnlev:1] [update alerts set status=1,retries=0,error='' where alertid=154618;
1531697:20250128:064734.713 query [txnlev:1] [commit;]
1531697:20250128:064734.753 [Z3005] query failed: [3101] Plugin instructed the server to rollback the current transaction. [commit;]
```

Ten błąd wydaje się być wywoływany przez problemy z operacjami wycofywania transakcji związanymi z ograniczeniami kluczy obcych.

Zobacz także:

-   [ZBX-26060](https://support.zabbix.com/browse/ZBX-26060) — powiązany raport problemu.
-   [MySQL Bug #96758 "Rollbacks with Foreign Keys on single node"](https://bugs.mysql.com/bug.php?id=96758) — problem w projekcie upstream.

[comment]: # ({/c40b2ad1-265a3af4})
