- 8 Zināmās problēmas
- Zināmās problēmas 7.0.20 versijā
- Jaunināšana
- Veidnes
- Nejauša EPEL Zabbix pakotņu instalēšana
- Zabbix pakotnes RHEL sistēmām Red Hat UBI vidēs
- Beidzies RHEL pakotņu parakstīšanas atslēgas derīguma termiņš
- Datubāzes TLS savienojums ar MariaDB
- Iespējamās strupceļa situācijas ar MySQL/MariaDB
- Globālā notikumu korelācija
- Skaitliska (float) datu tipa diapazons ar PostgreSQL 11 un vecākām versijām
- NetBSD 8.0 un jaunākas versijas
- Regulāro izteiksmju ierobežojumi Zabbix aģents 2
- IPMI pārbaudes
- IPMI — neuzticami hosts var izraisīt OpenIPMI avāriju
- SSH pārbaudes
- ODBC pārbaudes
- Nepareizs pieprasījuma metodes parametrs vienumos
- Tīmekļa uzraudzība un HTTP aģents
- Vienkāršās pārbaudes
- Kļūdas ar fping izpildi rootless konteineros
- SNMP pārbaudes
- SNMP datu pīķi
- SNMP trapi
- Alerter procesa avārija RHEL 7
- Zabbix aģenta 2 jaunināšana (6.0.5 vai vecāka versija)
- Lietotāja saskarnes lokalizāciju pārslēgšanās
- Grafiki
- Žurnālfaila uzraudzība
- Lēni MySQL vaicājumi
- Lēna konfigurācijas sinhronizācija ar Oracle
- Noturīgi filtra iestatījumi no saitēm
- IPv6 adreses problēma SNMPv3 slazdos
- Saīsināta gara IPv6 IP adrese neveiksmīgas pieteikšanās informācijā
- Zabbix aģenta pārbaudes operētājsistēmā Windows
- YAML eksports/imports
- Iestatīšanas vednis SUSE vidē ar NGINX un php-fpm
- Authorization galvenes pārsūtīšana
- Chromium Zabbix tīmekļa servisam uz Ubuntu 20
- MySQL pielāgotie kļūdu kodi
- Nederīgas regulārās izteiksmes pēc pārslēgšanās uz PCRE2
- Geomap logrīka kļūda
- Priekšapstrāde — globālie mainīgie nav droši
- Servera avārija ar TimescaleDB pēc jaunināšanas no 7.0
- Datu bāzes atjaunošanas kļūda ar PostgreSQL/TimescaleDB pēc jaunināšanas no 7.0.0-7.0.4
- Procesoru grupas operētājsistēmā Windows
- Filtrēšanas ierobežojumi ar utf8mb4 salīdzināšanas kārtībām
- Nepareiza informācija no ligzdotām hostu grupām kartēs
- Bojāti LLD noteikumu pārraksti versijā 7.0.7
- Veiktspējas problēma ar priekšapstrādes pārvaldnieku Zabbix 7.0.14
- Makro funkcijas
- Piekļuve UI elementiem ar MariaDB 10.5.1-10.5.9
- Profilēšana, izmantojot tcmalloc, pārmērīgai atmiņas lietošanai
- MySQL 8.0 Group Replication multi-primary režīmā
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 draiverisPlašā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:
- ZBX-22952
- Apache 2.4 + PHP-FPM and Authorization headers
- SetEnvIfNoCase un CGIPassAuth direktīvas
- NGINX Reverse Proxy
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ī:
- ZBX-25050 un ZBX-25584 saistītajiem problēmu ziņojumiem.
- GCC Option Summary par kompilēšanas opcijām (
-std=gnu99,-g,-O0u. c.). - Gperftools Heap Profiler dokumentāciju par tcmalloc profilēšanas vides mainīgajiem.
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ī:
- ZBX-26060 par saistīto problēmas ziņojumu.
- MySQL Bug #96758 "Rollbacks with Foreign Keys on single node" par augšupējās sistēmas problēmu.