- Zināmās problēmas
- Jaunināšana
- Veidnes
- Nejauša EPEL Zabbix pakotņu instalēšana
- Zabbix pakotnes RHEL sistēmām Red Hat UBI vidēs
- Beigusies RHEL pakotņu parakstīšanas atslēgas derīguma termiņš
- Timescale DB: liels atmiņas patēriņš ar lielu nodalījumu skaitu
- Timescale DB 2.5.0: saspiešanas politika var neizdoties tabulām, kas satur veselus skaitļus
- Datubāzes TLS savienojums ar MariaDB
- Iespējamās strupceļa situācijas ar MySQL/MariaDB
- Globālā notikumu korelācija
- NetBSD 8.0 un jaunākas versijas
- Regulāro izteiksmju ierobežojumi Zabbix aģents 2
- IPMI pārbaudes
- IPMI — neuzticami hosti 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
- Pastāvīgie 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
- Procesoru grupas operētājsistēmā Windows
- Filtrēšanas ierobežojumi ar utf8mb4 kolācijām
- Piekļuve lietotāja saskarnes elementiem ar MariaDB 10.5.1–10.5.9
- Pārmērīga atmiņas lietojuma profilēšana ar tcmalloc
- MySQL 8.0 Group Replication vairāku primāro mezglu režīmā
Zināmās problēmas
Skatiet arī: Kompilēšanas problēmas.
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
Veidņu saderība dual-stack (IPv4/IPv6) vidēs
Dual-stack vidēs (sistēmās, kas konfigurētas darbam gan ar IPv4, gan IPv6) resursdatora nosaukums localhost parasti tiek atrisināts gan uz IPv4, gan IPv6 adresēm.
Tā kā daudzas operētājsistēmas un DNS atrisinātāji bieži piešķir prioritāti IPv6 salīdzinājumā ar 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 pareizi konfigurēt piekļuvi IPv4, taču joprojām saskarties ar savienojamības problēmām, jo pēc noklusējuma prioritāte tiek piešķirta IPv6.
Viens no risinājumiem ir nodrošināt, ka pakalpojumi (Nginx, Apache, PostgreSQL u.c.) ir konfigurēti klausīties gan uz IPv4, gan IPv6 adresēm un ka Zabbix serverim/aģentam ir atļauta piekļuve, izmantojot IPv6.
Turklāt Zabbix veidnēs un konfigurācijās izmantojiet tieši localhost, nevis 127.0.0.1, lai nodrošinātu saderību gan ar IPv4, gan IPv6.
Piemēram, uzraugot PostgreSQL ar veidni PostgreSQL by Zabbix agent 2, iespējams, būs jārediģē fails pg_hba.conf, lai atļautu savienojumus lietotājam zbx_monitor.
Ja dual-stack vide piešķir prioritāti 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 nebūs atbilstoša IPv6 ieraksta.
Šis pg_hba.conf faila piemērs nodrošina, ka lietotājs zbx_monitor var pieslēgties jebkurai datubāzei no lokālās mašīnas, 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 veidnes PostgreSQL by Zabbix agent 2 makrosu savienojuma virknei, varat arī tieši izmantot IPv4 adresi (127.0.0.1).
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, pārliecinieties, ka ir piekļuve nepieciešamajiem repozitorijiem un atkarībām.
Zabbix pakotnes ir atkarīgas no libOpenIPMI.so un libOpenIPMIposix.so bibliotēkām, kuras nenodrošina neviena pakotne 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 OpenIPMI-libs pakotnē, ko nodrošina redhat-#-for-<arch>-appstream-rpms repozitorijs.
Piekļuvi šim repozitorijam regulē abonementi, kas UBI vidēs tiek nodoti, montējot RHEL hosta repozitoriju konfigurācijas un slepeno datu direktorijus konteinera failu sistēmas nosaukumvietā.
Papildinformāciju skatiet ZBX-24291.
Beigusies RHEL pakotņu parakstīšanas atslēgas derīguma termiņš
Jauninot Zabbix uz Red Hat Enterprise Linux vai tā atvasinājumiem, var rasties problēma ar beigušos pakotņu parakstīšanas atslēgas derīguma termiņu Zabbix repozitorijā. Kad parakstīšanas atslēgas derīguma termiņš beidzas, mēģinājumi pārbaudīt pakotņu parakstus izraisa 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 10 izpildiet:
rpm -Uvh https://repo.zabbix.com/zabbix/8.0/release/rhel/10/noarch/zabbix-release-latest.el10.noarch.rpm
Pēc tam atjauniniet repozitorija informāciju:
dnf update
Papildinformāciju skatiet ZBX-24761.
Timescale DB: liels atmiņas patēriņš ar lielu nodalījumu skaitu
PostgreSQL versijas 9.6-12 izmanto pārāk daudz atmiņas, atjauninot tabulas ar lielu nodalījumu skaitu. Šī problēma izpaužas, kad Zabbix atjaunina trendus sistēmās ar TimescaleDB, ja trendi ir sadalīti salīdzinoši mazos (piemēram, 1 dienas) gabalos. Tas noved pie simtiem gabalu trends tabulās ar noklusējuma housekeepinga iestatījumiem — apstākļos, kuros PostgreSQL, visticamāk, pietrūks atmiņas.
Problēma ir novērsta kopš Zabbix 5.0.1 jaunām instalācijām ar TimescaleDB, bet, ja TimescaleDB tika iestatīts ar Zabbix pirms tam, lūdzu, skatiet ZBX-16347 migrācijas piezīmes.
Timescale DB 2.5.0: saspiešanas politika var neizdoties tabulām, kas satur veselus skaitļus
Šī problēma izpaužas, ja tiek izmantots TimescaleDB 2.5.0/2.5.1. Tā ir novērsta kopš TimescaleDB 2.5.2.
Papildinformāciju skatiet TimescaleDB Issue #3773.
Datubāzes TLS savienojums ar MariaDB
Datubāzes TLS savienojums netiek atbalstīts ar opciju 'verify_ca' DBTLSConnect parametram, ja tiek izmantots 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.
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 hosti var izraisīt OpenIPMI avāriju
OpenIPMI bibliotēkā, ko Zabbix izmanto IPMI datu aptaujāšanai, ir kļūda, kuru var aktivizēt ar īpaši izveidotām atbildēm no neuzticamas ierīces.
Neuzticama IPMI ierīce var nosūtīt īpaši izveidotus datus, kas izraisa OpenIPMI bibliotēkas avāriju, un tas savukārt var izraisīt tā Zabbix servera procesa pārtraukšanu, kas veic IPMI aptaujāš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 ar Zabbix serveri vai Zabbix starpniekserveri, kas kompilēts pret MariaDB savienotāja bibliotēku, un otrādi; ja iespējams, labāk arī izvairīties no tā paša savienotāja izmantošanas kā draivera augšupplūsmas kļūdas dēļ. Ieteicamā konfigurācija:
PostgreSQL, SQLite vai Oracle savienotājs → MariaDB vai MySQL unixODBC draiveris MariaDB savienotājs → MariaDB unixODBC draiveris MySQL savienotājs → MySQL unixODBC draiveris
Plašāku informāciju un pieejamos apiešanas risinājumus skatiet ZBX-7665.
-
XML dati, kas vaicāti no Microsoft SQL Server, Linux un UNIX sistēmās var tikt dažādos veidos saīsināti.
-
Ir novērots, ka ODBC pārbaužu izmantošana Oracle datubāzu uzraudzībai, izmantojot dažādas Oracle Instant Client for Linux versijas, izraisa Zabbix servera avāriju.\ Skatiet arī: ZBX-18402, ZBX-20803.
-
Ja izmantojat FreeTDS UnixODBC draiveri, SQL vaicājuma sākumā jāpievieno priekšā priekšraksts 'SET NOCOUNT ON' (piemēram,
SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....). Pretējā gadījumā datubāzes uzraudzības vienums Zabbix nevarē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.
Pastāvīgie filtra iestatījumi no saitēm
Atverot saiti uz Zabbix lietotāja saskarnes lapu, kas satur filtra iestatījumus, tostarp laika atlasītāju, filtrs tiek automātiski saglabāts datubāzē attiecīgajam lietotājam, aizstājot iepriekš saglabāto filtru un/vai laika atlasītāja iestatījumus šai lapai. Š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 API pieprasījumos esošajai Authorization galvenei sasniegt Zabbix. Tas var izraisīt autentifikācijas problēmas, izmantojot Zabbix API vai vienotās pierakstīšanās (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ījumā), pievienojiet šādu direktīvu failam /etc/httpd/conf/httpd.conf (uz RHEL bāzētās sistēmās) vai /etc/apache2/apache2.conf (uz Debian/Ubuntu):
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
Ja Apache tieši izpilda skriptus pieprasījumu apstrādei (piemēram, 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, varat skaidri pārsūtīt Authorization galveni, pievienojot šādas direktīvas failam /etc/nginx/nginx.conf (jūsu Zabbix lietotāja saskarne 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.
Plašāku informā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
Kartes Geomap logrīkā 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 šo 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
Priekšapstrādes JavaScript tiek izpildīts katram pieprasījumam atsevišķi, 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.
Sensitīvu datu (tokenu, paroļu u.c.) glabāšana netiešos globālajos mainīgajos palielina nejaušas atklāšanas vai atkārtotas izmantošanas risku nākamajās priekšapstrādes izpildēs vai citās integrācijās, kas darbojas tajā pašā vidē.
Nepaļaujieties uz netiešiem globālajiem mainīgajiem.
Vienmēr deklarējiet mainīgos ar var vai const, un nepiesaistiet noslēpumus globāliem 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 });
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 tikai viena procesoru grupa — 0. grupa. 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 pamatcēlonis nav zināms. Tomēr līdzīgs gadījums ir aprakstīts vietnē stackoverflow.com, un tur pamatcēlonis bija BIOS un Windows savstarpējā mijiedarbība.
Filtrēšanas ierobežojumi ar utf8mb4 kolācijām
Filtri (piemēram, sadaļā Datu ievākšana > Uzturēšana) var nedarboties pareizi, ja tie tiek piemēroti entītijām, kas satur noteiktas unikoda rakstzīmes (piemēram, ȼ, ɇ). Šī problēma rodas tādēļ, ka MySQL vai MariaDB datubāzēs noklusējuma utf8mb4_bin kolācija apstrādā unikoda rakstzīmju kārtošanu un salīdzināšanu noteiktā veidā.
Lai novērstu šo ierobežojumu, lietotāji var mainīt datubāzes kolonnu kolāciju uz alternatīvām, piemēram, utf8mb4_0900_bin, utf8mb4_0900_ai_ci vai utf8mb4_unicode_520_ci. Tomēr ņemiet vērā, ka kolācijas maiņa var izraisīt neparedzētu darbību tukšo atstarpju apstrādē, kā arī citu rakstzīmju kārtošanā un filtrēšanā.
Plašāku informāciju par kolāciju maiņu skatiet MySQL documentation vai MariaDB documentation. Informāciju par kolāciju atšķirībām skatiet Unicode Character Sets MySQL dokumentācijā.
Piekļuve lietotāja saskarnes elementiem ar MariaDB 10.5.1–10.5.9
Piekļūstot Zabbix tīmekļa lietotāja saskarnei ar lomu, kas nav Super Admin, var tikt parādīts ziņojums: "Radās sistēmas kļūda. Lūdzu, sazinieties ar Zabbix administratoru.". Šī 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. Papildinformāciju skatiet ZBX-25746.
Pārmērīga atmiņas lietojuma profilēšana ar tcmalloc
Ja jums ir aizdomas, ka jūsu Zabbix instalācija izmanto pārāk daudz atmiņas, varat izmantot tcmalloc atmiņas profilēšanas iespēju, lai izmeklētu Zabbix servera/starpniekservera atmiņas patēriņu.
1. Instalējot Zabbix no pirmkoda, norādiet papildu karogus:
export CFLAGS="-std=gnu99 -g -O0"
Karogs -std=gnu99 ir nepieciešams, lai būvētu Zabbix serveri, Zabbix starpniekserveri vai Zabbix aģentu.
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ā izsekot atmiņas lietojumu un par 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. Aktivizējiet profila izmetni, nosūtot mērķa procesam 5. signālu. 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ītos problēmu ziņojumus.
- GCC Option Summary par kompilēšanas opcijām (
-std=gnu99,-g,-O0u.c.). - Gperftools Heap Profiler dokumentāciju par vides mainīgajiem tcmalloc profilēšanai.
MySQL 8.0 Group Replication vairāku primāro mezglu režīmā
Izmantojot MySQL 8.0 Group Replication vairāku primāro mezglu režīmā, darījumu apstiprināšanas laikā var rasties kļūda, kas ir 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 problēmu dēļ ar atcelšanas darbībām, kas saistītas ar ārējās atslēgas ierobežojumiem.
Skatiet arī:
- ZBX-26060 saistītās problēmas ziņojumam.
- MySQL Bug #96758 "Rollbacks with Foreign Keys on single node" augšupējai problēmai.