[comment]: # ({0a2d9a93-0a2d9a93})
# 1 Starpniekserveri

[comment]: # ({/0a2d9a93-0a2d9a93})

[comment]: # ({c112bcf2-5a59cd81})
### Pārskats

Zabbix starpniekserveris var vākt veiktspējas un pieejamības datus Zabbix servera vārdā. Tādējādi starpniekserveris var uzņemties daļu no datu vākšanas slodzes un atslogot Zabbix serveri.

Tāpat starpniekservera izmantošana ir vienkāršākais veids, kā ieviest centralizētu un sadalītu uzraudzību, kad visi aģenti un starpniekserveri ziņo vienam Zabbix serverim un visi dati tiek vākti centralizēti.

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 serveri, uzraugot tūkstošiem ierīču
-   Vienkāršotu sadalītas uzraudzības uzturēšanu

![](../../../assets/en/manual/proxies/proxy.png){width="600"}

Starpniekserverim ir nepieciešams tikai viens TCP savienojums ar Zabbix serveri. Tādējādi ir vieglāk apiet ugunsmūri, jo jāiestata tikai viens ugunsmūra noteikums.

::: noteimportant
Zabbix starpniekserverim jāizmanto atsevišķa datubāze.
Norādot Zabbix servera datubāzi, konfigurācija tiks bojāta.
:::

Visi starpniekservera savāktie dati tiek lokāli saglabāti pirms to nosūtīšanas uz serveri. Tādējādi dati netiek zaudēti īslaicīgu sakaru problēmu ar serveri dēļ. Parametri *ProxyLocalBuffer* un *ProxyOfflineBuffer* [starpniekservera konfigurācijas failā](/manual/appendix/config/zabbix_proxy) nosaka, cik ilgi dati tiek glabāti lokāli.

::: noteimportant
Var gadīties, ka starpniekserverim, kas jaunākās konfigurācijas izmaiņas saņem tieši no Zabbix servera datubāzes, ir aktuālāka konfigurācija nekā Zabbix serverim, kura konfigurācija var netikt atjaunināta tik ātri parametra [CacheUpdateFrequency](/manual/appendix/config/zabbix_server) vērtības dēļ. Rezultātā starpniekserveris var sākt vākt datus un nosūtīt tos Zabbix serverim, kas šos datus ignorē.
:::

Zabbix starpniekserveris ir datu vācējs. Tas neaprēķina trigerus, 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*|

::: noteclassic
\[1\] Lai pārliecinātos, ka aģents aktīvajām pārbaudēm vaicā starpniekserverim, nevis serverim, starpniekserverim jābūt norādītam aģenta konfigurācijas faila parametrā **ServerActive**.<br>
\[2\] LLD gadījumā Zabbix starpniekserveris tikai savāc un priekšapstrādā datus, pēc tam nosūtot tos Zabbix serverim turpmākai apstrādei.
:::

[comment]: # ({/c112bcf2-5a59cd81})

[comment]: # ({bde28545-737fe0c2})
##### Aizsardzība pret pārslodzi

Ja Zabbix serveris kādu laiku bija dīkstāvē un starpniekserveri bija savākuši daudz datu, bet pēc tam serveris tiek palaists, tas var tikt pārslogots (vēstures kešatmiņas izmantojums kādu laiku saglabājas 95-100% līmenī). Šī pārslodze var izraisīt veiktspējas samazināšanos, jo pārbaudes tiek apstrādātas lēnāk, nekā tām vajadzētu. Lai novērstu problēmas, kas rodas vēstures kešatmiņas pārslodzes dēļ, tika ieviesta aizsardzība pret šo scenāriju.

Kad Zabbix servera vēstures kešatmiņa ir pilna, rakstīšanas piekļuve vēstures kešatmiņai tiek ierobežota, apturot servera datu vākšanas procesus. Visbiežākais vēstures kešatmiņas 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).

Zabbix serveris pārtrauks pieņemt datus no starpniekserveriem, kad vēstures kešatmiņas izmantojums sasniegs 80%. Tā vietā šie starpniekserveri tiks iekļauti ierobežošanas sarakstā. Tas turpināsies, līdz kešatmiņas izmantojums samazināsies līdz 60%. Tad serveris sāks pieņemt datus no starpniekserveriem pa vienam, kā noteikts ierobežošanas sarakstā. Tas nozīmē, ka pirmais starpniekserveris, kas mēģināja augšupielādēt datus ierobežošanas perioda laikā, tiks apkalpots pirmais, un līdz tā apstrāde būs pabeigta, serveris nepieņems datus no citiem starpniekserveriem.

Šis ierobežošanas režīms turpināsies, līdz vai nu kešatmiņas izmantojums atkal sasniegs 80%, vai samazinā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ēdējos divos gadījumos serveris sāks darboties normāli, pieņemot datus no visiem starpniekserveriem.

Iepriekš minēto informāciju var attēlot šajā tabulā:

|Vēstures rakstīšanas <br>kešatmiņas izmantojums|Zabbix servera režīms|Zabbix servera darbība|
|--|--|------|
|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āsies).|
|Samazinās līdz 60% |Ierobežots|Sāk apstrādāt ierobežošanas sarakstu, bet joprojām nepieņem starpniekserveru datus.|
|Samazinās līdz 20% |Normāls|Noņem ierobežošanas sarakstu un sāk normāli pieņemt starpniekserveru datus.|

Varat izmantot iekšējo vienumu [zabbix[wcache,history,pused]](/manual/config/items/itemtypes/internal#wcache), lai sasaistītu šo Zabbix servera darbību ar metriku.

[comment]: # ({/bde28545-737fe0c2})

[comment]: # ({0f7bc9e3-e3203196})
### Konfigurācija

Kad esat [instalējis](/manual/installation/install) un
[konfigurējis](/manual/appendix/config/zabbix_proxy) starpniekserveri, ir pienācis laiks
to konfigurēt Zabbix lietotāja saskarnē.

[comment]: # ({/0f7bc9e3-e3203196})

[comment]: # ({e8649a6d-a5555aaf})
##### Starpniekserveru pievienošana

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

-   Dodieties uz: *Administration → Proxies*
-   Noklikšķiniet uz *Create proxy*

![](../../../assets/en/manual/distributed_monitoring/proxy.png){width="600"}

|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](/manual/distributed_monitoring/proxies/ha).|
|*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.<br>Šī 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.<br>**Active** - starpniekserveris izveidos savienojumu ar Zabbix serveri un pieprasīs konfigurācijas datus<br>**Passive** - Zabbix serveris izveido savienojumu ar starpniekserveri<br>*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 ikviens var uzdoties par aktīvo 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.<br>Š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.<br>Š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](/manual/encryption) 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 vēl vairāk ierobežotu atļauto CA. Šis lauks nav obligāts un paredzēts lietošanai, ja jūsu Zabbix instalācijā tiek izmantoti sertifikāti no vairākiem CA.|
|*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.<br>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š koplietotā 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](/manual/web_interface/frontend_sections/administration/general#timeouts) noildzes laikus vienumu tipiem, kas to atbalsta.

![](../../../assets/en/manual/distributed_monitoring/proxy_timeout.png){width="600"}

|Parameter|Description|
|--|--------|
|*Timeouts for item types*|Atlasiet noildzes opciju:<br>**Global** - tiek izmantota globālā noildze (tā tiek parādīta pelēkajā laukā *Timeout* katram vienuma tipam);<br>**Override** - tiek izmantota pielāgota noildze (iestatīta laukā *Timeout* katram vienuma tipam). Atļautais diapazons: 1 - 600 s (noklusējums: mantots no [globālajiem](/manual/web_interface/frontend_sections/administration/general#timeouts) noildzes laikiem). Tiek atbalstīti [laika sufiksi](/manual/appendix/suffixes#time-suffixes), piemēram, 30s, 1m, un [lietotāja makrosi](/manual/config/macros/user_macros).<br><br>Noklikšķinot uz saites *Global timeouts*, varat konfigurēt [globālos](/manual/web_interface/frontend_sections/administration/general#timeouts) noildzes laikus. Ņemiet vērā, ka saite *Global timeouts* ir redzama tikai lietotājiem ar *Super admin* tipu un tiesībām uz *Administration* → [*General*](/manual/web_interface/frontend_sections/administration/general) lietotāja saskarnes sadaļu.<br><br>Atbalstītie vienumu tipi:<br>- [Zabbix aģents](/manual/config/items/itemtypes/zabbix_agent) (gan pasīvās, gan aktīvās pārbaudes)<br>- [Simple check](/manual/config/items/itemtypes/simple_checks) (izņemot `icmpping*`, `vmware.*` vienumus)<br>- [SNMP aģents](/manual/config/items/itemtypes/snmp) (tikai SNMP `walk[OID]` un `get[OID]` vienumiem)<br>- [External check](/manual/config/items/itemtypes/external)<br>- [Database monitor](/manual/config/items/itemtypes/odbc_checks)<br>- [HTTP aģents](/manual/config/items/itemtypes/http)<br>- [SSH aģents](/manual/config/items/itemtypes/ssh_checks)<br>- [TELNET aģents](/manual/config/items/itemtypes/telnet_checks)<br>- [Script](/manual/config/items/itemtypes/script)<br>- [Browser](/manual/config/items/itemtypes/browser)<br><br>Ņemiet vērā, ka noildzes laiki, kas iestatīti sadaļā **Override**, būs prioritāri pār globālajiem, taču tos var pārrakstīt atsevišķu vienumu noildzes laiki, ja tie ir iestatīti [vienuma konfigurācijā](/manual/config/items/item#configuration).|

::: noteclassic
Ja starpniekservera galvenā versija neatbilst servera galvenajai versijai,
blakus *Timeouts for item types* tiks parādīta
![](../../../assets/en/manual/distributed_monitoring/info_yellow.png){class="nozoom"} ikona ar
uznirstošo ziņojumu
"Timeouts disabled because the proxy and server versions do not match".
Šādos gadījumos starpniekserveris izmantos [`Timeout`](/manual/appendix/config/zabbix_proxy#timeout) parametru no starpniekservera konfigurācijas faila.
:::

Esoša starpniekservera rediģēšanas formai ir šā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

[comment]: # ({/e8649a6d-a5555aaf})

[comment]: # ({5fe15bb4-96c17aaf})
##### Hosts konfigurācija

Varat norādīt, ka atsevišķs hosts jāuzrauga ar starpniekserveri vai starpniekserveru grupu
[hosts konfigurācijas](/manual/config/hosts/host) formā, izmantojot
lauku *Monitored by*.

![](../../../assets/en/manual/proxies/proxy_set.png){width="600"}

Hosts [masveida atjaunināšana](/manual/config/hosts/hostupdate) ir vēl viens veids, kā
norādīt, ka hosts jāuzrauga ar starpniekserveri vai starpniekserveru grupu.

[comment]: # ({/5fe15bb4-96c17aaf})
