Izkliedētā uzraudzība, izmantojot starpniekserverus
Pārskats
Zabbix starpniekserverus var izmantot, lai izveidotu efektīvu un uzticamu sadalītu uzraudzības vidi.
Starpniekserveri tiek izvietoti lokāli, lai savāktu veiktspējas un pieejamības datus. Pēc tam dati tiek nosūtīti uz centralizētu serveri.
Zabbix starpniekserveri var izmantot, lai:
- Uzraudzītu attālas atrašanās vietas
- Uzraudzītu atrašanās vietas ar neuzticamu sakaru savienojumu
- Atslogotu Zabbix serveris, uzraugot tūkstošiem ierīču

Starpniekserverim ir nepieciešams tikai viens TCP savienojums ar Zabbix serveris. Tādējādi ir vieglāk apiet ugunsmūri, jo jāiestata tikai viens ugunsmūra noteikums.
Zabbix starpniekserverim jāizmanto atsevišķa datubāze. Norādot to uz Zabbix serveris datubāzi, konfigurācija tiks bojāta.
Visi dati, ko savāc starpniekserveris, tiek glabāti lokāli pirms to nosūtīšanas uz serveris.
Tādējādi netiek zaudēti dati īslaicīgu sakaru problēmu dēļ ar serveris.
Parametri ProxyLocalBuffer un ProxyOfflineBuffer starpniekservera konfigurācijas failā nosaka, cik ilgi dati tiek glabāti lokāli.
Var gadīties, ka starpniekserveris, kas saņem jaunākās konfigurācijas izmaiņas tieši no Zabbix serveris datubāzes, ir ar jaunāku konfigurāciju nekā Zabbix serveris, kura konfigurācija var netikt atjaunināta tik ātri CacheUpdateFrequency vērtības dēļ. Tā rezultātā starpniekserveris var sākt vākt datus un nosūtīt tos uz Zabbix serveris, kas šos datus ignorē.
Zabbix starpniekserveris ir datu savācējs. Tas neaprēķina trigeris, neapstrādā notikumus un nesūta brīdinājumus. Lai iegūtu pārskatu par starpniekservera funkcionalitāti, skatiet tālāk redzamo tabulu:
| Function | Supported by proxy | |
|---|---|---|
| Items | ||
| Zabbix agent checks | Yes | |
| Zabbix agent checks (active) | Yes 1 | |
| Simple checks | Yes | |
| Trapper items | Yes | |
| SNMP checks | Yes | |
| SNMP traps | Yes | |
| IPMI checks | Yes | |
| JMX checks | Yes | |
| Log file monitoring | Yes | |
| Internal checks | Yes | |
| SSH checks | Yes | |
| Telnet checks | Yes | |
| External checks | Yes | |
| Dependent items | Yes | |
| Script items | Yes | |
| Browser items | Yes | |
| Built-in web monitoring | Yes | |
| Item value preprocessing | Yes | |
| Network discovery | Yes | |
| Active agent autoregistration | Yes | |
| Low-level discovery | Yes 2 | |
| Remote commands | Yes | |
| Calculating triggers | No | |
| Processing events | No | |
| Event correlation | No | |
| Sending alerts | No | |
[1] Lai pārliecinātos, ka aģents pieprasa aktīvās pārbaudes no starpniekserveris (nevis no serveris), starpniekserverim jābūt norādītam aģenta konfigurācijas faila parametrā ServerActive.
[2] LLD gadījumā Zabbix starpniekserveris tikai savāc un priekšapstrādā datus, pēc tam nosūtot tos uz Zabbix serveris tālākai apstrādei.
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
Lai konfigurētu starpniekserveri Zabbix lietotāja saskarnē:
- Dodieties uz: Administration > Proxies
- Noklikšķiniet Create proxy

| Parameter | Description | |
|---|---|---|
| Proxy name | Ievadiet starpniekservera nosaukumu. Tam jābūt tādam pašam kā Hostname parametram starpniekservera konfigurācijas failā. | |
| Proxy group | Atlasiet vienu starpniekservera grupu starpniekserveru slodzes balansēšanai/augstai pieejamībai. | |
| Address for active agents | Ievadiet adresi, ar kuru jāizveido savienojums uzraudzītajiem aktīvajiem aģentiem vai sūtītājiem. Atbalstīts tikai Zabbix 7.0 aģentiem vai jaunākiem. Šī adrese tiek izmantota, lai izveidotu savienojumu gan ar aktīvajiem, gan pasīvajiem starpniekserveriem. Šis lauks ir pieejams tikai tad, ja Proxy group laukā ir atlasīta starpniekservera 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 makrosi. | |
| 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 Piezīme: ja netiek izmantota šifrēta saziņa, (sensitīvie) starpniekservera konfigurācijas dati var kļūt pieejami personām, kurām ir piekļuve Zabbix servera trapper portam, izmantojot aktīvo starpniekserveri. Tas ir iespējams, jo jebkurš var uzdoties par aktīvu starpniekserveri un pieprasīt konfigurācijas datus, ja autentifikācija nenotiek vai starpniekservera adreses nav ierobežotas laukā Proxy address. |
|
| Proxy address | Ja norādīts, aktīvā starpniekservera pieprasījumi tiek pieņemti tikai no šī ar komatiem atdalīto IP adrešu saraksta, pēc izvēles CIDR notācijā, vai aktīvā Zabbix starpniekservera DNS nosaukumiem. Šis lauks ir pieejams tikai tad, ja laukā Proxy mode ir atlasīts aktīvais starpniekserveris. Makrosi netiek atbalstīti. |
|
| Interface | Ievadiet pasīvā starpniekservera interfeisa informāciju. Šis lauks ir pieejams tikai tad, ja laukā Proxy mode ir atlasīts pasīvais 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 makrosi. | |
| 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 (noklusējums), izmantojot PSK (iepriekš koplietota atslēga) 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). Noklusējums ir "No encryption". |
| Issuer | Atļautais sertifikāta izdevējs. Sertifikāts vispirms tiek validēts ar CA (sertifikātu centru). Ja tas ir derīgs un parakstīts ar CA, tad lauku Issuer var izmantot, lai tālāk ierobežotu atļauto CA. Šis lauks nav obligāts un paredzēts izmantošanai, ja jūsu Zabbix instalācijā tiek izmantoti vairāku CA sertifikāti. |
| Subject | Atļautais sertifikāta subjekts. Sertifikāts vispirms tiek validēts ar CA. Ja tas ir derīgs un parakstīts ar CA, tad 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ījis konfigurētais CA. |
| PSK identity | Iepriekš koplietotās atslēgas identitātes virkne. Nevietojiet sensitīvu informāciju PSK identitātē, jo tā tiek pārsūtīta tīklā nešifrētā veidā, lai saņēmējam norādītu, 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, 64 heksadecimālie cipari (32 baitu PSK), ja Zabbix izmanto mbed TLS (PolarSSL) bibliotēku. Piemērs: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Cilne Timeouts ļauj pārrakstīt globālos noildzes laikus vienumu tipiem, kas to atbalsta.

| Parameter | Description |
|---|---|
| Timeouts for item types | Iestatiet vienuma noildzi (pamatojoties uz tā tipu): Global - izmantot globālo noildzi (tā tiek parādīta pelēkajā Timeout laukā katram vienuma tipam); Override - iestatīt pielāgotu noildzi (laukā Timeout katram vienuma tipam). Atļautais diapazons: 1 - 600 s (noklusējums: mantots no globālajām noildzēm). Tiek atbalstīti laika sufiksi, piemēram, 30s, 1m, un lietotāja makrosi. Noklikšķinot uz saites Global timeouts, varat konfigurēt globālās noildzes. Ņemiet vērā, ka saite Global timeouts ir redzama tikai lietotājiem ar Super admin tipu un tiesībām uz Administration > General lietotāja saskarnes sadaļu. Ņemiet vērā, ka, lai gan starpniekservera līmeņa noildzes pārraksta globālās noildzes, tās tiks pārrakstītas ar atsevišķu vienumu noildzēm, ja tās ir konfigurētas. |
Ja starpniekservera galvenā versija neatbilst servera galvenajai versijai, blakus Timeouts for item types tiks parādīta ikona
, un, uzvedot kursoru, tiks rādīts ziņojums "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 formā ir pieejamas šādas papildu pogas:
- Refresh configuration - atsvaidzināt starpniekservera konfigurāciju;
- Clone - izveidot jaunu starpniekserveri, pamatojoties uz esošā starpniekservera īpašībām;
- 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.