1 Serveris
Pārskats
Zabbix serveris ir Zabbix programmatūras centrālais process.
Serveris veic datu aptaujāšanu un saņemšanu, aprēķina trigerus, sūta paziņojumus lietotājiem. Tas ir centrālais komponents, kuram Zabbix aģenti un starpniekserveri ziņo datus par sistēmu pieejamību un integritāti. Serveris pats var arī attālināti pārbaudīt tīkla pakalpojumus (piemēram, tīmekļa serverus un pasta serverus), izmantojot vienkāršas pakalpojumu pārbaudes.
Serveris ir centrālā krātuve, kurā tiek glabāti visi konfigurācijas, statistikas un darbības dati, un tā ir Zabbix vienība, kas aktīvi brīdinās administratorus, kad kādā no uzraudzītajām sistēmām radīsies problēmas.
Pamata Zabbix servera darbība ir sadalīta trīs atsevišķos komponentos; tie ir: Zabbix serveris, tīmekļa lietotāja saskarne un datubāzes krātuve.
Visa Zabbix konfigurācijas informācija tiek glabāta datubāzē, ar kuru mijiedarbojas gan serveris, gan tīmekļa lietotāja saskarne. Piemēram, kad izveidojat jaunu vienumu, izmantojot tīmekļa lietotāja saskarni (vai API), tas tiek pievienots datubāzes tabulai items. Pēc tam aptuveni reizi minūtē Zabbix serveris vaicā tabulu items, lai iegūtu aktīvo vienumu sarakstu, kas pēc tam tiek saglabāts kešatmiņā Zabbix serverī. Tāpēc var paiet līdz divām minūtēm, līdz jebkuras Zabbix lietotāja saskarnē veiktās izmaiņas parādās jaunāko datu sadaļā.
Servera palaišana
Ja instalēts kā pakotne
Zabbix serveris darbojas kā dēmona process. Serveri var palaist, izpildot:
systemctl start zabbix-server
Tas darbosies lielākajā daļā GNU/Linux sistēmu. Citās sistēmās jums var būt nepieciešams izpildīt:
/etc/init.d/zabbix-server start
Līdzīgi, lai apturētu/pārstartētu/apskatītu statusu, izmantojiet šādas komandas:
systemctl stop zabbix-server
systemctl restart zabbix-server
systemctl status zabbix-server
Palaist manuāli
Ja iepriekš minētais nedarbojas, tas ir jāpalaiž manuāli. Atrodiet ceļu uz zabbix_server bināro failu un izpildiet:
zabbix_server
Ar Zabbix serveris var izmantot šādus komandrindas parametrus:
-c --config <file> ceļš uz konfigurācijas failu (noklusējums ir /usr/local/etc/zabbix_server.conf)
-f --foreground palaist Zabbix serveris 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 serveris palaišanas piemēri ar komandrindas parametriem:
zabbix_server -c /usr/local/etc/zabbix_server.conf
zabbix_server --help
zabbix_server -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. | |
| 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 servera žurnālfailā. | historycache - vēstures kešatmiņas statistika valuecache - vērtību kešatmiņas statistika preprocessing - priekšapstrādes pārvaldnieka statistika alerting - brīdinājumu pārvaldnieka statistika lld - LLD pārvaldnieka statistika locks - muteksu saraksts (ir tukšs BSD sistēmās) connector - statistika savienotājiem ar lielāko rindu |
| ha_status | Reģistrēt augstas pieejamības (HA) klastera statusu žurnālā. | |
| ha_remove_node=target | Noņemt augstas pieejamības (HA) mezglu, kas norādīts ar tā nosaukumu vai ID. Ņemiet vērā, ka aktīvos/gaidstāves mezglus nevar noņemt. |
target - mezgla nosaukums vai ID (var iegūt, izpildot ha_status) |
| ha_set_failover_delay=delay | Iestatīt augstas pieejamības (HA) pārslēgšanās aizturi. Tiek atbalstīti laika sufiksi, piemēram, 10s, 1m. |
|
| proxy_config_cache_reload[=<target>] | Pārlādēt starpniekservera konfigurācijas kešatmiņu. | target - ar komatiem atdalīts starpniekserveru nosaukumu saraksts Ja mērķis nav norādīts, pārlādēt konfigurāciju visiem starpniekserveriem |
| secrets_reload | Pārlādēt noslēpumus no Vault. | |
| service_cache_reload | Pārlādēt pakalpojumu pārvaldnieka kešatmiņu. | |
| 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 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 tīrīšanas procedūru. Tiek ignorēts, ja tīrīšanas procedūra pašlaik tiek izpildīta. |
|
| trigger_housekeeper_execute | Sākt trigeru tīrīšanas procedūru. Tiek ignorēts, ja trigeru tīrīšanas procedūra pašlaik 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 servera 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 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 rwlock/mutex pēc funkcijas nosaukuma. |
process type - visi norādītā tipa procesi (piemēram, history syncer) Atbalstītie procesu tipi kā profilēšanas mērķi: alerter, alert manager, availability manager, configuration syncer, discovery manager, escalator, history poller, history syncer, housekeeper, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy poller, self-monitoring, service manager, snmp trapper, task manager, timer, trapper, unreachable poller, vmware collector 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 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 šī 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) Atbalstītie procesu tipi kā profilēšanas mērķi: skatiet prof_enableprocess 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 mērķi kā 'process type,N'. |
Piemērs, kā izmantot izpildlaika vadību, lai pārlādētu servera konfigurācijas kešatmiņu:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload
Piemēri, kā izmantot izpildlaika vadību, lai pārlādētu starpniekservera konfigurāciju:
# Pārlādēt visu starpniekserveru konfigurāciju:
zabbix_server -R proxy_config_cache_reload
# Pārlādēt Proxy1 un Proxy2 konfigurāciju:
zabbix_server -R proxy_config_cache_reload=Proxy1,Proxy2
Piemērs, kā izmantot izpildlaika vadību, lai notīrītu vēstures kešatmiņu vienumam:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R history_cache_clear=42243
Piemēri, kā izmantot izpildlaika vadību, lai iegūtu diagnostikas informāciju:
# Iegūt visu pieejamo diagnostikas informāciju servera žurnālfailā:
zabbix_server -R diaginfo
# Iegūt vēstures kešatmiņas statistiku servera žurnālfailā:
zabbix_server -R diaginfo=historycache
Piemērs, kā izmantot izpildlaika vadību, lai pārlādētu SNMP kešatmiņu:
zabbix_server -R snmp_cache_reload
Kad SNMPv3 saskarne tiek atjaunināta, izmantojot Zabbix UI, Zabbix vairumā gadījumu automātiski pārlādēs šīs saskarnes jaunos SNMPv3 akreditācijas datus; 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ūkos nepieciešams piespiedu kārtā notīrīt globālo SNMP kešatmiņu.
Piemērs, kā izmantot izpildlaika vadību, lai aktivizētu housekeeper izpildi:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute
Piemēri, kā izmantot izpildlaika vadību, lai mainītu žurnāla līmeni:
# Palielināt žurnāla līmeni visiem procesiem:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
# Palielināt žurnāla līmeni otrajam poller procesam:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
# Palielināt žurnāla līmeni procesam ar PID 1234:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
# Samazināt žurnāla līmeni visiem http poller procesiem:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
Piemērs, kā iestatīt HA pārslēgšanās aizkavi uz minimālajām 10 sekundēm:
zabbix_server -R ha_set_failover_delay=10s
Procesa lietotājs
Zabbix serveris ir paredzēts darbībai kā lietotājam bez root tiesībām. Tas darbosies ar jebkuru lietotāju bez root tiesībām, ar kuru tas ir palaists. Tāpēc serveri varat bez problēmām palaist kā jebkuru lietotāju bez root tiesībām.
Ja mēģināsiet to palaist kā 'root', tas pārslēgsies uz stingri definētu 'zabbix' lietotāju, kuram jābūt izveidotam jūsu sistēmā. Serveri var palaist kā 'root' tikai tad, ja attiecīgi modificējat parametru 'AllowRoot' servera konfigurācijas failā.
Ja Zabbix serveris un aģents darbojas vienā un tajā pašā datorā, ieteicams servera darbināšanai izmantot citu lietotāju nekā aģenta darbināšanai. Pretējā gadījumā, ja abi darbojas ar vienu un to pašu lietotāju, aģents var piekļūt servera konfigurācijas failam, un jebkurš Zabbix administrators ar Admin līmeņa tiesībām var diezgan viegli iegūt, piemēram, datubāzes paroli.
Konfigurācijas fails
Detalizētu informāciju par zabbix_server konfigurēšanu skatiet konfigurācijas faila opcijās.
Startēšanas skripti
Skripti tiek izmantoti, lai sistēmas palaišanas/izslēgšanas laikā automātiski palaistu/apturētu Zabbix procesus. Skripti atrodas direktorijā misc/init.d.
Servera procesu tipi un pavedieni
agent poller- asinhrons aģenta aptaujātāja process pasīvajām pārbaudēm ar darba pavedienualert manager- brīdinājumu rindas pārvaldnieksalert syncer- brīdinājumu DB rakstītājsalerter- process paziņojumu sūtīšanaiavailability manager- process hostu pieejamības atjaunināšanaibrowser poller- aptaujātājs pārlūka vienumu pārbaudēmconfiguration syncer- process konfigurācijas datu atmiņā esošās kešatmiņas pārvaldībaiconfiguration syncer worker- process lietotāja makro vērtību atrisināšanai un sinhronizēšanai vienumu nosaukumosconnector manager- savienotāju pārvaldnieka processconnector worker- process pieprasījumu apstrādei no savienotāju pārvaldniekadiscovery manager- pārvaldnieka process ierīču atklāšanaidiscovery worker- process atklāšanas uzdevumu apstrādei no atklāšanas pārvaldniekaescalator- process darbību eskalācijaiha manager- process augstas pieejamības pārvaldībaihistory poller- process aprēķināto pārbaužu apstrādei, kurām nepieciešams datubāzes savienojumshistory syncer- vēstures DB rakstītājshousekeeper- process novecojušu datu (vienumu vēstures un tendenču, lietotāju sesiju, notikumu u.c.), kā arī pēc dzēstiem objektiem palikušo datu noņemšanaihttp agent poller- asinhrons HTTP aģenta 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ēmlld manager- zema līmeņa atklāšanas uzdevumu pārvaldnieka processlld worker- zema līmeņa atklāšanas uzdevumu darba processodbc 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ādeiproxy poller- aptaujātājs pasīvajiem starpniekserveriemproxy group manager- starpniekserveru slodzes līdzsvarošanas un augstas pieejamības pārvaldnieksreport manager- plānoto atskaišu ģenerēšanas uzdevumu pārvaldnieksreport writer- process plānoto atskaišu ģenerēšanaiself-monitoring- process iekšējās servera statistikas apkopošanaiservice manager- process pakalpojumu pārvaldībai, saņemot informāciju par problēmām, problēmu birkām un problēmu atkopšanu no history syncer, task manager un alert managersnmp poller- asinhrons SNMP 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)timer- taimeris uzturēšanas periodu apstrādeitrapper- uztvērējs aktīvajām pārbaudēm, slazdiem, starpniekservera saziņaitrigger housekeeper- process problēmu un notikumu noņemšanai, ko ģenerējuši trigeri, kuri kopš tā laika ir dzēstiunreachable poller- aptaujātājs nesasniedzamām ierīcēmvmware collector- VMware datu savācējs, kas atbild par datu iegūšanu no VMware pakalpojumiem
Servera žurnālfailu var izmantot, lai novērotu šos procesu tipus.
Servera ž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 servera 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 parāda detalizētu statistiku par vēstures sinhronizētāja transakcijām:
205182 ? S 0:00 zabbix_server: history syncer #2 [processed 0 values, 0+0 triggers in 0.000021 (0.000000,0.000000,0.000000,0.000000,0.000000) sec, idle 1 sec]
205183 ? S 0:00 zabbix_server: history syncer #3 [processed 18 values, 7+0 triggers in 0.002612 (0.001108,0.000000,0.000000,0.001208,0.000014) sec, idle 1 sec]
205184 ? S 0:00 zabbix_server: history syncer #4 [processed 0 values, 0+0 triggers in 0.000027 (0.000000,0.000000,0.000000,0.000000,0.000000) sec, idle 1 sec]
Sadaļā "A+B trigeri":
- A - trigeri, kas apstrādāti vēstures vērtību dēļ;
- B - trigeri, kas apstrādāti taimeru dēļ.
Laiki sadaļā "processed...in N (<timings>) sec" ir:
- Laiks, kas pavadīts, ierakstot vienumu vērtības datubāzē;
- Laiks, kas pavadīts, atjauninot vienumu datus (stāvokli, kļūdas, hosta inventāru utt.);
- Laiks, kas pavadīts, saglabājot tendenču datus datubāzē;
- Laiks, kas pavadīts, aprēķinot trigerus;
- Laiks, kas pavadīts, apstrādājot notikumus un darbības.
Housekeeping procedūra
housekeeper process periodiski noņem novecojušus datus (vienumu vēsturi un tendences, lietotāju sesijas, notikumus utt.), kā arī datus, kas palikuši pēc dzēstiem objektiem.
Tas darbojas ciklos, kuru biežumu un vienā ciklā dzēšamo ierakstu limitu nosaka HousekeepingFrequency un MaxHousekeeperDelete.
Visi dati, kas netiek noņemti vienā ciklā, tiek pārcelti uz nākamo.
Automātisko housekeeping var iespējot un konfigurēt sadaļā Administration > Housekeeping.
Lai noņemtu datus, kas palikuši pēc dzēstiem objektiem, housekeeper process izmanto uzdevumus no housekeeper tabulas, kas tiek aizpildīta ikreiz, kad objekts tiek dzēsts.
Piemēram, dzēšot hostu, Zabbix dzēš arī tā vienumus, bet ne to vēsturi, tendences vai problēmas.
Tā vietā datubāzes trigeri aizpilda housekeeper tabulu ar uzdevumiem, kas sastāv no šiem laukiem:
housekeeperid- uzdevuma IDobject- objekta tips (0- vienums;1- trigeris;2- pakalpojums;3- atklātais hosts;4- atklātais pakalpojums)objectid- objekta ID (palīdz housekeeper atrast ar objektu saistītos datus)
Piemēram, dzēšot hostu ar diviem vienumiem un vienu trigeri, housekeeper tabula tiek aizpildīta šādi:
+---------------+--------+----------+
| housekeeperid | object | objectid |
+---------------+--------+----------+
| 1 | 1 | 28724 |
| 2 | 0 | 59396 |
| 3 | 0 | 59397 |
+---------------+--------+----------+
Datubāzes trigeri aizpilda housekeeper tabulu, nepārbaudot, vai pastāv ar objektu saistīti dati; šo pārbaudi veic housekeeper process.
Katrs uzdevums rada vienu vai vairākas housekeeper darbības, kas ir atkarīgas no objekta tipa:
-
Vienumiem (ieskaitot LLD kārtulas) - noņem datus no visām vēstures un tendenču tabulām (
history,history_str,history_log,history_uint,history_text,history_bin,history_json,trends,trends_uint), kurās ir šo vienumu vērtības. Tāpat pārbaudaproblemstabulu un noņem novecojušus iekšējos notikumus, kas saistīti ar šiem vienumiem. -
Trigeriem - pārbauda ar notikumiem saistītās tabulas (
problem,event_symptom,event_recovery,events) un noņem novecojušus notikumus, kas ir saistīti ar šiem trigeriem, kā arī paziņoservice managerprocesam par noņemtajiem notikumiem.
Atsevišķs trigger housekeeper process veic šaurāku uzdevumu — noņem problēmas un notikumus, kuriem nav zināma avota trigeris.
Tā palaišanas biežumu kontrolē ProblemHousekeepingFrequency.
Līdz trigger housekeeping procedūras palaišanai problēmas, ko izraisījuši vēlāk dzēsti trigeri, joprojām var ģenerēt pakalpojumu problēmas un piesaistīt tās pakalpojumiem. Ja jūsu vidē ir daudz pakalpojumu statusa aprēķināšanas kārtulu, kas balstītas uz bieži atklātiem/slēptiem trigeriem, apsveriet iespēju palielināt housekeeping procedūras biežumu, pielāgojot servera konfigurācijas parametru ProblemHousekeepingFrequency.
-
Pakalpojumiem - pārbauda
problemstabulu un noņem novecojušus pakalpojumu notikumus, kā arī novecojušas pakalpojumu problēmas, tādējādi tās atrisinot housekeeping izpildes laikā. -
Tīkla atklāšanai - noņem novecojušus atklāšanas notikumus no
problemstabulas.
Housekeeper noņem tikai tos notikumus, kas nav saistīti ar problēmām. Piemēram, novecojis problēmas/atkopšanas notikums netiks noņemts, ja tas ir saistīts ar atvērtu problēmu. Kad housekeeper noņem novecojušas entītijas, tas vispirms noņem problēmas un pēc tam notikumus.
Tabulas, kas izmanto partition režīmu (TimescaleDB particionētās tabulas), tiek izlaistas; tiek apstrādātas tikai tabulas, kas izmanto regular režīmu.
Atbalstītās platformas
Drošības prasību un servera darbības kritiski svarīgā rakstura dēļ UNIX ir vienīgā operētājsistēma, kas spēj pastāvīgi nodrošināt nepieciešamo veiktspēju, kļūdu noturību un darbības nepārtrauktību. Zabbix darbojas tirgū vadošajās versijās.
Zabbix serveris ir testēts šādās platformās:
- Linux
- Solaris
- AIX
- HP-UX
- Mac OS X
- FreeBSD
- OpenBSD
- NetBSD
- SCO Open Server
Zabbix var darboties arī citās Unix tipa operētājsistēmās.
Lokalizācija
Ņemiet vērā, ka serveris pieprasa UTF-8 lokalizāciju, lai daži teksta vienumi varētu tikt pareizi interpretēti. Lielākajā daļā mūsdienu Unix tipa sistēmu UTF-8 lokalizācija ir iestatīta pēc noklusējuma, tomēr ir sistēmas, kurās tā ir jānorāda īpaši.