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

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

[comment]: # ({a1963e1d-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 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 to ir vieglāk izmantot aiz ugunsmūra, jo jāiestata tikai viens ugunsmūra noteikums.

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

Visi dati, ko savāc starpniekserveris, tiek glabāti lokāli 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 [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 savā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 tālākai apstrādei.
:::

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

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

Ja Zabbix serveris kādu laiku bija nedarbojies 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 lietojums kādu laiku saglabājas 95-100% līmenī). Šī pārslodze var izraisīt veiktspējas samazināšanos, kur 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, aizkavējot 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 lietojums sasniegs 80%. Tā vietā šie starpniekserveri tiks ievietoti ierobežošanas sarakstā. Tas turpināsies, līdz kešatmiņas lietojums samazināsies līdz 60%. Tad serveris sāks pieņemt datus no starpniekserveriem pa vienam, saskaņā ar ierobežošanas sarakstu. 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 lietojums 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 šādā tabulā:

|History write <br>cache usage|Zabbix server mode|Zabbix server action|
|--|--|------|
|Sasniedz 80% |Gaida|Pārtrauc pieņemt starpniekserveru datus, bet uztur *ierobežošanas sarakstu* (prioritizētu starpniekserveru sarakstu, ar kuriem vēlāk sazināties).|
|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.|

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

[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 tāpēc, ka jebkurš var uzdoties par aktīvu starpniekserveri un pieprasīt konfigurācijas datus, ja autentifikācija nenotiek vai starpniekserveru 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š 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ārslēgšanai 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 papildus 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.<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 izmantots globālais noildzes laiks (katram vienuma tipam tas tiek parādīts pelēkajā laukā *Timeout*);<br>**Override** - tiek izmantots pielāgots noildzes laiks (iestatīts laukā *Timeout* katram vienuma tipam). Atļautais diapazons: 1 - 600s (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 agent](/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 agent](/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 agent](/manual/config/items/itemtypes/http)<br>- [SSH agent](/manual/config/items/itemtypes/ssh_checks)<br>- [TELNET agent](/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šķi vienuma 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 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

[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})
