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
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. |
|
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 (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. 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 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 rwlock/mutex 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 target 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 target 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 target 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ē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, 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:
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 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]unget[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.
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).
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 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 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 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 un 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:
ProxyBufferModeir iestatīts uzhybridvaimemory, betProxyMemoryBufferSizeir0.ProxyBufferModeir iestatīts uzhybridvaimemory, betProxyLocalBuffernav0.
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ā.