Starpniekserveris
Pārskats
Zabbix starpniekserveris ir process, kas var apkopot uzraudzības datus no vienas vai vairākām uzraudzītām ierīcēm un nosūtīt šo informāciju Zabbix serverim, būtībā darbojoties servera vārdā. Visi apkopotie dati tiek lokāli buferēti un pēc tam pārsūtīti Zabbix serverim, kuram pieder starpniekserveris.
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, servera apstrādei ir nepieciešams mazāk CPU resursu un diska I/O.
Zabbix starpniekserveris ir ideāls risinājums attālu atrašanās vietu, filiāļu un tīklu centralizētai uzraudzībai, ja tajos nav vietējo administratoru.
Zabbix starpniekserverim ir nepieciešama atsevišķa datubāze.
Ņemiet vērā, ka Zabbix starpniekservera atbalstītās datubāzes ir SQLite, MySQL un PostgreSQL.
Skatiet arī:
- Izplatīta uzraudzība, izmantojot starpniekserverus
- Starpniekservera slodzes balansēšana un augsta pieejamība
- Uzraudzības konfigurācijas sinhronizācija
- Datu apmaiņas protokols starp serveri un starpniekserveri
- Konfigurācijas parametri: Zabbix starpniekserveris
- Zabbix Cloud starpniekservera iestatīšana
Darbojošs starpniekserveris
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:
| Parameter | Description |
|---|---|
-c --config <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 palīdzības informāciju un iziet. |
-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. |
|
history_cache_clear=target |
Notīrīt vēstures kešatmiņu vienumam, kas norādīts pēc tā ID. 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;preprocessing - pirmapstrādes pārvaldnieka statistika;locks - mutexu saraksts (sistēmās BSD tas ir tukš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 |
Palaist housekeeping procedūru. Tiek ignorēts, ja housekeeping 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. Nav 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 ( 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. Nav atbalstīts BSD sistēmās. |
|
prof_enable[=<target>] |
Iespējot profilēšanu. Ietekmē visus procesus, ja target nav norādīts. Iespējota profilēšana sniedz informāciju par visiem rwlocks/mutexiem 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 ( 1 līdz 65535). Lielākām vērtībām norādiet target kā 'process type,N'.scope - rwlock, mutex, processing var izmantot kopā ar procesa tipu un numuru (piemēram, history syncer,1,processing) vai visiem tipa procesiem (piemēram, history syncer,rwlock). |
prof_disable[=<target>] |
Atspējot profilēšanu. Ietekmē visus procesus, ja target 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 ( 1 līdz 65535). Lielākām vērtībām norādiet target kā 'process type,N'. |
Ja procesa tips ir norādīts kā izpildlaika vadības target, komanda attiecas tikai uz šī tipa aktīvajiem procesiem. Ja pašlaik nav aktīvs neviens norādītā tipa process, komanda atgriež kļūdu:
zabbix_proxy -R log_level_increase='data sender'
Cannot redirect signal: "data sender" process does not exist
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ērs, lai notīrītu vienuma vēstures kešatmiņu:
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:
# 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, vairumā gadījumu Zabbix automātiski pārlādēs šī interfeisa jaunos SNMPv3 akreditācijas datus; 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 piespiest globālu SNMP kešatmiņas notīrīšanu 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 darbībai kā lietotājam, kas nav root lietotājs. Tas darbosies kā jebkurš lietotājs, kas nav root lietotājs un ar kura tiesībām tas tiek palaists. Tāpēc starpniekserveri varat palaist kā jebkuru lietotāju, kas nav root lietotājs, bez problēmām.
Ja mēģināsiet to palaist kā root lietotāju, tas pārslēgsies uz kodā fiksēto lietotāju zabbix, kuram jābūt jūsu sistēmā.
Starpniekserveri kā root lietotāju varat palaist tikai tad, ja attiecīgi modificējat parametru AllowRoot starpniekservera konfigurācijas failā.
Konfigurācijas fails
Noklusējuma ceļš uz konfigurācijas failu ir atkarīgs no operētājsistēmas un Zabbix instalēšanas metodes:
- Instalācijai no avota kodiem:
/usr/local/etc/zabbix_proxy.conf, vai kā noteikts ar kompilēšanas laikā mainīgajiem--sysconfdirvai--prefix. - Instalācijai no pakotnēm:
/etc/zabbix/zabbix_proxy.conf.
Skatiet konfigurācijas faila opcijas, lai iegūtu informāciju par zabbix_proxy konfigurēšanu.
Starpniekservera procesu veidi un pavedieni
agent poller- asinhrons pollera process pasīvajām pārbaudēm ar darba pavedienu;apm manager- pārvaldnieka process lietojumprogrammu veiktspējas uzraudzībai (APM);apm worker- process lietojumprogrammu veiktspējas uzraudzības (APM) uzdevumu apstrādei noapm manager;availability manager- process hostu pieejamības atjaunināšanai;browser poller- polleris pārlūkprogrammas vienumu pārbaudēm;configuration syncer- process konfigurācijas datu atmiņas 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 nodiscovery manager;history syncer- vēstures datubāzes rakstītājs;housekeeper- process novecojušas vienumu vēstures noņemšanai;http agent poller- asinhrons pollera process HTTP pārbaudēm ar darba pavedienu;http poller- tīmekļa uzraudzības polleris;icmp pinger- polleris icmpping pārbaudēm;internal poller- polleris iekšējām pārbaudēm;ipmi manager- IPMI pollera pārvaldnieks;ipmi poller- polleris IPMI pārbaudēm;java poller- polleris Java pārbaudēm;odbc poller- polleris ODBC pārbaudēm;poller- parastais polleris 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 pollera process SNMP pārbaudēm ar darba pavedienu (tikaiwalk[OID]unget[OID]vienumiem);snmp trapper- trapperis SNMP trapu apstrādei;supervisor- koordinē servera procesu un pavedienu palaišanu un apturēšanu, kā arī uzrauga to gatavību;task manager- process citu komponentu pieprasītu uzdevumu attālai izpildei (piemēram, problēmas aizvēršanai, problēmas apstiprināšanai, vienuma vērtības tūlītējai pārbaudei un attālās komandas funkcionalitātei);telemetry query poller- polleris telemetrijas vaicājumu vienumu pārbaudēm;trapper- trapperis aktīvajām pārbaudēm, trapēm un saziņai ar starpniekserveri;unreachable poller- polleris nesasniedzamām ierīcēm;vmware collector- VMware datu savācējs, kas atbild par datu apkopošanu no VMware pakalpojumiem.
Šos procesu veidus var novērot starpniekservera žurnālfailā.
Starpniekservera žurnālfails tiek izveidots ar lasīšanas un rakstīšanas atļaujām tikai faila īpašniekam. Turklāt failu var lasīt īpašnieka grupa. Visas pārējās atļaujas ir liegtas.
Dažādus Zabbix starpniekservera procesu veidus var uzraudzīt, izmantojot iekšējo vienumu zabbix[process,<type>,<mode>,<state>].
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.
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).
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 dzēšanas ierobežojumu vienā ciklā 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 uz tā paša atbalstīto platformu saraksta kā Zabbix serveris.
Atmiņas buferis
Atmiņas buferis ļauj saglabāt jaunus datus (vienumu vērtības, tīkla atklāšanu, automātisku hostu reģistrāciju) buferī un augšupielādēt tos Zabbix serverī, nepiekļūstot datubāzei. Atmiņas buferis starpniekserverim tika ieviests Zabbix 7.0 versijā.
Instalācijās pirms Zabbix 7.0 apkopotie dati pirms augšupielādes Zabbix serverī tika saglabāti datubāzē. Šajās instalācijās šāda darbība arī pēc jaunināšanas uz Zabbix 7.0 paliek noklusējuma darbība.
Lai nodrošinātu optimālu veiktspēju, ieteicams konfigurēt atmiņas bufera izmantošanu starpniekserverī.
To var izdarīt, mainot ProxyBufferMode vērtību no disk (esošām instalācijām iepriekš iestatītā noklusējuma vērtība) uz hybrid (ieteicams) vai memory.
Ir jāiestata arī atmiņas bufera lielums (parametrs ProxyMemoryBufferSize).
Hibrīdajā režīmā buferis ir aizsargāts pret datu zudumu, nosūtot nenosūtītos datus uz datubāzi, ja starpniekserveris tiek apturēts, buferis ir pilns vai dati ir pārāk veci. Kad visas vērtības ir nosūtītas uz datubāzi, starpniekserveris atkal sāk izmantot atmiņas buferi.
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ārpildīta, nenosūtītie dati tiks atmesti.
Hibrīdais 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 vecumu buferī.
Ņemiet vērā, ka konfliktējošas konfigurācijas gadījumā starpniekserveris izvadīs kļūdu un neizdosies startēt, piemēram, ja:
ProxyBufferModeir iestatīts uzhybridvaimemoryunProxyMemoryBufferSizeir0.ProxyBufferModeir iestatīts uzhybridvaimemoryunProxyLocalBuffernav0.
Lokāle
Ņemiet vērā, ka starpniekserverim ir nepieciešama UTF-8 lokāle, lai dažus teksta vienumus varētu pareizi interpretēt. Lielākajai daļai mūsdienu Unix tipa sistēmu UTF-8 lokāle ir noklusējuma iestatījums, tomēr dažās sistēmās tā var būt jāiestata īpaši.
Rindu aprēķins apkopes laikā
Zabbix starpniekserveris nav informēts par apkopes periodiem; skatiet Rindu aprēķins apkopes laikā, lai iegūtu detalizētu informāciju.
Zabbix lietotāja saskarnes izmantošana aiz starpniekservera
Ja Zabbix lietotāja saskarne darbojas aiz starpniekservera, starpniekservera konfigurācijas failā ir jāpārraksta sīkfaila ceļš, lai tas atbilstu reversā starpniekservera ceļam. Skatiet tālāk sniegtos piemērus. Ja sīkfaila ceļš netiek pārrakstīts, lietotājiem, mēģinot pieteikties Zabbix lietotāja saskarnē, var rasties autorizācijas problēmas.
NGINX konfigurācijas piemērs
# ..
location / {
# ..
proxy_cookie_path /zabbix /;
proxy_pass http://192.168.0.94/zabbix/;
# ..
Apache konfigurācijas piemērs
# ..
ProxyPass "/" http://host/zabbix/
ProxyPassReverse "/" http://host/zabbix/
ProxyPassReverseCookiePath /zabbix /
ProxyPassReverseCookieDomain host zabbix.example.com
# ..