Izkliedētā uzraudzība, izmantojot starpniekserverus
Pārskats
Zabbix starpniekserverus var izmantot efektīvas un uzticamas izkliedētas uzraudzības sistēmas izveidei.
Starpniekserveri tiek izvietoti lokāli, lai apkopotu veiktspējas un pieejamības datus. Pēc tam dati tiek nosūtīti centralizētam serverim.
Zabbix starpniekserveri var izmantot, lai:
- Uzraudzītu attālas atrašanās vietas
- Uzraudzītu atrašanās vietas ar neuzticamiem sakariem
- Atslogotu Zabbix serveri, uzraugot tūkstošiem ierīču
- Apkopotu telemetrijas datus lietojumprogrammu veiktspējas uzraudzībai (APM)

Starpniekserverim ir nepieciešams tikai viens TCP savienojums ar Zabbix serveri. Tādējādi ir vieglāk apiet ugunsmūri, jo jā konfigurē tikai viens ugunsmūra noteikums.
Zabbix starpniekserverim jāizmanto atsevišķa datubāze. Norādot Zabbix servera datubāzi, konfigurācija tiks sabojāta.
Visi starpniekservera apkopotie dati tiek glabāti lokāli, pirms tie tiek nosūtīti serverim.
Tādējādi īslaicīgu sakaru problēmu ar serveri dēļ dati netiek zaudēti.
Parametri ProxyLocalBuffer un ProxyOfflineBuffer starpniekservera konfigurācijas failā nosaka, cik ilgi dati tiek glabāti lokāli.
Var gadīties, ka starpniekserverim, kas jaunākās konfigurācijas izmaiņas saņem tieši no Zabbix servera datubāzes, ir jaunāka konfigurācija nekā Zabbix serverim, kura konfigurācija var netikt atjaunināta tik ātri CacheUpdateFrequency vērtības dēļ. Tā rezultātā starpniekserveris var sākt apkopot datus un nosūtīt tos Zabbix serverim, kas šos datus ignorē.
Zabbix starpniekserveris ir datu apkopotājs. Tas neaprēķina trigerus, neapstrādā notikumus un nesūta brīdinājumus. Lai uzzinātu, kādas funkcijas atbalsta starpniekserveris, skatiet šo tabulu:
| Funkcija | Atbalsta starpniekserveris | |
|---|---|---|
| Vienumi | ||
| Zabbix aģenta pārbaudes | Jā | |
| Zabbix aģenta pārbaudes (aktīvās) | Jā 1 | |
| Vienkāršās pārbaudes | Jā | |
| Trapper vienumi | Jā | |
| SNMP pārbaudes | Jā | |
| SNMP slazdi | Jā | |
| IPMI pārbaudes | Jā | |
| JMX pārbaudes | Jā | |
| Žurnālfailu uzraudzība | Jā | |
| Iekšējās pārbaudes | Jā | |
| SSH pārbaudes | Jā | |
| Telnet pārbaudes | Jā | |
| Ārējās pārbaudes | Jā | |
| Atkarīgie vienumi | Jā | |
| Skripta vienumi | Jā | |
| Pārlūkprogrammas vienumi | Jā | |
| Telemetrijas vaicājumu vienumi | Jā | |
| Iebūvētā tīmekļa uzraudzība | Jā | |
| Vienuma vērtības priekšapstrāde | Jā | |
| Tīkla atklāšana | Jā | |
| Aktīva aģenta automātiskā reģistrācija | Jā | |
| Zema līmeņa atklāšana | Jā 2 | |
| Attālās komandas | Jā | |
| Telemetrijas datu apkopošana (APM) | Jā 3 | |
| Trigeru aprēķināšana | Nē | |
| Notikumu apstrāde | Nē | |
| Notikumu korelācija | Nē | |
| Brīdinājumu nosūtīšana | Nē | |
[1] Lai nodrošinātu, ka aģents aktīvo pārbaužu veikšanai vaicā starpniekserverim, nevis serverim, starpniekserverim jābūt norādītam aģenta konfigurācijas faila parametrā ServerActive.
[2] Zema līmeņa atklāšanas gadījumā Zabbix starpniekserveris tikai apkopo un priekšapstrādā datus, pēc tam nosūtot tos Zabbix serverim turpmākai apstrādei.
[3] Telemetrijas dati tiek apkopoti tikai tad, ja starpniekserverī ir iespējots APM (skatiet cilni APM sadaļā starpniekservera konfigurācija); Zabbix serveris nevar saņemt telemetrijas datus.
Starpniekservera funkcijas
Izvēloties, vai izmantot starpniekserveri vai ne, ir jāņem vērā vairāki apsvērumi.
| Starpniekserveris | |
|---|---|
| Viegls | Jā |
| GUI | Nē |
| Darbojas neatkarīgi | Jā |
| Vienkārša uzturēšana | Jā |
| Automātiska DB izveide | Jā1 |
| Lokāla administrēšana | Nē |
| Gatavs iegultai aparatūrai | Jā |
| Vienvirziena TCP savienojumi | Jā |
| Centralizēta konfigurācija | Jā |
| Ģenerē paziņojumus | Nē |
1 Automātiskās DB izveides funkcija darbojas tikai ar SQLite. Citām atbalstītajām datubāzēm ir nepieciešama manuāla iestatīšana.
Zabbix starpniekserveris nezina par uzturēšanas periodiem; sīkāku informāciju skatiet sadaļā Rindu aprēķins uzturēšanas laikā.
Aizsardzība pret pārslodzi
Ja Zabbix serveris kādu laiku nedarbojās un starpniekserveri savāca lielu datu apjomu, serverim pēc palaišanas var rasties pārslodze (vēstures kešatmiņas lietojums kādu laiku saglabājas 95–100% līmenī). Šī pārslodze var negatīvi ietekmēt veiktspēju, tādēļ pārbaudes tiek apstrādātas lēnāk, nekā paredzēts. Lai novērstu problēmas, ko izraisa vēstures kešatmiņas pārslodze, ir ieviesta aizsardzība pret šādu situāciju.
Kad Zabbix servera vēstures kešatmiņa ir pilna, piekļuve vēstures kešatmiņas rakstīšanai tiek ierobežota, palēninot servera datu apkopošanas procesus. Visbiežāk vēstures kešatmiņa tiek pārslogota pēc servera dīkstāves, kad starpniekserveri augšupielādē savāktos datus. Lai no tā izvairītos, tika pievienota starpniekserveru ierobežošana (pašlaik to nevar atspējot).
Kad vēstures kešatmiņas lietojums sasniedz 80%, Zabbix serveris pāriet ierobežošanas režīmā. Ierobežošanas režīmā serveris pieņem datus no starpniekserveriem tikai tad, ja vēstures kešatmiņas lietojums ir mazāks par 60%, rotējot pieņemamos starpniekserverus. Kad vēstures kešatmiņas lietojums samazinās zem 20%, serveris atgriežas normālā režīmā.
Turklāt, kad vēstures kešatmiņas lietojums pārsniedz 60%, Zabbix serveris normālā režīmā var atlikt atsevišķu starpniekserveru apstrādi, ja to augšupielādes tiek saīsinātas augšupielādes ierobežojumu dēļ.
Šis lēmums tiek pieņemts brīdī, kad serveris novērtē starpniekservera augšupielādi, tādēļ tas ne vienmēr tiek nekavējoties atspoguļots vēstures kešatmiņas lietojuma grafikos (iekšējais vienums zabbix[wcache,history,pused] un tā atjaunināšanas intervāls var neuztvert īslaicīgus pieaugumus).
Šis ierobežošanas režīms turpinās, līdz kešatmiņas lietojums atkal sasniedz 80%, samazinās līdz 20% vai ierobežošanas saraksts kļūst tukšs. Pirmajā gadījumā serveris atkal pārtrauks pieņemt datus no starpniekserveriem. Pārējos divos gadījumos serveris atsāks normālu darbību, pieņemot datus no visiem starpniekserveriem.
Iepriekš minēto informāciju var attēlot šajā tabulā:
| Vēstures rakstīšanas kešatmiņas lietojums | Zabbix servera režīms | Zabbix servera darbība |
|---|---|---|
| Virs 60% (režīmā "Normal", līdz tiek sasniegti 80%) | Normal | Atliek starpniekserverus, kuru augšupielādes pakete tika saīsināta augšupielādes ierobežojumu dēļ; turpina pieņemt datus no pārējiem starpniekserveriem. |
| Sasniedz 80% | Wait | Pārtrauc pieņemt datus no starpniekserveriem, bet uztur ierobežošanas sarakstu (prioritāru starpniekserveru sarakstu, ar kuriem sazināties vēlāk). |
| Samazinās zem 60% (pēc režīma "Wait") | Throttling | Atkal sāk pieņemt datus no starpniekserveriem, rotējot cauri ierobežošanas sarakstā esošajiem starpniekserveriem. |
| Samazinās zem 20% (pēc režīma "Throttling") | Normal | Iztukšo ierobežošanas sarakstu un atsāk normāli pieņemt datus no starpniekserveriem. |
Varat izmantot iekšējo vienumu zabbix[wcache,history,pused], lai sasaistītu šo Zabbix servera darbību ar metriku.
Konfigurācija
Kad esat instalējis un konfigurējis starpniekserveri, ir pienācis laiks to konfigurēt Zabbix lietotāja saskarnē.
Starpniekserveru pievienošana
Tā vietā, lai instalētu starpniekserveri savā infrastruktūrā, varat to izvietot Zabbix Cloud. Lai to izdarītu, sadaļā Administration > Proxies noklikšķiniet uz Create proxy in Cloud; Zabbix Cloud tiks atvērts jaunā pārlūkprogrammas cilnē. Pēc starpniekservera mezgla izveides konfigurējiet starpniekserveri Zabbix lietotāja saskarnē, kā aprakstīts tālāk. Papildinformāciju skatiet sadaļā Zabbix Cloud starpniekservera iestatīšana.
Lai konfigurētu starpniekserveri Zabbix lietotāja saskarnē:
- Atveriet Administration > Proxies.
- Noklikšķiniet uz Create proxy.
- Veidlapā ievadiet starpniekservera parametrus.

| Parameter | Description | |
|---|---|---|
| Proxy name | Ievadiet starpniekservera nosaukumu. Tam jābūt tādam pašam kā Hostname parametrā starpniekservera konfigurācijas failā. | |
| Proxy group | Atlasiet vienu starpniekserveru grupu starpniekservera slodzes līdzsvarošanai/augstai pieejamībai. | |
| Address for active agents | Ievadiet adresi, ar kuru jāizveido savienojums uzraugāmajiem aktīvajiem aģentiem vai sūtītājiem. Atbalstīts tikai Zabbix 7.0 aģentiem vai jaunākām versijām. Šī adrese tiek izmantota savienojuma izveidei gan ar aktīviem, gan pasīviem starpniekserveriem. Šis lauks ir pieejams tikai tad, ja laukā Proxy group ir atlasīta starpniekserveru grupa. |
|
| Address | IP adrese/DNS nosaukums, ar kuru izveidot savienojumu. | |
| Port | TCP porta numurs (pēc noklusējuma 10051), ar kuru izveidot savienojumu. Tiek atbalstīti lietotāja makro. | |
| Proxy mode | Atlasiet starpniekservera režīmu. Active - starpniekserveris izveidos savienojumu ar Zabbix serveri un pieprasīs konfigurācijas datus Passive - Zabbix serveris izveidos savienojumu ar starpniekserveri Ņemiet vērā, ka, izmantojot aktīvu starpniekserveri bez šifrētas saziņas (sensitīviem) starpniekservera konfigurācijas datiem var piekļūt personas, kurām ir piekļuve Zabbix servera trapper portam. Tas ir iespējams, jo ikviens var uzdoties par aktīvu starpniekserveri un pieprasīt konfigurācijas datus, ja autentifikācija nenotiek vai ja laukā Proxy address nav ierobežotas starpniekserveru adreses. |
|
| Proxy address | Ja ir norādīts, aktīva starpniekservera pieprasījumi tiek pieņemti tikai no šī ar komatiem atdalīto IP adrešu saraksta (pēc izvēles CIDR apzīmējumā) vai aktīva Zabbix starpniekservera DNS nosaukumiem. Šis lauks ir pieejams tikai tad, ja laukā Proxy mode ir atlasīts aktīvs starpniekserveris. Makro netiek atbalstīti. |
|
| Interface | Ievadiet pasīva starpniekservera saskarnes informāciju. Šis lauks ir pieejams tikai tad, ja laukā Proxy mode ir atlasīts pasīvs starpniekserveris. |
|
| Address | Pasīvā starpniekservera IP adrese/DNS nosaukums. | |
| Port | Pasīvā starpniekservera TCP porta numurs (pēc noklusējuma 10051). Tiek atbalstīti lietotāja makro. | |
| Description | Ievadiet starpniekservera aprakstu. | |
Cilne Encryption ļauj pieprasīt šifrētus savienojumus ar starpniekserveri.
| Parameter | Description |
|---|---|
| Connections to proxy | Kā serveris izveido savienojumu ar pasīvo starpniekserveri: bez šifrēšanas (pēc noklusējuma), izmantojot PSK (iepriekš koplietotu atslēgu) vai sertifikātu. |
| Connections from proxy | Atlasiet, kāda veida savienojumi ir atļauti no aktīvā starpniekservera. Vienlaikus var atlasīt vairākus savienojumu veidus (noderīgi testēšanai un pārejai uz citu savienojuma veidu). Pēc noklusējuma ir atlasīts “No encryption”. |
| Issuer | Atļautais sertifikāta izdevējs. Vispirms sertifikāts tiek validēts ar CA (sertificēšanas iestādi). Ja tas ir derīgs un CA parakstīts, lauku Issuer var izmantot, lai papildus ierobežotu atļautās CA. Šis lauks nav obligāts; to paredzēts izmantot, ja jūsu Zabbix instalācijā tiek izmantoti vairāku CA sertifikāti. |
| Subject | Atļautais sertifikāta subjekts. Vispirms sertifikāts tiek validēts ar CA. Ja tas ir derīgs un CA parakstīts, lauku Subject var izmantot, lai atļautu tikai vienu Subject virknes vērtību. Ja šis lauks ir tukšs, tiek pieņemts jebkurš derīgs sertifikāts, ko parakstījusi konfigurētā CA. |
| PSK identity | Iepriekš koplietotas atslēgas identitātes virkne. Neiekļaujiet PSK identitātē sensitīvu informāciju, jo tā tiek pārraidīta nešifrētā veidā tīklā, lai informētu saņēmēju, kuru PSK izmantot. |
| PSK | Iepriekš koplietota atslēga (heksadecimāla virkne). Maksimālais garums: 512 heksadecimālie cipari (256 baitu PSK), ja Zabbix izmanto GnuTLS vai OpenSSL bibliotēku, vai 64 heksadecimālie cipari (32 baitu PSK), ja Zabbix izmanto mbed TLS (PolarSSL) bibliotēku. Piemērs: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Cilne APM ļauj konfigurēt lietojumprogrammu veiktspējas uzraudzību (APM) starpniekserverī. Starpniekserveris var apkopot lietojumprogrammu vai OpenTelemetry kolektoru nosūtītos telemetrijas datus (izsekojumus, metriku un žurnālus), izmantojot OpenTelemetry protokolu (OTLP/gRPC), un ierakstīt datus telemetrijas datu avotā.

| Parameter | Description | |
|---|---|---|
| Data collection enabled | Atzīmējiet izvēles rūtiņu, lai iespējotu telemetrijas datu apkopošanu starpniekserverī. Pirms telemetrijas datu apkopošanas iespējošanas starpniekservera konfigurācijas failā iestatiet StartAPMCollector parametru uz 1 (nepieciešams Zabbix starpniekserveris ar APM atbalstu). |
|
| Max messages per second | Iestatiet maksimālo ziņojumu skaitu sekundē, ko starpniekserveris pieņem: Unlimited - pieņemt visus ienākošos ziņojumus. Custom - pieņemt līdz norādītajam ziņojumu skaitam sekundē. Ziņojums ir OTLP pieprasījums, ko nosūta lietojumprogramma, OpenTelemetry kolektors vai cits telemetrijas avots. Tā lielums ir atkarīgs no sūtītāja; piemēram, OpenTelemetry kolektors vienā ziņojumā var apvienot tūkstošiem span, savukārt vienkārša lietojumprogramma var nosūtīt mazākus ziņojumus (piemēram, vienu katram izsekojumam). Ja ierobežojums tiek pārsniegts, starpniekserveris atbild ar gRPC statusa kodu UNAVAILABLE (īslaicīga kļūda), tāpēc sūtītājs atkarībā no konfigurācijas var mēģināt ziņojumu nosūtīt vēlāk. |
|
| Resource attributes | Norādiet resursu atribūtus, kas jāpievieno atlasītās kategorijas ienākošajiem telemetrijas datiem (piemēram, lai visus šī starpniekservera saņemtos datus atzīmētu ar tā vidi vai reģionu). Pēc tam šos atribūtus varat izmantot telemetrijas datu filtrēšanai, piemēram, telemetrijas vaicājuma vienuma nosacījumos. Ja ienākošie dati jau satur resursa atribūtu ar tādu pašu atslēgu, ienākošais atribūts tiek saglabāts, nevis šeit norādītais. |
|
| Key | Ievadiet atribūta atslēgu (piemēram, deployment.environment, cloud.region). Tai jābūt unikālai atlasītajā Category. |
|
| Value | Ievadiet atribūta vērtību (piemēram, production, eu-central-1). Tā var būt tukša. |
|
| Category | Atlasiet ienākošo datu kategoriju, uz kuru attiecas atribūts: Traces, Metrics vai Logs. | |
Cilne Timeouts ļauj ignorēt globālos taimautus vienumu tipiem, kuri tos atbalsta.

| Parameter | Description |
|---|---|
| Timeouts for item types | Iestatiet vienuma taimautu (atbilstoši tā tipam): Global - izmantot globālo taimautu (kas tiek parādīts pelēkajā Timeout laukā pie katra vienuma tipa); Override - iestatīt pielāgotu taimautu (katra vienuma tipa Timeout laukā). Atļautais diapazons: 1–600 s (pēc noklusējuma: mantots no globālajiem taimautiem). Tiek atbalstīti laika sufiksi, piemēram, 30s, 1m, kā arī lietotāja makro. Noklikšķinot uz saites Global timeouts, varat konfigurēt globālos taimautus. Ņemiet vērā, ka saite Global timeouts ir redzama tikai Super admin tipa lietotājiem, kuriem ir atļaujas sadaļā Administration > General lietotāja saskarnē. Ņemiet vērā, ka, lai gan starpniekservera līmeņa taimauti ignorē globālos taimautus, tos ignorēs atsevišķu vienumu taimauti, ja tie ir konfigurēti. |
Ja starpniekservera galvenā versija neatbilst servera galvenajai versijai, blakus Timeouts for item types tiks parādīta
ikona ar uznirstošo ziņojumu “Timeouts disabled because the proxy and server versions do not match”.
Šādos gadījumos starpniekserveris izmantos Timeout parametru no starpniekservera konfigurācijas faila.
Esoša starpniekservera rediģēšanas veidlapā ir pieejamas šādas papildu pogas:
- Refresh configuration - atsvaidzināt starpniekservera konfigurāciju;
- Clone - izveidot jaunu starpniekserveri, pamatojoties uz esošā starpniekservera rekvizītiem;
- Delete - dzēst starpniekserveri.
Hosts konfigurācija
Varat norādīt, ka atsevišķs hosts jāuzrauga starpniekserverim vai starpniekserveru grupai, izmantojot hosts konfigurācijas formu un lauku Monitored by.

Hosts masveida atjaunināšana ir vēl viens veids, kā norādīt, ka hosts jāuzrauga starpniekserverim vai starpniekserveru grupai.