4 Starpniekserveris

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.

Ņ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 zema līmeņa atklāšanas noteikumos.

Skatiet arī: Starpniekserveru izmantošana sadalītā vidē

Starpniekservera darbināšana

Ja instalēts kā pakotne

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

systemctl start zabbix-proxy

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

/etc/init.d/zabbix-proxy start

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

systemctl stop zabbix-proxy
systemctl restart zabbix-proxy
systemctl status zabbix-proxy
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:

zabbix_proxy

Ar Zabbix starpniekserveri varat izmantot šādus komandrindas parametrus:

-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:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
zabbix_proxy --help
zabbix_proxy -V
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.
Aktīvais Zabbix starpniekserveris izveidos savienojumu ar Zabbix serveri un pieprasīs konfigurācijas datus.
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;
preprocessing - pirmapstrādes pārvaldnieka statistika;
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.
Nav atbalstīts BSD sistēmās.
process type - visi norādītā tipa procesi (piem., poller).
Skatiet visus starpniekservera procesu tipus.
process type,N - procesa tips un numurs (piem., poller,3).
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.
Nav atbalstīts BSD sistēmās.
prof_enable[=<target>] Iespējot profilēšanu.
Ietekmē visus procesus, ja mērķis nav norādīts.
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).
Skatiet visus starpniekservera procesu tipus.
process type,N - procesa tips un numurs (piem., history syncer,1)
pid - procesa identifikators (1 līdz 65535). Lielākām vērtībām norādiet mērķi kā 'process type,N'.
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.
Ietekmē visus procesus, ja mērķis nav norādīts.
process type - visi norādītā tipa procesi (piem., history syncer).
Skatiet visus starpniekservera procesu tipus.
process type,N - procesa tips un numurs (piem., history syncer,1).
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:

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:

# 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:

zabbix_proxy -R snmp_cache_reload

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:

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:

# 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"
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ā.

Konfigurācijas fails

Skatiet konfigurācijas faila opcijas, lai iegūtu detalizētu informāciju par zabbix_proxy konfigurēšanu.

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.

Atbalstītās platformas

Zabbix starpniekserveris darbojas tajā pašā atbalstīto platformu sarakstā kā Zabbix serveris.

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 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 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 un 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.

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.

Rindas aprēķins apkopes laikā

Zabbix starpniekserveris nav informēts par apkopes periodiem; skatiet Rindas aprēķins apkopes laikā, lai iegūtu detalizētu informāciju.