[comment]: # (tags: proxy)

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

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

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

Zabbix starpniekserveris ir process, kas var apkopot uzraudzības datus no viena vai vairākiem uzraudzītajiem ierīcēm un nosūtīt 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 apkopo tikai starpniekserveri, apstrāde serverī kļūst mazāk prasīga attiecībā uz CPU un diska I/O.

Zabbix starpniekserveris ir ideāls risinājums centralizētai attālinātu vietu, filiāļu un tīklu uzraudzībai bez vietējiem administratoriem.

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

::: noteimportant
Ņemiet vērā, ka datubāzes, ko atbalsta Zabbix starpniekserveris, ir SQLite, MySQL un PostgreSQL.
Oracle izmantošana ir uz jūsu pašu risku, un tai var būt daži ierobežojumi, piemēram, [atgrieztajās vērtībās](/manual/discovery/low_level_discovery#overview) zema līmeņa atklāšanas noteikumos.
:::

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

[comment]: # ({/598d8afb-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]: # ({484024fc-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.| |
|`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 (nav tukšs *BSD* sistēmās).|
|`snmp_cache_reload`|Pārlādēt SNMP kešatmiņu - notīrīt SNMP dzinēja īpašības (dzinēja laiks, dzinēja palaišanas reižu skaits, dzinēja ID, akreditācijas dati) 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 mērķis 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 mērķi kā 'process type,N'.|
|`log_level_decrease[=<target>]`|Samazināt žurnāla līmeni, ietekmē visus procesus, ja mērķis nav norādīts.<br>Nav atbalstīts *BSD* sistēmās.|^|
|`prof_enable[=<target>]`|Iespējot profilēšanu.<br>Ietekmē visus procesus, ja mērķis nav norādīts.<br>Iespējota profilēšana sniedz informāciju par visiem rwlocks/mutexes 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 mērķi 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 mērķis 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 mērķi 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ē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 visu 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]: # ({/484024fc-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]: # ({8cbeb29d-2cd46511})
#### Starpniekservera procesu tipi un pavedieni

-   `agent poller` - asinhrons aptaujas process pasīvajām pārbaudēm ar darba pavedienu;
-   `availability manager` - process host pieejamības atjauninājumiem;
-   `browser poller` - aptaujas process browser vienuma pārbaudēm;
-   `configuration syncer` - process konfigurācijas datu atmiņā glabātās 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 discovery manager;
-   `history syncer` - vēstures DB rakstītājs;
-   `housekeeper` - process novecojušas vienuma 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 (tikai `walk[OID]` un `get[OID]` vienumi);
-   `snmp trapper` - SNMP trapu uztvērējs;
-   `task manager` - process citu komponentu pieprasītu uzdevumu attālinātai izpildei (piem., problēmas slēgšana, problēmas apstiprināšana, vienuma vērtības pārbaude tagad, attālināto komandu funkcionalitāte);
-   `trapper` - uztvērējs aktīvajām pārbaudēm, trapām un starpniekservera saziņai;
-   `unreachable poller` - aptaujas process nesasniedzamu ierīču pārbaudei;
-   `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.

Kopš Zabbix 7.0.22 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]: # ({/8cbeb29d-2cd46511})

[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 šī joprojām ir noklusējuma darbība.

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ētais 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, tomēr 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 maksimālo datu vecumu buferī.

Ņemiet vērā, ka konfliktējošas konfigurācijas gadījumā starpniekserveris izvadīs kļūdu un neizdosies to palaist, piemēram, ja:

- `ProxyBufferMode` ir iestatīts uz `hybrid` vai `memory` un `ProxyMemoryBufferSize` ir `0`.
- `ProxyBufferMode` ir iestatīts uz `hybrid` vai `memory` un `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-6420ecbe})
#### Rindas aprēķins apkopes laikā

::: noteimportant
Zabbix starpniekserveris nav informēts par apkopes periodiem; skatiet [Rindas aprēķins apkopes laikā](/manual/maintenance#calculation-of-queues-during-maintenance), lai iegūtu detalizētu informāciju.
:::

[comment]: # ({/de7d29ed-6420ecbe})
