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 bija dīkstāvē un starpniekserveri bija savākuši daudz datu, tad, serverim startējoties, tas var tikt pārslogots (history cache lietojums kādu laiku saglabājas 95-100% līmenī). Šī pārslodze var izraisīt veiktspējas pasliktināšanos, kad pārbaudes tiek apstrādātas lēnāk, nekā vajadzētu. Lai izvairītos no problēmām, kas rodas history cache pārslodzes dēļ, tika ieviesta aizsardzība pret šo scenāriju.

Kad Zabbix servera history cache ir pilna, rakstīšanas piekļuve history cache tiek ierobežota, aizturot servera datu apkopošanas procesus. Visbiežākais history cache pārslodzes gadījums ir 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 history cache lietojums sasniedz 80%, Zabbix serveris pāriet ierobežošanas režīmā. Ierobežošanas režīmā serveris pieņem starpniekserveru datus tikai tad, ja history cache lietojums ir zem 60%, pārmaiņus apkalpojot pieņemtos starpniekserverus. Kad history cache lietojums nokrītas zem 20%, serveris atgriežas normālajā režīmā.

Papildus tam normālajā režīmā Zabbix serveris ierobežo atsevišķus starpniekserverus, kas sūta ļoti lielas paketes (10 000+ ierakstu), ja history cache lietojums pārsniedz 60%. Šis lēmums tiek piemērots brīdī, kad serveris izvērtē starpniekservera augšupielādi, un tāpēc tas ne vienmēr uzreiz atspoguļojas history cache lietojuma grafikā (iekšējais vienums zabbix[wcache,history,pused] un tā atjaunināšanas intervāls var nepamanīt īslaicīgus pīķus).

Šis ierobežošanas režīms turpināsies līdz brīdim, kad vai nu kešatmiņas lietojums atkal sasniegs 80%, vai nokritīsies līdz 20%, vai arī ierobežošanas saraksts būs tukšs. Pirmajā gadījumā serveris atkal pārtrauks pieņemt starpniekserveru datus. Pārējos divos gadījumos serveris sāks darboties normāli, pieņemot datus no visiem starpniekserveriem.

Iepriekš minēto var ilustrēt šādā tabulā:

History write
cache usage
Zabbix server mode Zabbix server action
Sasniedz 80% Gaida Pārtrauc pieņemt starpniekserveru datus, bet saglabā ierobežošanas sarakstu (prioritizētu starpniekserveru sarakstu, ar kuriem vēlāk sazināties).
Sasniedz 60% Normāls, bet sagatavots ierobežošanai Var atteikt ļoti lielas starpniekserveru augšupielādes (vairāk nekā 10 tūkst. ierakstu), lemjot par datu pieņemšanu; turpina pieņemt citus starpniekserveru datus.
Nokrīt līdz 20% Normāls Atmet ierobežošanas sarakstu un sāk pieņemt starpniekserveru datus normāli.

Lai sasaistītu šo Zabbix servera uzvedību ar metrikām, varat izmantot iekšējo vienumu zabbix[wcache,history,pused].

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. Plašāku informāciju skatiet sadaļā Zabbix Cloud starpniekservera iestatīšana.

Lai konfigurētu starpniekserveri Zabbix lietotāja saskarnē:

  1. Dodieties uz Administration > Proxies.
  2. Noklikšķiniet uz Create proxy.
  3. 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 starpniekserveru slodzes balansēšanai/augstai pieejamībai.
Address for active agents Ievadiet adresi, kurai jāizveido savienojums uzraugāmajiem aktīvajiem aģentiem vai sūtītājiem. Atbalstīts tikai Zabbix 7.0 vai jaunāku versiju aģentiem.
Šī 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 puses, 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 vēl vairāk ierobežotu atļauto 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.
Neievietojiet sensitīvu informāciju PSK identitātē, jo tā tiek pārsūtī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ālās zīmes (256 baitu PSK), ja Zabbix izmanto GnuTLS vai OpenSSL bibliotēku, vai 64 heksadecimālās zīmes (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 šos datus telemetrijas datu avotā.

Parameter Description
Data collection enabled Atzīmējiet izvēles rūtiņu, lai starpniekserverī iespējotu telemetrijas datu apkopošanu.
Pirms telemetrijas datu apkopošanas iespējošanas starpniekservera konfigurācijas failā iestatiet StartAPMCollectors parametru uz 1.
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 nosūtīt ziņojumu vēlāk.
Add resource attributes Norādiet resursa atribūtus, kas jāpievieno atlasītā tipa ienākošajiem telemetrijas datiem (piemēram, lai atzīmētu visus šī starpniekservera saņemtos datus 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.
Name Ievadiet atribūta nosaukumu (piemēram, deployment.environment, cloud.region). Tam jābūt unikālam atlasītajam Type.
Value Ievadiet atribūta vērtību (piemēram, production, eu-central-1). Var būt tukša.
Type Atlasiet ienākošo datu tipu, uz kuru attiecas atribūts: Traces, Metrics vai Logs.

Cilne Timeouts ļauj ignorēt globālos noildzes iestatījumus vienumu tipiem, kas tos atbalsta.

Parameter Description
Timeouts for item types Iestatiet vienuma noildzi (atkarībā no tā tipa):
Global - izmantot globālo noildzi (kas tiek parādīta pelēkajā Timeout laukā pie katra vienuma tipa);
Override - iestatīt pielāgotu noildzi (katra vienuma tipa Timeout laukā). Atļautais diapazons: 1–600 s (pēc noklusējuma: mantots no globālajiem noildzes iestatījumiem). Tiek atbalstīti laika sufiksi, piemēram, 30s, 1m, un lietotāja makro.

Noklikšķinot uz saites Global timeouts, varat konfigurēt globālos noildzes iestatījumus. Ņemiet vērā, ka saite Global timeouts ir redzama tikai Super admin tipa lietotājiem, kuriem ir atļaujas sadaļai Administration > General lietotāja saskarnē.

Ņemiet vērā, ka, lai gan starpniekservera līmeņa noildzes iestatījumi ignorē globālos iestatījumus, tos ignorēs atsevišķu vienumu noildzes iestatījumi, 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.