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 pavedienuavailability manager- process hosta pieejamības atjauninājumiembrowser poller- aptaujātājs pārlūka vienumu pārbaudēmconfiguration syncer- process konfigurācijas datu atmiņā esošās kešatmiņas pārvaldībaidata sender- starpniekservera datu sūtītājsdiscovery manager- pārvaldnieka process ierīču atklāšanaidiscovery worker- process atklāšanas uzdevumu apstrādei no atklāšanas pārvaldniekahistory syncer- vēstures DB rakstītājshousekeeper- process novecojušās vienumu vēstures noņemšanaihttp agent poller- asinhrons aptaujātāja process HTTP pārbaudēm ar darba pavedienuhttp poller- tīmekļa uzraudzības aptaujātājsicmp pinger- aptaujātājs icmpping pārbaudēminternal poller- aptaujātājs iekšējām pārbaudēmipmi manager- IPMI aptaujātāju pārvaldnieksipmi poller- aptaujātājs IPMI pārbaudēmjava poller- aptaujātājs Java pārbaudēmodbc poller- aptaujātājs ODBC pārbaudēmpoller- parasts aptaujātājs pasīvajām pārbaudēmpreprocessing manager- priekšapstrādes uzdevumu pārvaldnieks ar priekšapstrādes darba pavedieniempreprocessing worker- pavediens datu priekšapstrādeiself-monitoring- process iekšējās servera statistikas apkopošanaisnmp poller- asinhrons aptaujātāja process SNMP pārbaudēm ar darba pavedienu (tikaiwalk[OID]unget[OID]vienumi)snmp trapper- uztvērējs SNMP slazdiemtask 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ņaiunreachable poller- aptaujātājs nesasniedzamām ierīcēmvmware 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ā.