On this page

8 Zināmās problēmas

Skatiet arī: Kompilēšanas problēmas.

Zināmās problēmas 7.0.20 versijā

Nav ieteicams veikt jaunināšanu uz šo versiju šādu iemeslu dēļ:

  • pēkšņs CPU noslodzes pieauguma problēmas gadījumā, ja izmantojat Zabbix aģents 2 MySQL spraudni (skatiet ZBX-27156)
  • grafiks Zabbix aktīvā aģenta vienumiem rāda brīdinājumu "Undefined array key" nenoteikta indeksa kļūdas dēļ (skatiet ZBX-27153)

Jaunināšana

SQL režīma iestatījums veiksmīgai jaunināšanai

MySQL/MariaDB iestatījumam sql_mode jābūt iestatītam režīmam "STRICT_TRANS_TABLES". Ja tas nav iestatīts, Zabbix datubāzes jaunināšana neizdosies (skatiet arī ZBX-19435).

Jaunināšana ar MariaDB 10.2.1 un vecākām versijām

Zabbix jaunināšana var neizdoties, ja datubāzes tabulas tika izveidotas ar MariaDB 10.2.1 un vecākām versijām, jo šajās versijās noklusējuma rindas formāts ir compact. To var novērst, mainot rindas formātu uz dynamic (skatiet arī ZBX-17690).

Veidnes

Veidnes saderība divu steku (IPv4/IPv6) vidēs

Divu steku vidēs (sistēmās, kas konfigurētas gan IPv4, gan IPv6 atbalstam) resursdators localhost parasti tiek atrisināts gan uz IPv4, gan uz IPv6 adresēm. Tā kā daudzas operētājsistēmas un DNS atrisinātāji bieži prioritizē IPv6 pār IPv4, Zabbix veidnes var nedarboties pareizi, ja uzraugāmais pakalpojums ir konfigurēts klausīties tikai uz IPv4.

Pakalpojumi, kas nav konfigurēti klausīties uz IPv6 adresēm, var kļūt nepieejami, izraisot uzraudzības kļūmes. Lietotāji var būt pareizi konfigurējuši piekļuvi IPv4, taču joprojām saskarties ar savienojamības problēmām IPv6 prioritizēšanas noklusējuma darbības dēļ.

Šādas situācijas risinājums ir nodrošināt, ka pakalpojumi (Nginx, Apache, PostgreSQL u. c.) ir konfigurēti klausīties gan IPv4, gan IPv6 adresēs, un ka Zabbix serverim/aģentam ir atļauta piekļuve arī caur IPv6. Turklāt Zabbix veidnēs un konfigurācijās izmantojiet localhost tieši 127.0.0.1 vietā, lai nodrošinātu saderību gan ar IPv4, gan IPv6.

Piemēram, uzraugot PostgreSQL ar PostgreSQL by Zabbix agent 2 veidni, var būt nepieciešams rediģēt pg_hba.conf failu, lai atļautu savienojumus lietotājam zbx_monitor. Ja divu steku vide prioritizē IPv6 (sistēma atrisina localhost uz ::1) un jūs konfigurējat localhost, bet pievienojat tikai IPv4 ierakstu (127.0.0.1/32), savienojums neizdosies, jo nav atbilstoša IPv6 ieraksta.

Tālāk redzamais pg_hba.conf faila piemērs nodrošina, ka lietotājs zbx_monitor var izveidot savienojumu ar jebkuru datubāzi no lokālās iekārtas, izmantojot gan IPv4, gan IPv6 adreses ar dažādām autentifikācijas metodēm:

# 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

Ja nepieciešams, konfigurējot PostgreSQL by Zabbix agent 2 veidnes makro savienojuma virknei, varat izmantot arī IPv4 adresi (127.0.0.1) tieši.

Nejauša EPEL Zabbix pakotņu instalēšana

Ja EPEL repozitorijs ir instalēts un iespējots, instalējot Zabbix pakotnes, oficiālo Zabbix pakotņu vietā var tikt instalētas EPEL versijas. Lai to novērstu:

1. Noņemiet visas no EPEL instalētās Zabbix pakotnes:

dnf remove zabbix-server-mysql

2. Izslēdziet Zabbix pakotnes no EPEL, pievienojot šādu rindu failam /etc/yum.repos.d/epel.repo:

[epel]
...
excludepkgs=zabbix*

3.\ Atkārtoti instalējiet oficiālo Zabbix serveris pakotni:

dnf install zabbix-server-mysql

Instalēšanas laikā oficiālo Zabbix pakotņu versijas virknē ir iekļauts vārds release (piemēram, 7.0.0-release1.el8), kas tās atšķir no EPEL pakotnēm.

Zabbix pakotnes RHEL sistēmām Red Hat UBI vidēs

Instalējot Zabbix no Red Hat Enterprise Linux pakotnēm Red Hat Universal Base Image vidēs, nodrošiniet piekļuvi nepieciešamajiem repozitorijiem un atkarībām. Zabbix pakotnes ir atkarīgas no libOpenIPMI.so un libOpenIPMIposix.so bibliotēkām, kuras netiek nodrošinātas nevienā pakotnē noklusējuma pakotņu pārvaldnieka repozitorijos, kas ir iespējoti UBI sistēmās, un tas izraisīs instalēšanas kļūmes.

libOpenIPMI.so un libOpenIPMIposix.so bibliotēkas ir pieejamas pakotnē OpenIPMI-libs, ko nodrošina repozitorijs redhat-#-for-<arch>-appstream-rpms. Piekļuve šim repozitorijam tiek pārvaldīta ar abonementiem, kas UBI vidēs tiek pārmantoti, pievienojot RHEL hosta repozitoriju konfigurācijas un noslēpumu direktorijus konteinera failu sistēmas nosaukumtelpai.

Papildu informāciju skatiet ZBX-24291.

Beidzies RHEL pakotņu parakstīšanas atslēgas derīguma termiņš

Veicot Zabbix jaunināšanu uz Red Hat Enterprise Linux vai tā atvasinājumiem, var rasties problēma ar beigušos parakstīšanas atslēgu pakotnēm Zabbix repozitorijā. Kad parakstīšanas atslēgas derīguma termiņš beidzas, mēģinājumi pārbaudīt pakotņu parakstus radīs kļūdu, kas norāda, ka sertifikāts vai atslēga vairs nav derīga. Piemēram:

error: Verifying a signature using certificate D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (Jul 2022) <[email protected]>):
  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

Lai novērstu šādas problēmas, manuāli pārinstalējiet jaunāko zabbix-release pakotni savai konkrētajai RHEL versijai (aizstājiet tālāk norādīto saiti ar pareizo no Zabbix repozitorija).

Piemēram, uz RHEL 9 izpildiet:

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

Pēc tam atjauniniet repozitorija informāciju:

dnf update

Papildinformāciju skatiet ZBX-24761.

Datubāzes TLS savienojums ar MariaDB

Datubāzes TLS savienojums netiek atbalstīts ar opciju 'verify_ca' DBTLSConnect parametram, ja tiek izmantota MariaDB.

Iespējamās strupceļa situācijas ar MySQL/MariaDB

Darbojoties augstas slodzes apstākļos un ja ir iesaistīts vairāk nekā viens LLD darbinieks, ir iespējams saskarties ar strupceļa situāciju, ko izraisa InnoDB kļūda, kas saistīta ar rindu bloķēšanas stratēģiju (skatiet upstream bug). Kļūda ir novērsta MySQL kopš 8.0.29 versijas, bet ne MariaDB. Papildinformāciju skatiet ZBX-21506.

Globālā notikumu korelācija

Notikumi var netikt korekti korelēti, ja laika intervāls starp pirmo un otro notikumu ir ļoti mazs, t.i., puse sekundes vai mazāk.

Skaitliska (float) datu tipa diapazons ar PostgreSQL 11 un vecākām versijām

PostgreSQL 11 un vecākas versijas atbalsta tikai peldošā komata vērtību diapazonu aptuveni no -1.34E-154 līdz 1.34E+154.

NetBSD 8.0 un jaunākas versijas

Dažādi Zabbix procesi var nejauši avarēt startēšanas laikā NetBSD 8.X un 9.X versijās. Tas notiek pārāk maza noklusējuma steka izmēra (4MB) dēļ, kas jāpalielina, izpildot:

ulimit -s 10240

Papildinformāciju skatiet saistītajā problēmas ziņojumā: ZBX-18275.

Regulāro izteiksmju ierobežojumi Zabbix aģents 2

Zabbix aģents 2 neatbalsta lookahead un lookbehind konstrukcijas regulārajās izteiksmēs standarta Go regexp bibliotēkas ierobežojumu dēļ.

IPMI pārbaudes

IPMI pārbaudes nedarbosies ar standarta OpenIPMI bibliotēkas pakotni Debian versijās pirms 9 (stretch) un Ubuntu versijās pirms 16.04 (xenial). Lai to novērstu, pārkompilējiet OpenIPMI bibliotēku ar iespējotu OpenSSL, kā aprakstīts ZBX-6139.

IPMI — neuzticami hosts var izraisīt OpenIPMI avāriju

OpenIPMI bibliotēkā, ko Zabbix izmanto IPMI datu aptaujai, ir kļūda, ko var aktivizēt ar īpaši sagatavotām atbildēm no neuzticamas ierīces.
Neuzticama IPMI ierīce var nosūtīt sagatavotus datus, kas izraisa OpenIPMI bibliotēkas avāriju, un tas savukārt var izraisīt Zabbix serveris procesu, kas veic IPMI aptauju, pārtraukšanu.

SSH pārbaudes

  • Dažas Linux distribūcijas, piemēram, Debian un Ubuntu, neatbalsta šifrētas privātās atslēgas (ar paroli), ja libssh2 bibliotēka ir instalēta no pakotnēm. Lūdzu, skatiet ZBX-4850, lai iegūtu sīkāku informāciju.
  • Izmantojot libssh 0.9.x dažās Linux distribūcijās ar OpenSSH 8, SSH pārbaudes reizēm var ziņot "Cannot read data from SSH server". To izraisa libssh problēma (detalizētāks ziņojums). Paredzams, ka kļūda ir novērsta stabilajā libssh 0.9.5 laidienā. Sīkāku informāciju skatiet arī ZBX-17756.
  • Caurules simbola "|" izmantošana SSH skriptā var izraisīt kļūdu "Cannot read data from SSH server". Šādā gadījumā ieteicams atjaunināt libssh bibliotēkas versiju. Sīkāku informāciju skatiet arī ZBX-21337.

ODBC pārbaudes

  • MySQL unixODBC draiveri nevajadzētu izmantot kopā ar Zabbix serveri vai Zabbix starpniekserveri, kas ir kompilēts pret MariaDB connector bibliotēku, un otrādi; ja iespējams, ieteicams arī izvairīties no tā paša connector izmantošanas kā draivera, jo pastāv augšupējā kļūda. Ieteicamā konfigurācija:

    PostgreSQL, SQLite vai Oracle connector → MariaDB vai MySQL unixODBC draiveris
    MariaDB connector → MariaDB unixODBC draiveris
    MySQL connector → MySQL unixODBC draiveris

    Plašāku informāciju un pieejamos risinājumus skatiet ZBX-7665.

  • No Microsoft SQL Server vaicātie XML dati Linux un UNIX sistēmās var tikt saīsināti dažādos veidos.

  • Ir novērots, ka ODBC pārbaužu izmantošana Oracle datubāzu uzraudzībai ar dažādām Oracle Instant Client versijām Linux vidē izraisa Zabbix serveris avāriju.
    Skatiet arī: ZBX-18402, ZBX-20803.

  • Ja izmantojat FreeTDS UnixODBC draiveri, SQL vaicājumam jāpievieno priekšā paziņojums 'SET NOCOUNT ON' (piemēram, SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....). Pretējā gadījumā Zabbix datubāzes monitoringa vienums nespēs izgūt informāciju un tiks parādīta kļūda "SQL query returned empty result".
    Plašāku informāciju skatiet ZBX-19917.

Nepareizs pieprasījuma metodes parametrs vienumos

Pieprasījuma metodes parametrs, kas tiek izmantots tikai HTTP pārbaudēs, pēc jaunināšanas no Zabbix versijas, kas ir vecāka par 4.0, visiem vienumiem var būt nepareizi iestatīts uz '1', kas ir nestandarta vērtība. Lai iegūtu informāciju par to, kā novērst šo situāciju, skatiet ZBX-19308.

Tīmekļa uzraudzība un HTTP aģents

Dažās Linux distribūcijās Zabbix serveris izraisa atmiņas noplūdi augšupplūsmas kļūdas dēļ, ja tīmekļa scenārijos vai HTTP aģentā ir iespējota opcija "SSL verify peer". Lūdzu, skatiet ZBX-10486, lai iegūtu vairāk informācijas un pieejamos risinājumus.

Vienkāršās pārbaudes

fping versijās, kas ir vecākas par v3.10, ir kļūda, kuras dēļ tiek nepareizi apstrādātas dublētas echo reply paketes. Tas var izraisīt negaidītus rezultātus icmpping, icmppingloss, icmppingsec vienumiem. Ieteicams izmantot jaunāko fping versiju. Lūdzu, skatiet ZBX-11726, lai iegūtu sīkāku informāciju.

Kļūdas ar fping izpildi rootless konteineros

Ja konteineri darbojas rootless režīmā vai vidē ar specifiskiem ierobežojumiem, veicot ICMP pārbaudes, var rasties ar fping izpildi saistītas kļūdas, piemēram, fping: Operation not permitted, vai arī var tikt zaudētas visas paketes uz visiem resursiem.

Lai novērstu šo problēmu, pievienojiet --cap-add=net_raw komandām "docker run" vai "podman run".

Papildus tam fping izpilde vidēs bez root tiesībām var prasīt sysctl modifikāciju, piemēram:

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

kur "1995" ir zabbix GID. Plašāku informāciju skatiet ZBX-22833.

SNMP pārbaudes

Ja tiek izmantota OpenBSD operētājsistēma, use-after-free kļūda Net-SNMP bibliotēkā līdz 5.7.3 versijai var izraisīt Zabbix serveris avāriju, ja Zabbix serveris konfigurācijas failā ir iestatīts parametrs SourceIP. Kā pagaidu risinājumu, lūdzu, neiestatiet parametru SourceIP. Tā pati problēma attiecas arī uz Linux, taču tā neizraisa Zabbix serveris darbības pārtraukšanu. Lokāls labojums net-snmp pakotnei OpenBSD sistēmā tika ieviests un tiks izlaists kopā ar OpenBSD 6.3.

SNMP datu pīķi

Ir novēroti SNMP datu pīķi, kas var būt saistīti ar noteiktiem fiziskiem faktoriem, piemēram, sprieguma lēcieniem elektrotīklā. Plašāku informāciju skatiet ZBX-14318.

SNMP trapi

Pakotne "net-snmp-perl", kas nepieciešama SNMP trapiem, ir noņemta RHEL 8.0-8.2; atkārtoti pievienota RHEL 8.3.

Tāpēc, ja izmantojat RHEL 8.0-8.2, labākais risinājums ir jaunināt uz RHEL 8.3.

Lūdzu, skatiet arī ZBX-17192, lai iegūtu vairāk informācijas.

Alerter procesa avārija RHEL 7

RHEL 7 vidē ir konstatēti Zabbix servera alerter procesa avārijas gadījumi. Lūdzu, skatiet ZBX-10461, lai iegūtu sīkāku informāciju.

Zabbix aģenta 2 jaunināšana (6.0.5 vai vecāka versija)

Jauninot Zabbix aģentu 2 (versiju 6.0.5 vai vecāku) no pakotnēm, var rasties ar spraudni saistīta failu konflikta kļūda. Lai novērstu kļūdu, izveidojiet sava aģenta 2 konfigurācijas dublējumkopiju (ja nepieciešams), atinstalējiet aģentu 2 un instalējiet to no jauna.

Sistēmās, kuru pamatā ir RHEL, izpildiet:

dnf remove zabbix-agent2
dnf install zabbix-agent2

Sistēmās, kuru pamatā ir Debian, izpildiet:

apt remove zabbix-agent2
apt install zabbix-agent2

Papildinformāciju skatiet ZBX-23250.

Lietotāja saskarnes lokalizāciju pārslēgšanās

Ir novērots, ka lietotāja saskarnes lokalizācijas var pārslēgties bez acīmredzamas loģikas, t. i., dažas lapas (vai lapu daļas) tiek attēlotas vienā valodā, kamēr citas lapas (vai lapu daļas) — citā valodā. Parasti problēma var parādīties, ja ir vairāki lietotāji, no kuriem daži izmanto vienu lokalizāciju, bet citi — citu.

Zināms pagaidu risinājums ir atspējot daudzpavedienu darbību PHP un Apache.

Problēma ir saistīta ar to, kā lokalizācijas iestatīšana darbojas in PHP: lokalizācijas informācija tiek uzturēta katram procesam, nevis katram pavedienam. Tāpēc daudzpavedienu vidē, ja vienā un tajā pašā Apache procesā darbojas vairāki projekti, ir iespējams, ka lokalizācija tiek mainīta citā pavedienā, un tas ietekmē to, kā dati tiek apstrādāti Zabbix pavedienā.

Plašāku informāciju skatiet saistītajos problēmu ziņojumos:

  • ZBX-10911 (Problēma ar lietotāja saskarnes lokalizāciju pārslēgšanos)
  • ZBX-16297 (Problēma ar skaitļu apstrādi grafikos, izmantojot BC Math funkciju bcdiv)

Grafiki

Grafiku (klasisko) problēmas

Ja saskaraties ar problēmām ar klasiskajiem grafikiem, ieteicams atjaunināt GD bibliotēku (libgd) uz versiju 2.3.3-13 vai jaunāku, un PHP uz versiju 8.0.19, 8.1.33, 8.2.29, 8.3.25, 8.4.12 vai jaunāku.

Vasaras laiks

Pārejas uz vasaras laiku (DST) izmaiņas izraisa neatbilstības X ass etiķešu attēlošanā (datumu dublēšanās, datuma trūkums u.c.).

Summas agregācija

Izmantojot summas agregāciju grafikā periodam, kas ir mazāks par vienu stundu, grafikos tiek attēlotas nepareizas (reizinātas) vērtības, ja dati nāk no trendiem.

Teksta pārklāšanās

Dažām lietotāja saskarne valodām (piemēram, japāņu) lokālie fonti var izraisīt teksta pārklāšanos grafika leģendā. Lai no tā izvairītos, izmantojiet PHP GD paplašinājuma versiju 2.3.0 (vai jaunāku).

Žurnālfaila uzraudzība

log[] un logrt[] vienumi atkārtoti pārlasa žurnālfailu no sākuma, ja failu sistēma ir 100% pilna un žurnālfails tiek papildināts (vairāk informācijas skatiet ZBX-10884).

Lēni MySQL vaicājumi

Zabbix serveris ģenerē lēnus SELECT vaicājumus gadījumos, kad vienumiem nepastāv vērtības. Šī problēma ir zināma MySQL 5.6/5.7 versijās (plašāku apspriedi skatiet ZBX-10652), un noteiktos gadījumos tā var rasties arī jaunākās MySQL versijās. Kā pagaidu risinājumu var atspējot MySQL optimizatoru index_condition_pushdown vai prefer_ordering_index. Tomēr ņemiet vērā, ka šis pagaidu risinājums var nenovērst visas ar lēniem vaicājumiem saistītās problēmas.

Lēna konfigurācijas sinhronizācija ar Oracle

Konfigurācijas sinhronizācija var būt lēna Zabbix instalācijās ar Oracle DB, kurās ir liels vienumu un vienumu pirmapstrādes soļu skaits. To izraisa Oracle datubāzes dzinēja lēnā nclob tipa lauku apstrāde.

Lai uzlabotu veiktspēju, varat pārvērst lauku tipus no nclob uz nvarchar2, manuāli piemērojot datubāzes ielāpu items_nvarchar_prepare.sql. Ņemiet vērā, ka šī konvertēšana samazinās maksimālo lauka lieluma ierobežojumu no 65535 baitiem līdz 4000 baitiem vienumu pirmapstrādes parametriem un vienumu parametriem, piemēram, Description, Script vienuma laukam Script, HTTP aģents vienuma laukiem Request body un Headers, Database monitor vienuma laukam SQL query. Vaicājumi, lai noteiktu veidņu nosaukumus, kas pirms ielāpa piemērošanas ir jādzēš, ir norādīti ielāpā kā komentārs. Alternatīvi, ja ir iestatīts MAX_STRING_SIZE, ielāpa vaicājumos varat mainīt nvarchar2(4000) uz nvarchar2(32767), lai iestatītu 32767 baitu lauka lieluma ierobežojumu.

Plašākai informācijai skatiet ZBX-22363.

Noturīgi filtra iestatījumi no saitēm

Atverot saiti uz Zabbix lietotāja saskarnes lapu, kurā ir filtra iestatījumi, tostarp laika atlasītājs, filtrs lietotājam automātiski tiek saglabāts datubāzē, aizstājot iepriekš saglabāto filtru un/vai šīs lapas laika atlasītāja iestatījumus. Šie iestatījumi paliek aktīvi, līdz lietotājs tos manuāli atjaunina vai atiestata.

IPv6 adreses problēma SNMPv3 slazdos

Net-SNMP kļūdas dēļ IPv6 adrese var netikt attēlota pareizi, izmantojot SNMPv3 SNMP slazdos. Plašāku informāciju un iespējamo apiešanas risinājumu skatiet ZBX-14541.

Saīsināta gara IPv6 IP adrese neveiksmīgas pieteikšanās informācijā

Ziņojumā par neveiksmīgu pieteikšanās mēģinājumu tiks parādītas tikai pirmās 39 saglabātās IP adreses rakstzīmes, jo tas ir rakstzīmju ierobežojums datubāzes laukā. Tas nozīmē, ka IPv6 IP adreses, kas ir garākas par 39 rakstzīmēm, tiks parādītas nepilnīgi.

Zabbix aģenta pārbaudes operētājsistēmā Windows

Nepastāvoši DNS ieraksti Zabbix aģenta konfigurācijas faila (zabbix_agentd.conf) parametrā Server var palielināt Zabbix aģenta atbildes laiku operētājsistēmā Windows. Tas notiek tāpēc, ka Windows DNS kešošanas dēmons nekešo negatīvās atbildes IPv4 adresēm. Tomēr IPv6 adresēm negatīvās atbildes tiek kešotas, tāpēc viens no iespējamiem risinājumiem ir atspējot IPv4 hostā.

YAML eksports/imports

Ir zināmas dažas problēmas ar YAML eksportu/importu:

  • Kļūdu ziņojumi nav tulkojami;
  • Derīgu JSON ar .yaml faila paplašinājumu dažkārt nevar importēt;
  • Cilvēkam lasāmi datumi bez pēdiņām tiek automātiski pārveidoti par Unix laikspiedoliem.

Iestatīšanas vednis SUSE vidē ar NGINX un php-fpm

Lietotāja saskarnes iestatīšanas vednis nevar saglabāt konfigurācijas failu SUSE vidē ar NGINX + php-fpm. To izraisa iestatījums vienībā /usr/lib/systemd/system/php-fpm.service, kas neļauj Zabbix rakstīt mapē /etc. (ieviests PHP 7.4).

Ir pieejamas divas apiešanas iespējas:

  • Iestatīt ProtectSystem opciju uz 'true', nevis 'full' php-fpm systemd vienībā.
  • Manuāli saglabāt failu /etc/zabbix/web/zabbix.conf.php.

Authorization galvenes pārsūtīšana

Dažos gadījumos Apache vai NGINX var neļaut Authorization galvenei API pieprasījumos sasniegt Zabbix. Tas var izraisīt autentifikācijas problēmas, izmantojot Zabbix API vai vienoto pierakstīšanos (SSO) pakalpojumus, piemēram, SAML ar Okta.

Lai to novērstu, atjauniniet sava tīmekļa servera konfigurāciju.

Apache gadījumā, ja to izmantojat kā reverso starpniekserveri (ne-CGI iestatījums), pievienojiet šādu direktīvu /etc/httpd/conf/httpd.conf (RHEL bāzētās sistēmās) vai /etc/apache2/apache2.conf (Debian/Ubuntu):

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

Ja Apache pieprasījumu apstrādei tieši izpilda skriptus (piem., izmantojot mod_cgi), tā vietā pievienojiet šādu direktīvu:

CGIPassAuth On

Savukārt NGINX Authorization galveni apstrādā automātiski. Tomēr, ja NGINX darbojas kā reversais starpniekserveris, jūs varat skaidri pārsūtīt Authorization galveni, pievienojot šādas direktīvas /etc/nginx/nginx.conf (jūsu Zabbix lietotāja saskarnei paredzētajai atrašanās vietai):

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

Pēc konfigurācijas atjaunināšanas restartējiet savu tīmekļa serveri.

Papildinformāciju skatiet:

Chromium Zabbix tīmekļa servisam uz Ubuntu 20

Lai gan vairumā gadījumu Zabbix tīmekļa serviss var darboties ar Chromium, Ubuntu 20.04 vidē Chromium izmantošana izraisa šādu kļūdu:

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.

Šī kļūda rodas tāpēc, ka /var/lib/zabbix tiek izmantots kā lietotāja 'zabbix' mājas direktorijs.

MySQL pielāgotie kļūdu kodi

Kad Zabbix konstatē, ka aizmugursistēmas datubāze nav pieejama, tas nosūta paziņojumu un turpina mēģināt izveidot savienojumu. Noteiktiem datubāzu dzinējiem tiek atpazīti specifiski kļūdu kodi. MySQL gadījumā šie atpazītie kļūdu kodi ietver:

  • 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

Turklāt, izmantojot Zabbix ar MySQL instalāciju Azure vidē, Zabbix žurnālos var parādīties vispārīgs kļūdas ziņojums [9002] Some errors occurred. Šo ziņojumu datubāze nosūta Zabbix serverim vai starpniekserverim. Lai noteiktu kļūdas cēloni, lūdzu, skatiet Azure žurnālus.

Nederīgas regulārās izteiksmes pēc pārslēgšanās uz PCRE2

Zabbix 6.0 versijā ir pievienots PCRE2 atbalsts. Lai gan PCRE joprojām tiek atbalstīts, Zabbix instalācijas pakotnes RHEL 7 un jaunākām versijām, SLES (visām versijām), Debian 9 un jaunākām versijām, Ubuntu 16.04 un jaunākām versijām ir atjauninātas, lai izmantotu PCRE2. Lai gan tas sniedz daudzas priekšrocības, pāreja uz PCRE2 var izraisīt to, ka noteikti esošie PCRE regexp šabloni kļūst nederīgi vai darbojas citādi. Jo īpaši tas attiecas uz šablonu \^[\w-\.]. Lai šo regexp atkal padarītu derīgu, neietekmējot semantiku, nomainiet izteiksmi uz \^[-\w\.] . Tas notiek tāpēc, ka PCRE2 domuzīmes zīmi apstrādā kā atdalītāju, izveidojot diapazonu rakstzīmju klasē.

Geomap logrīka kļūda

Geomap logrīkā kartes var netikt ielādētas pareizi, ja esat veicis jaunināšanu no vecākas Zabbix versijas ar NGINX un jaunināšanas laikā nepārslēdzāties uz jauno NGINX konfigurācijas failu.

Lai novērstu problēmu, varat atmest veco konfigurācijas failu, izmantot konfigurācijas failu no pašreizējās versijas pakotnes un pārkonfigurēt to, kā aprakstīts lejupielādes instrukcijās sadaļā e. Configure PHP for Zabbix frontend.

Alternatīvi varat manuāli rediģēt esošu NGINX konfigurācijas failu (parasti, /etc/zabbix/nginx.conf). Lai to izdarītu, atveriet failu un atrodiet šādu bloku:

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

Pēc tam aizstājiet šo bloku ar:

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

location /vendor {
        deny            all;
        return          404;
}

Priekšapstrāde — globālie mainīgie nav droši

JavaScript priekšapstrāde tiek izpildīta katram pieprasījumam, taču piešķīrumi nedeklarētiem identifikatoriem (piemēram, secret = value) izveido netiešus globālos mainīgos, kas var saglabāties arī pēc pašreizējās izpildes. Jutīgu datu (tokenu, paroļu u. c.) glabāšana netiešajos globālajos mainīgajos palielina nejaušas atklāšanas vai atkārtotas izmantošanas risku nākamajos priekšapstrādes izpildes gadījumos vai citās integrācijās, kas darbojas tajā pašā vidē.

Nepaļaujieties uz netiešajiem globālajiem mainīgajiem. Vienmēr deklarējiet mainīgos ar var vai const, un izvairieties no noslēpumu pievienošanas globālajiem objektiem (piemēram, globalThis vai window). Nav atbalstīta veida, kā no priekšapstrādes pārrakstīt iebūvētos globālos objektus.

Drošs piemērs:

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

Servera avārija ar TimescaleDB pēc jaunināšanas no 7.0

Jaunināšana uz Zabbix 7.0.1 (vai jaunāku) no Zabbix 7.0.0 ar TimescaleDB izraisa servera avāriju. Šo problēmu izraisa risinājums kompresijas darba problēmai auditlog tabulā Zabbix 7.0, kas neatgriezeniski mainīja auditlog tabulas kompresijas politiku.

Lai novērstu problēmu, lūdzu, veiciet auditlog tabulas manuālu pārbūvi. Kļūdaino auditlog tabulu var noteikt, izmantojot šo vaicājumu:

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

Ja tas atgriež JSON objektu, kas satur īpašību compress_after (piemēram, {"hypertable_id": 14, "compress_after": 612000}), tad tabula ir jāpārbūvē.

Pārliecinieties, ka Zabbix serveris ir vismaz 7.0.1rc2 versijā (vai jaunākā); pretējā gadījumā tas atkal iestatīs nepareizu kompresijas politiku. Turklāt pirms skripta palaišanas apturiet Zabbix serveri un pārliecinieties, ka auditlog pieder lietotājam zabbix.

Vienkāršākais veids, kā pārbūvēt auditlog tabulu, ir:

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;

Skatiet arī TimescaleDB dokumentāciju par optimizētākiem veidiem, kā migrēt datus.

Tā kā sadalīšanai nepieciešamais laikspiedols tiek iegūts no lauka auditid, izmantojot īpaši izstrādātu funkciju, palīgprocedūras, kas tiek izmantotas datu migrēšanai no timescaledb-extras, nedarbosies.

Datu bāzes atjaunošanas kļūda ar PostgreSQL/TimescaleDB pēc jaunināšanas no 7.0.0-7.0.4

Izmantojot pg_restore, lai atjaunotu PostgreSQL vai TimescaleDB dublējumu, kas izveidots Zabbix 7.0.0-7.0.4, tiks parādīta kļūda par trūkstošu base36_decode funkciju, un atjaunošana neizdosies:

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.

Šī kļūda rodas, atjaunojot dublējumu, kas izveidots ar pg_dump.

Lai novērstu šo problēmu, lūdzu, aizstājiet cuid_timestamp funkciju savā Zabbix datubāzē pirms dublējuma izveides (ieteicams pirms skripta palaišanas apturēt PostgreSQL/TimescaleDB):

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);

Skatiet arī ZBX-24955 (papildu informācijai par kļūdu) un TimescaleDB dokumentāciju (papildu dublēšanas un atjaunošanas iespējām).

Procesoru grupas operētājsistēmā Windows

Microsoft dokumentācijā ir norādīts, ka sistēmām ar mazāk nekā 64 loģiskajiem procesoriem vienmēr ir viena procesoru grupa, Group 0. Tomēr Zabbix lietotāji ir ziņojuši par retu kļūdu ZBX-20260, kad sistēmās ar 64 vai mazāk loģiskajiem procesoriem ir divas procesoru grupas. Tā rezultātā "\Processor(n)" veiktspējas skaitītāji bija pieejami tikai vienai no divām procesoru grupām. Šīs kļūdas patiesais cēlonis nav zināms. Tomēr līdzīgs gadījums tika aprakstīts vietnē stackoverflow.com, un tur cēlonis bija BIOS un Windows savstarpējā mijiedarbībā.

Filtrēšanas ierobežojumi ar utf8mb4 salīdzināšanas kārtībām

Filtri (piemēram, sadaļā Datu vākšana > Apkope) var nedarboties pareizi, ja tie tiek lietoti entītijām, kas satur noteiktas Unicode rakstzīmes (piemēram, ȼ, ɇ). Šī problēma rodas tāpēc, kā MySQL vai MariaDB datubāzu noklusējuma utf8mb4_bin salīdzināšanas kārtība apstrādā Unicode rakstzīmju kārtošanu un salīdzināšanu.

Lai novērstu šo ierobežojumu, lietotāji var mainīt datubāzes kolonnu salīdzināšanas kārtību uz alternatīvām, piemēram, utf8mb4_0900_bin, utf8mb4_0900_ai_ci vai utf8mb4_unicode_520_ci. Tomēr ņemiet vērā, ka salīdzināšanas kārtības maiņa var izraisīt negaidītu uzvedību tukšo atstarpju apstrādē, kā arī citu rakstzīmju kārtošanā un filtrēšanā.

Plašāku informāciju par salīdzināšanas kārtību maiņu skatiet MySQL dokumentācijā vai MariaDB dokumentācijā. Sīkāku informāciju par salīdzināšanas kārtību atšķirībām skatiet Unicode Character Sets MySQL dokumentācijā.

Nepareiza informācija no ligzdotām hostu grupām kartēs

Informācija no ligzdotām hostu grupām kartēs tiek attēlota nepareizi, piemēram:

  • Hostu grupas etiķetē tiek rādīts problēmas kopsavilkums, neiekļaujot visus hostus ligzdotajās hostu grupās;
  • Skats "Host group elements" nerāda atsevišķu kartes elementu katram hostam ligzdotajās hostu grupās;
  • Kartes etiķetē tiek rādīts visu problēmu kopsavilkums, neiekļaujot tās, kas ir ligzdotajās hostu grupās.

Bojāti LLD noteikumu pārraksti versijā 7.0.7

Versijā 7.0.7 Zabbix serveris avarē, apstrādājot zema līmeņa atklāšanas noteikuma pārrakstus. Kā pagaidu risinājumu atspējojiet LLD noteikumus, kuros ir pārraksti. Problēma ir novērsta Zabbix 7.0.8rc2.

Veiktspējas problēma ar priekšapstrādes pārvaldnieku Zabbix 7.0.14

Versijā 7.0.14 Zabbix priekšapstrādes pārvaldnieks var izraisīt augstu CPU noslodzi, ja vienam vienumam vienlaikus tiek saņemti vairāki vērtību ieraksti (piemēram, žurnālu uzraudzības laikā) un ir konfigurēts vairāk nekā viens priekšapstrādes darba process. Kā pagaidu risinājumu iestatiet konfigurācijas parametru StartPreprocessors serveris/starpniekserveris uz 1. Problēma ir novērsta Zabbix 7.0.15.

Makro funkcijas

Makro funkcijas nedarbojas skripta vienuma parametros un pārlūkprogrammas vienuma skripta parametros. Novērsts Zabbix 7.0.7. versijā.

Piekļuve UI elementiem ar MariaDB 10.5.1-10.5.9

Piekļūstot Zabbix lietotāja saskarnei ar lomu, kas nav Super Admin, var tikt parādīts ziņojums: "System error occurred. Please contact Zabbix administrator.". Šī problēma ietekmē instalācijas, kurās tiek izmantotas MariaDB versijas no 10.5.1 līdz 10.5.9.

Lai izvairītos no šīs problēmas, atjauniniet MariaDB uz versiju, kas ir jaunāka par 10.5.9. Plašāku informāciju skatiet ZBX-25746.

Profilēšana, izmantojot tcmalloc, pārmērīgai atmiņas lietošanai

Ja jums ir aizdomas, ka jūsu Zabbix instalācija izmanto pārāk daudz atmiņas, varat izmantot tcmalloc atmiņas profilēšanas funkciju, lai izpētītu Zabbix servera/starpniekservera atmiņas patēriņu.

1. Instalējot Zabbix no avota kodiem, konfigurējiet papildu karogus:

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

Karogs -std=gnu99 ir nepieciešams Zabbix servera, Zabbix starpniekservera vai Zabbix aģents kompilēšanai. Karogs -g pievieno papildu atkļūdošanas informāciju, savukārt -O0 atspējo optimizācijas, kas var traucēt tcmalloc profilēšanai.

2. Pirms Zabbix servera palaišanas iestatiet šādus vides mainīgos. Šie mainīgie norāda tcmalloc, kā sekot līdzi atmiņas lietojumam un to ziņot:

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. Izveidojiet profila izdruku, nosūtot signālu 5 mērķa procesam. Aizstājiet 1234 ar faktisko procesa ID (PID):

kill -5 1234

4. Izdrukājiet ģenerēto profilu:

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

Šajā piemērā zbx_malloc2 ir atbildīgs par gandrīz visām atmiņas alokācijām.

Skatiet arī:

MySQL 8.0 Group Replication multi-primary režīmā

Lietojot MySQL 8.0 Group Replication multi-primary režīmā, transakciju apstiprināšanas laikā var rasties kļūda, kas līdzīga šādai:

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;]

Šī kļūda, šķiet, tiek izraisīta ar atsaukšanas operācijām saistītu problēmu dēļ, kas ietver ārējās atslēgas ierobežojumus.

Skatiet arī: