[comment]: # (tags: proxy)

[comment]: # ({f9458f4e-f9458f4e})
# 4 Starpniekserveris

[comment]: # ({/f9458f4e-f9458f4e})

[comment]: # ({a0844076-05d8de8a})
#### Pārskats

Zabbix starpniekserveris ir process, kas var vākt uzraudzības datus no vienas vai vairākām uzraudzītām ierīcēm un nosūtīt šo informāciju uz Zabbix serveri, būtībā darbojoties servera vārdā.
Visi savāktie dati tiek lokāli buferēti un pēc tam pārsūtīti uz Zabbix serveri, kuram starpniekserveris pieder.

Starpniekservera izvietošana nav obligāta, taču tā var būt ļoti noderīga, lai sadalītu viena Zabbix servera slodzi.
Ja datus vāc tikai starpniekserveri, apstrāde serverī prasa mazāk CPU un diska I/O resursu.

Zabbix starpniekserveris ir ideāls risinājums attālinātu atrašanās vietu, filiāļu un tīklu centralizētai uzraudzībai bez lokāliem administratoriem.

Zabbix starpniekserverim ir nepieciešama atsevišķa datubāze.

::: noteimportant
Ņemiet vērā, ka ar Zabbix starpniekserveri atbalstītās datubāzes ir SQLite, MySQL un PostgreSQL.
:::

Skatiet arī: [Starpniekserveru izmantošana izkliedētā vidē](/manual/distributed_monitoring/proxies)

[comment]: # ({/a0844076-05d8de8a})

[comment]: # ({709824a5-709824a5})
#### Starpniekservera darbināšana

[comment]: # ({/709824a5-709824a5})

[comment]: # ({70fd3646-a0a6c8d1})
##### Ja instalēts kā pakotne

Zabbix starpniekserveris darbojas kā dēmona process.
Starpniekserveri var palaist, izpildot:

```bash
systemctl start zabbix-proxy
```

Tas darbosies lielākajā daļā GNU/Linux sistēmu.
Citās sistēmās var būt nepieciešams palaist:

```bash
/etc/init.d/zabbix-proxy start
```

Līdzīgi, lai apturētu/pārstartētu/apskatītu Zabbix starpniekservera statusu, izmantojiet šādas komandas:

```bash
systemctl stop zabbix-proxy
systemctl restart zabbix-proxy
systemctl status zabbix-proxy
```

[comment]: # ({/70fd3646-a0a6c8d1})

[comment]: # ({5e827b2c-0b35181b})
##### Startēt manuāli

Ja iepriekš minētais nedarbojas, jums tas jāstartē manuāli.
Atrodiet `zabbix_proxy` binārā faila ceļu un izpildiet:

```bash
zabbix_proxy
```

Ar Zabbix starpniekserveri varat izmantot šādus komandrindas parametrus:

```bash
-c --config <file>              Konfigurācijas faila ceļš
-f --foreground                 Palaist Zabbix starpniekserveri priekšplānā
-R --runtime-control <option>   Veikt administratīvās funkcijas
-T --test-config                Validēt konfigurācijas failu un iziet
-h --help                       Parādīt šo palīdzību
-V --version                    Parādīt versijas numuru
```

Zabbix starpniekservera palaišanas piemēri ar komandrindas parametriem:

```bash
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
zabbix_proxy --help
zabbix_proxy -V
```

[comment]: # ({/5e827b2c-0b35181b})

[comment]: # ({b9a1c6fe-ee4dd6f0})
##### Izpildlaika vadība

Izpildlaika vadības opcijas:

|Option|Description|Target|
|--|------|------|
|`config_cache_reload`|Pārlādēt konfigurācijas kešatmiņu. Tiek ignorēts, ja kešatmiņa pašlaik tiek ielādēta.<br>Aktīvais Zabbix starpniekserveris izveidos savienojumu ar Zabbix serveri un pieprasīs konfigurācijas datus.<br>Pasīvais Zabbix starpniekserveris pieprasīs konfigurācijas datus no Zabbix servera nākamreiz, kad serveris izveidos savienojumu ar starpniekserveri.| |
|`history_cache_clear=target`|Notīrīt vēstures kešatmiņu vienumam, kas norādīts pēc tā ID.<br>Ietekmē visas vienuma vērtības, izņemot pirmo un pēdējo vērtību.|**target** - vienuma ID.|
|`diaginfo[=<section>]`|Savākt diagnostikas informāciju starpniekservera žurnāla failā.|`historycache` - vēstures kešatmiņas statistika;<br>`preprocessing` - pirmapstrādes pārvaldnieka statistika;<br>`locks` - mutexu saraksts (uz *BSD* sistēmām ir tukšs).|
|`snmp_cache_reload`|Pārlādēt SNMP kešatmiņu - notīrīt SNMP dzinēja īpašības (dzinēja laiku, dzinēja palaišanas reižu skaitu, dzinēja ID, akreditācijas datus) visiem hosts. Izmantojiet, lai piespiestu globālu kešatmiņas notīrīšanu, novēršot SNMP problēmas.| |
|`housekeeper_execute`|Sākt housekeeper procedūru. Tiek ignorēts, ja housekeeper procedūra pašlaik jau notiek.| |
|`log_level_increase[=<target>]`|Palielināt žurnāla līmeni, ietekmē visus procesus, ja target nav norādīts. <br>Nav atbalstīts *BSD* sistēmās.|**process type** - visi norādītā tipa procesi (piem., `poller`).<br>Skatiet visus [starpniekservera procesu tipus](#proxy-process-types-and-threads).<br>**process type,N** - procesa tips un numurs (piem., `poller,3`).<br>**pid** - procesa identifikators (`1` līdz `65535`). Lielākām vērtībām norādiet target kā 'process type,N'.|
|`log_level_decrease[=<target>]`|Samazināt žurnāla līmeni, ietekmē visus procesus, ja target nav norādīts.<br>Nav atbalstīts *BSD* sistēmās.|^|
|`prof_enable[=<target>]`|Iespējot profilēšanu.<br>Ietekmē visus procesus, ja target nav norādīts.<br>Iespējota profilēšana sniedz informāciju par visiem rwlock/mutex pēc funkcijas nosaukuma.|**process type** - visi norādītā tipa procesi (piem., `history syncer`).<br>Skatiet visus [starpniekservera procesu tipus](#proxy-process-types-and-threads).<br>**process type,N** - procesa tips un numurs (piem., `history syncer,1`)<br>**pid** - procesa identifikators (`1` līdz `65535`). Lielākām vērtībām norādiet target kā 'process type,N'.<br>**scope** - `rwlock`, `mutex`, `processing` var izmantot kopā ar procesa tipu un numuru (piem., `history syncer,1,processing`) vai visiem tipa procesiem (piem., `history syncer,rwlock`).|
|`prof_disable[=<target>]`|Atspējot profilēšanu.<br>Ietekmē visus procesus, ja target nav norādīts.|**process type** - visi norādītā tipa procesi (piem., `history syncer`).<br>Skatiet visus [starpniekservera procesu tipus](#proxy-process-types-and-threads).<br>**process type,N** - procesa tips un numurs (piem., `history syncer,1`).<br>**pid** - procesa identifikators (`1` līdz `65535`). Lielākām vērtībām norādiet target kā 'process type,N'.|

Izpildlaika vadības izmantošanas piemērs, lai pārlādētu starpniekservera konfigurācijas kešatmiņu:

```bash
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload
```

Izpildlaika vadības izmantošanas piemērs, lai notīrītu vienuma vēstures kešatmiņu:

```bash
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R history_cache_clear=42243
```

Izpildlaika vadības izmantošanas piemēri diagnostikas informācijas savākšanai:

```bash
# Savākt visu pieejamo diagnostikas informāciju starpniekservera žurnāla failā:
zabbix_proxy -R diaginfo

# Savākt vēstures kešatmiņas statistiku starpniekservera žurnāla failā:
zabbix_proxy -R diaginfo=historycache
```

Izpildlaika vadības izmantošanas piemērs, lai pārlādētu SNMP kešatmiņu:

```bash
zabbix_proxy -R snmp_cache_reload
```

::: noteimportant
Kad SNMPv3 interfeiss tiek atjaunināts, izmantojot Zabbix lietotāja saskarni, Zabbix vairumā gadījumu automātiski pārlādēs šī interfeisa jaunās SNMPv3 akreditācijas; izmantojiet `-R snmp_cache_reload` tikai tad, ja aptauja joprojām neizdodas pēc akreditācijas datu maiņas (piemēram, engineBoots/engineID neatbilstību vai ierīču, kas neatbilst RFC, dēļ), vai arī tad, ja nepieciešams piespiedu kārtā notīrīt globālo SNMP kešatmiņu problēmu novēršanai.
:::

Izpildlaika vadības izmantošanas piemērs, lai aktivizētu housekeeper izpildi:

```bash
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute
```

Izpildlaika vadības izmantošanas piemēri žurnāla līmeņa maiņai:

```bash
# Palielināt visu procesu žurnāla līmeni:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase

# Palielināt otrā poller procesa žurnāla līmeni:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2

# Palielināt procesa ar PID 1234 žurnāla līmeni:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234

# Samazināt visu http poller procesu žurnāla līmeni:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
```

[comment]: # ({/b9a1c6fe-ee4dd6f0})

[comment]: # ({2b13e467-a9af55d3})
##### Procesa lietotājs

Zabbix starpniekserveris ir paredzēts darbam kā lietotājs, kas nav root.
Tas darbosies ar jebkuru lietotāju, kas nav root, ar kuru tas tiek palaists.
Tāpēc jūs varat palaist starpniekserveri kā jebkuru lietotāju, kas nav root, bez jebkādām problēmām.

Ja mēģināsiet to palaist kā 'root', tas pārslēgsies uz iepriekš noteiktu 'zabbix' lietotāju, kuram jābūt pieejamam jūsu sistēmā.
Jūs varat palaist starpniekserveri kā 'root' tikai tad, ja attiecīgi modificējat `AllowRoot` parametru starpniekservera konfigurācijas failā.

[comment]: # ({/2b13e467-a9af55d3})

[comment]: # ({6e096a7b-441f5ec7})
##### Konfigurācijas fails

Skatiet [konfigurācijas faila](/manual/appendix/config/zabbix_proxy) opcijas, lai iegūtu detalizētu informāciju par `zabbix_proxy` konfigurēšanu.

[comment]: # ({/6e096a7b-441f5ec7})

[comment]: # ({ee7041c3-2cd46511})
#### Starpniekservera procesu tipi un pavedieni

-   `agent poller` - asinhrons aptaujas process pasīvajām pārbaudēm ar darba pavedienu;
-   `availability manager` - process hosts pieejamības atjauninājumiem;
-   `browser poller` - aptaujas process pārlūka vienumu pārbaudēm;
-   `configuration syncer` - process konfigurācijas datu atmiņā kešatmiņas pārvaldībai;
-   `data sender` - starpniekservera datu sūtītājs;
-   `discovery manager` - pārvaldnieka process ierīču atklāšanai;
-   `discovery worker` - process atklāšanas uzdevumu apstrādei no atklāšanas pārvaldnieka;
-   `history syncer` - vēstures DB rakstītājs;
-   `housekeeper` - process novecojušas vienumu vēstures noņemšanai;
-   `http agent poller` - asinhrons aptaujas process HTTP pārbaudēm ar darba pavedienu;
-   `http poller` - tīmekļa uzraudzības aptaujas process;
-   `icmp pinger` - aptaujas process icmpping pārbaudēm;
-   `internal poller` - aptaujas process iekšējām pārbaudēm;
-   `ipmi manager` - IPMI aptaujas pārvaldnieks;
-   `ipmi poller` - aptaujas process IPMI pārbaudēm;
-   `java poller` - aptaujas process Java pārbaudēm;
-   `odbc poller` - aptaujas process ODBC pārbaudēm;
-   `poller` - parasts aptaujas process pasīvajām pārbaudēm;
-   `preprocessing manager` - priekšapstrādes uzdevumu pārvaldnieks ar priekšapstrādes darba pavedieniem;
-   `preprocessing worker` - pavediens datu priekšapstrādei;
-   `self-monitoring` - process iekšējo servera statistikas datu apkopošanai;
-   `snmp poller` - asinhrons aptaujas process SNMP pārbaudēm ar darba pavedienu (`walk[OID]` un `get[OID]` vienumiem tikai);
-   `snmp trapper` - SNMP trapu apstrādātājs;
-   `task manager` - process citu komponentu pieprasītu uzdevumu attālinātai izpildei (piem., problēmas aizvēršana, problēmas apstiprināšana, vienuma vērtības pārbaude tagad, attālinātas komandas funkcionalitāte);
-   `trapper` - apstrādātājs aktīvajām pārbaudēm, trapām un starpniekservera saziņai;
-   `unreachable poller` - aptaujas process nesasniedzamām ierīcēm;
-   `vmware collector` - VMware datu savācējs, kas atbild par datu apkopošanu no VMware pakalpojumiem.

Starpniekservera žurnāla failu var izmantot, lai novērotu šos procesu tipus.

Sākot ar Zabbix 7.4.6, starpniekservera žurnāla fails tiek izveidots ar lasīšanas un rakstīšanas atļaujām tikai faila īpašniekam. Papildus fails ir lasāms īpašnieka grupai. Visas pārējās atļaujas ir liegtas.

Dažādus Zabbix starpniekservera procesu tipus var uzraudzīt, izmantojot `zabbix[process,<type>,<mode>,<state>]` iekšējo [vienumu](/manual/config/items/itemtypes/internal).

[comment]: # ({/ee7041c3-2cd46511})

[comment]: # ({93aa4b3e-2bebd420})
##### Vēstures sinhronizētāja transakciju statistika

Vēstures sinhronizētāja procesa nosaukums parāda detalizētu statistiku par vēstures sinhronizētāja transakcijām.

```bash
205276 ?        S      0:00  zabbix_proxy: history syncer #1 [processed 1 values in 0.001179 (0.001167,0.000000) sec, idle 1 sec]
205277 ?        S      0:00  zabbix_proxy: history syncer #2 [processed 0 values in 0.000022 (0.000000,0.000000) sec, idle 1 sec]
```

Laiki formātā `processed...in N (<timings>) sec` ir:

-   Laiks, kas pavadīts, rakstot vienuma vērtības datubāzē.
-   Laiks, kas pavadīts, atjauninot vienuma datus (stāvokli, kļūdas).

[comment]: # ({/93aa4b3e-2bebd420})

[comment]: # ({99df0923-087c822f})
#### Atbalstītās platformas

Zabbix starpniekserveris darbojas tajā pašā [atbalstīto platformu](/manual/concepts/server#supported-platforms) sarakstā kā Zabbix serveris.

[comment]: # ({/99df0923-087c822f})

[comment]: # ({f18fc440-d86eb1a8})
#### Atmiņas buferis

Atmiņas buferis ļauj saglabāt jaunus datus (vienumu vērtības, tīkla atklāšanu, host automātisko reģistrāciju) buferī un augšupielādēt tos Zabbix serveris, nepiekļūstot datubāzei.
Atmiņas buferis starpniekserverim tika ieviests Zabbix 7.0.

Instalācijās pirms Zabbix 7.0 savāktie dati pirms augšupielādes Zabbix serveris tika saglabāti datubāzē.
Šādām instalācijām pēc jaunināšanas uz Zabbix 7.0 tas joprojām ir noklusējuma darbības režīms.

Optimālai veiktspējai ieteicams konfigurēt atmiņas bufera izmantošanu starpniekserverī.
To var izdarīt, mainot [`ProxyBufferMode`](/manual/appendix/config/zabbix_proxy#proxybuffermode) vērtību no `disk` (cieti kodēts noklusējums esošajām instalācijām) uz `hybrid` (ieteicams) vai `memory`.
Tāpat ir jāiestata atmiņas bufera lielums ([`ProxyMemoryBufferSize`](/manual/appendix/config/zabbix_proxy#proxymemorybuffersize) parametrs).

Hibrīdajā režīmā buferis ir aizsargāts pret datu zudumu, iztukšojot nenosūtītos datus datubāzē, ja starpniekserveris tiek apturēts, buferis ir pilns vai dati ir pārāk veci.
Kad visas vērtības ir iztukšotas datubāzē, starpniekserveris atgriežas pie atmiņas bufera izmantošanas.

Atmiņas režīmā tiks izmantots atmiņas buferis, taču nav aizsardzības pret datu zudumu.
Ja starpniekserveris tiek apturēts vai atmiņa tiek pārslogota, nenosūtītie dati tiks atmesti.

Hibrīdais režīms (`ProxyBufferMode=hybrid`) tiek piemērots visām jaunajām instalācijām kopš Zabbix 7.0.

Papildu parametri, piemēram, [`ProxyMemoryBufferSize`](/manual/appendix/config/zabbix_proxy#proxymemorybuffersize) un [`ProxyMemoryBufferAge`](/manual/appendix/config/zabbix_proxy#proxymemorybufferage), attiecīgi nosaka atmiņas bufera lielumu un datu maksimālo vecumu buferī.

Ņemiet vērā, ka konfliktējošas konfigurācijas gadījumā starpniekserveris izvadīs kļūdu un netiks palaists, piemēram, ja:
  
-   `ProxyBufferMode` ir iestatīts uz `hybrid` vai `memory`, bet `ProxyMemoryBufferSize` ir `0`.
-   `ProxyBufferMode` ir iestatīts uz `hybrid` vai `memory`, bet `ProxyLocalBuffer` nav `0`.

[comment]: # ({/f18fc440-d86eb1a8})

[comment]: # ({b4e0a962-c703b792})
#### Lokalizācija

Ņemiet vērā, ka starpniekserverim ir nepieciešama UTF-8 lokalizācija, lai dažus teksta vienumus varētu interpretēt pareizi.
Lielākajā daļā mūsdienu Unix tipa sistēmu UTF-8 lokalizācija ir iestatīta pēc noklusējuma, tomēr ir arī sistēmas, kurās tā ir jāiestata atsevišķi.

[comment]: # ({/b4e0a962-c703b792})

[comment]: # ({de7d29ed-19fb9631})
#### Rindu aprēķināšana apkopes laikā

::: noteimportant
Zabbix starpniekserveris nav informēts par apkopes periodiem; sīkāku informāciju skatiet sadaļā [Rindu aprēķināšana apkopes laikā](/manual/maintenance#calculation-of-queues-during-maintenance).
:::

[comment]: # ({/de7d29ed-19fb9631})
