4 Starpniekserveris

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.

Ņ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ē

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
Palaist manuāli

Ja iepriekš minētais nedarbojas, tas ir jāpalaž manuāli. Atrodiet ceļu uz zabbix_proxy bināro failu un izpildiet:

zabbix_proxy

Ar Zabbix starpniekserveri var izmantot šādus komandrindas parametrus:

-c --config <file>              ceļš uz konfigurācijas failu
-f --foreground                 palaist Zabbix starpniekserveri priekšplānā
-R --runtime-control <option>   veikt administratīvās funkcijas
-T --test-config                pārbaudī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:

Opcija Apraksts Mērķis
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īvs Zabbix starpniekserveris izveidos savienojumu ar Zabbix serveri un pieprasīs konfigurācijas datus.
Pasīvs Zabbix starpniekserveris pieprasīs konfigurācijas datus no Zabbix servera nākamajā reizē, kad serveris izveidos savienojumu ar starpniekserveri.
history_cache_clear=target Notīrīt vēstures kešatmiņu vienumam, kas norādīts ar tā ID.
Ietekmē visas vienuma vērtības, izņemot pirmo un pēdējo vērtību.
target - vienuma ID
diaginfo[=<section>] Apkopot diagnostikas informāciju starpniekservera žurnālfailā. historycache - vēstures kešatmiņas statistika
preprocessing - priekšapstrādes pārvaldnieka statistika
locks - muteksu saraksts (ir tukšs BSD sistēmās)
snmp_cache_reload Pārlādēt SNMP kešatmiņu — notīrīt SNMP dzinēja rekvizītus (dzinēja laiks, dzinēja palaišanas reizes, dzinēja ID, akreditācijas dati) visiem hostiem. Izmantojiet, lai piespiestu globālu kešatmiņas notīrīšanu SNMP problēmu novēršanas laikā.
housekeeper_execute Sākt housekeeping procedūru. Tiek ignorēts, ja housekeeping procedūra pašlaik jau tiek izpildīta.
log_level_increase[=<target>] Palielināt žurnālošanas līmeni; ietekmē visus procesus, ja mērķis nav norādīts.
Netiek atbalstīts BSD sistēmās.
process type - Visi norādītā tipa procesi (piemēram, poller)
Skatiet visus starpniekservera procesu tipus.
process type,N - Procesa tips un numurs (piemēram, poller,3)
pid - Procesa identifikators (no 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ālošanas līmeni; ietekmē visus procesus, ja mērķis nav norādīts.
Netiek 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 detalizētu informāciju par visiem rwlocks/mutexes pēc funkcijas nosaukuma.
process type - Visi norādītā tipa procesi (piemēram, history syncer)
Skatiet visus starpniekservera procesu tipus.
process type,N - Procesa tips un numurs (piemēram, history syncer,1)
pid - Procesa identifikators (no 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ēram, history syncer,1,processing) vai visiem noteikta tipa procesiem (piemēram, 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ēram, history syncer)
Skatiet visus starpniekservera procesu tipus.
process type,N - Procesa tips un numurs (piemēram, history syncer,1)
pid - Procesa identifikators (no 1 līdz 65535). Lielākām vērtībām norādiet mērķi kā 'process type,N'.

Piemērs, kā izmantot izpildlaika vadību, lai pārlādētu starpniekservera konfigurācijas kešatmiņu:

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

Piemērs, kā izmantot izpildlaika vadību, lai notīrītu vēstures kešatmiņu vienumam:

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

Piemēri, kā izmantot izpildlaika vadību, lai apkopotu diagnostikas informāciju:

# Apkopot visu pieejamo diagnostikas informāciju starpniekservera žurnālfailā:
zabbix_proxy -R diaginfo

# Apkopot vēstures kešatmiņas statistiku starpniekservera žurnālfailā:
zabbix_proxy -R diaginfo=historycache

Piemērs, kā izmantot izpildlaika vadību, lai pārlādētu SNMP kešatmiņu:

zabbix_proxy -R snmp_cache_reload

Kad SNMPv3 saskarne tiek atjaunināta, izmantojot Zabbix lietotāja saskarni, Zabbix vairumā gadījumu automātiski pārlādēs jaunās SNMPv3 akreditācijas datus šai saskarnei; izmantojiet -R snmp_cache_reload tikai tad, ja aptauja joprojām neizdodas pēc akreditācijas datu izmaiņām (piemēram, engineBoots/engineID neatbilstību vai RFC neatbilstošu ierīču dēļ), vai ja problēmu novēršanas nolūkā nepieciešams piespiest globālu SNMP kešatmiņas notīrīšanu.

Piemērs, kā izmantot izpildlaika vadību, lai aktivizētu housekeeper izpildi:

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

Piemēri, kā izmantot izpildlaika vadību, lai mainītu žurnālošanas līmeni:

# Palielināt žurnālošanas līmeni visiem procesiem:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase

# Palielināt žurnālošanas līmeni otrajam poller procesam:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2

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

# Samazināt žurnālošanas līmeni visiem http poller procesiem:
zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
Procesa lietotājs

Zabbix starpniekserveris ir paredzēts darbībai kā lietotājam bez root tiesībām. Tas darbosies ar to lietotāju bez root tiesībām, ar kuru tas ir palaists. Tāpēc starpniekserveri varat palaist kā jebkuru lietotāju bez root tiesībām bez jebkādām problēmām.

Ja mēģināsiet to palaist kā 'root', tas pārslēgsies uz stingri definētu 'zabbix' lietotāju, kuram jābūt pieejamam jūsu sistēmā. Starpniekserveri var palaist kā 'root' tikai tad, ja attiecīgi maināt parametru 'AllowRoot' starpniekservera konfigurācijas failā.

Konfigurācijas fails

Detalizētu informāciju par zabbix_proxy konfigurēšanu skatiet konfigurācijas faila opcijās.

Starpniekservera procesu tipi un pavedieni

  • agent poller - asinhrons aptaujātāja process pasīvajām pārbaudēm ar darba pavedienu
  • availability manager - process hosta pieejamības atjauninājumiem
  • browser poller - aptaujātājs pārlūka vienumu pārbaudēm
  • configuration syncer - process konfigurācijas datu atmiņā esošā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 atklāšanas pārvaldnieka
  • history syncer - vēstures DB rakstītājs
  • housekeeper - process novecojušās vienumu vēstures noņemšanai
  • http agent poller - asinhrons aptaujātāja process HTTP pārbaudēm ar darba pavedienu
  • http poller - tīmekļa uzraudzības aptaujātājs
  • icmp pinger - aptaujātājs icmpping pārbaudēm
  • internal poller - aptaujātājs iekšējām pārbaudēm
  • ipmi manager - IPMI aptaujātāju pārvaldnieks
  • ipmi poller - aptaujātājs IPMI pārbaudēm
  • java poller - aptaujātājs Java pārbaudēm
  • odbc poller - aptaujātājs ODBC pārbaudēm
  • poller - parasts aptaujātājs 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šējās servera statistikas apkopošanai
  • snmp poller - asinhrons aptaujātāja process SNMP pārbaudēm ar darba pavedienu (tikai walk[OID] un get[OID] vienumi)
  • snmp trapper - uztvērējs SNMP slazdiem
  • task manager - process citu komponentu pieprasīto uzdevumu attālinātai izpildei (piemēram, problēmas aizvērš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, slazdiem, starpniekservera saziņai
  • unreachable poller - aptaujātājs nesasniedzamām ierīcēm
  • vmware collector - VMware datu savācējs, kas atbild par datu iegūšanu no VMware pakalpojumiem

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

Starpniekservera žurnālfails tiek izveidots ar lasīšanas-rakstīšanas atļaujām tikai faila īpašniekam. Papildus tam 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 iekšējo zabbix[process,<type>,<mode>,<state>] vienumu.

Vēstures sinhronizētāja transakciju statistika

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

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 izteiksmē "processed...in N (<timings>) sec" ir šādi:

  • Laiks, kas pavadīts, ierakstot vienumu vērtības datubāzē;
  • Laiks, kas pavadīts, atjauninot vienumu datus (stāvokli, kļūdas).
Tīrīšanas procedūra

Zabbix starpniekserverim ir housekeeper process, kas noņem novecojušu vienumu vēsturi un tendences. Tas darbojas ciklos, kuru biežumu nosaka HousekeepingFrequency, bet vienā ciklā dzēšamo datu ierobežojumu nosaka ProxyLocalBuffer un ProxyOfflineBuffer. Atšķirībā no Zabbix servera tīrīšanas procedūras, starpniekservera housekeeper process neizmanto housekeeper tabulu — tas dzēš visus novecojušos datus vienu reizi katrā tīrīšanas ciklā.

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, hostu automātisko reģistrāciju) buferī un augšupielādēt tos uz Zabbix serveris, nepiekļūstot datubāzei. Atmiņas buferis starpniekserverim ir pieejams kopš Zabbix 7.0.

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

Lai nodrošinātu optimālu veiktspēju, ieteicams starpniekserverī konfigurēt atmiņas bufera izmantošanu. To var izdarīt, mainot ProxyBufferMode vērtību no "disk" (stingri noteikta noklusējuma vērtība esošajām instalācijām) uz "hybrid" (ieteicams) vai "memory". Nepieciešams arī iestatīt atmiņas bufera lielumu (parametrs ProxyMemoryBufferSize).

Hibrīda režīmā buferis ir aizsargāts pret datu zudumu, ierakstot 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 ierakstītas datubāzē, starpniekserveris atgriežas pie atmiņas bufera izmantošanas.

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

Hibrīda režīms (ProxyBufferMode=hybrid) tiek izmantots visās jaunajās instalācijās kopš Zabbix 7.0.

Papildu parametri, piemēram, ProxyMemoryBufferSize un ProxyMemoryBufferAge, attiecīgi nosaka atmiņas bufera lielumu un maksimālo datu glabāšanas ilgumu buferī.

Ņemiet vērā, ka konfliktējošas konfigurācijas gadījumā starpniekserveris izdrukās kļūdu un neizdosies 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.

Rindu aprēķināšana apkopes laikā

Zabbix starpniekserveris nav informēts par apkopes periodiem; sīkāku informāciju skatiet sadaļā Rindu aprēķināšana apkopes laikā.