Vides mainīgie
Pārskats
Vides mainīgie ļauj konfigurēt Zabbix komponentus, neiekodējot vērtības konfigurācijas failos. Tas atvieglo konfigurāciju pārvaldību dinamiskās vidēs, piemēram, Docker, kur mainīgos var nodot izpildes laikā, lai pielāgotos dažādām iestatījumu kombinācijām.
Vienkāršākajā gadījumā, iestatot Zabbix servera DebugLevel konfigurācijas parametra vērtību kā vides mainīgo, jūs pēc tam varat to izmantot servera konfigurēšanai startēšanas laikā:
# Zabbix servera konfigurācijas fails:
DebugLevel=${NEW_DEBUG_LEVEL}
# Zabbix servera palaišana:
NEW_DEBUG_LEVEL=5 /usr/sbin/zabbix_server
Vides mainīgie tiek atbalstīti šādos Zabbix komponentos:
- Serveris
- Starpniekserveris
- Aģents (UNIX vai Windows)
- Aģents 2 (UNIX vai Windows), tostarp spraudņi
- Tīmekļa pakalpojums
- Zabbix sender (izmantojot -c, --config opciju)
Svarīgas piezīmes
- Ja konfigurācijas parametrs ir iestatīts uz vides mainīgo, kas nav norādīts, palaižot komponentu, tiek izmantota parametra noklusējuma vērtība.
- Izmantojot izpildlaika komandas (piem., lai palielinātu aģenta žurnāla līmeni), ir jānorāda visi iepriekš izmantotie vides mainīgie. Tas ir tāpēc, ka Zabbix komponenti izpildlaika komandu veikšanai izmanto savu konfigurācijas failu; ja vides mainīgie tiek izlaisti, tiks izmantotas konfigurācijas parametru noklusējuma vērtības. Skatiet Piemēri.
userparameter_reloadizpildlaika komanda neatbalsta vides mainīgo pārlādi. Pārlādes laikā mainīgie tiek ignorēti, un tiek pārlādēti tikai parametri ar parastām vērtībām.- Procesa pašreizējie vides mainīgie, kas tika izmantoti konfigurācijas failos, tiek notīrīti pēc Zabbix komponenta palaišanas. Tas nodrošina, ka bērnprocesi (piem., attālinātie skripti, ko izpilda Zabbix) nevar piekļūt šiem mainīgajiem. Tomēr ņemiet vērā, ka procesa sākotnējos mainīgos joprojām var izgūt (piem., izmantojot failu
/proc/<PID>/environ).
Sintakse
Vides mainīgajiem jāizmanto šāda sintakse: ${burtcipari/apakšsvītras}.
Mainīgā nosaukumā drīkst būt tikai burti (a-z, A-Z), apakšsvītras (_), un cipari (0-9), un tas nedrīkst sākties ar ciparu.
Mainīgie, kas neatbilst prasītajai sintaksei vai ir apvienoti ar parastu vērtību, tiks uzskatīti par parastām vērtībām, kas var izraisīt kļūdas.
Pareiza mainīgā sintakse:
DebugLevel=${NEW_DEBUG_LEVEL}
Hostname=${ZBX_HOSTNAME}
LogFile=${LogFile_001}
Nepareiza mainīgā sintakse:
DebugLevel=${5_DebugLevel}
Hostname=${ZBX.HOSTNAME 1}
LogFile=/${HOME}/zabbix/zabbix_server.log
Operētājsistēmā Windows vides mainīgo nosaukumi nav reģistrjutīgi.
Piemēri
Tālāk redzamie piemēri parāda, kā konfigurēt un izmantot vides mainīgos ar Zabbix komponentiem.
Piemērs 1: Zabbix aģenta konfigurēšana un testēšana
1. Iestatiet vides mainīgos aģenta konfigurācijas failā:
Hostname=${ZBX_HOSTNAME}
ServerActive=${ServerActive}
2. Pārbaudiet konfigurācijas failu:
ZBX_HOSTNAME="New Zabbix agent" ServerActive=127.0.0.1 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf --test-config
3. Palaidiet aģentu ar vides mainīgajiem:
ZBX_HOSTNAME="New Zabbix agent" ServerActive=127.0.0.1 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
Izmantojot izpildlaika komandas (piemēram, lai palielinātu aģenta žurnāla līmeni), ir jānorāda visi iepriekš izmantotie vides mainīgie:
ZBX_HOSTNAME="New Zabbix agent" ServerActive=127.0.0.1 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -R log_level_increase
Tas ir tāpēc, ka aģents izmanto savu konfigurācijas failu izpildlaika komandu izpildei; ja vides mainīgie netiek norādīti, tiks izmantotas konfigurācijas parametru noklusējuma vērtības.
Alternatīvi, pēc vides mainīgo iestatīšanas aģenta konfigurācijas failā, jūs varat padarīt tos pieejamus procesiem (piemēram, izmantojot export komandu).
Tas samazina negaidītas darbības risku, ko var izraisīt trūkstoši vai nepareizi iestatīti mainīgie.
export ZBX_HOSTNAME="New Zabbix agent"
export ServerActive=127.0.0.1
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf --test-config
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -R log_level_increase
Piemērs 2: Zabbix aģenta konfigurēšana konteineram
Ja veidojat un konfigurējat savu pielāgoto attēlu Zabbix komponentiem (piem., Zabbix aģents), varat definēt konfigurācijas parametrus, izmantojot vides mainīgos, un pēc tam palaist konteineru ar šiem mainīgajiem.
1. Sagatavojot attēlu, iestatiet vides mainīgos aģenta konfigurācijas failā:
Hostname=${ZBX_HOSTNAME}
BufferSize=${BUFSZ}
ListenPort=${LISTENPORT}
UserParameter=${_UsrPar01}
UserParameter=${_UsrPar02}
2. Pēc konteinera attēla izveides palaidiet aģenta konteineru (piem., Docker) ar vides mainīgajiem:
docker run --name my-zabbix-agent -e ZBX_HOSTNAME="new-hostname" -e BUFSZ=1000 -e LISTENPORT=20050 -e _UsrPar01="key1,ls" -e _UsrPar02="key2,pwd" --init -d my-zabbix-agent:latest
3. Izmantojot izpildlaika komandas (piem., lai palielinātu aģenta žurnāla līmeni), piekļūstiet konteinera čaulai un izpildiet izpildlaika komandu:
docker exec -it <containerid> sh
/usr/sbin/zabbix_agentd -R log_level_increase
userparameter_reload izpildlaika komanda neatbalsta vides mainīgo pārlādi.
Pārlādes laikā mainīgie tiek ignorēti, un tiek pārlādēti tikai parametri ar parastām vērtībām.