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.
1. piemērs: 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 izpildlaika komandu izpildei izmanto savu konfigurācijas failu; ja vides mainīgie netiek norādīti, tiks izmantotas konfigurācijas parametru noklusējuma vērtības.
Varat arī pēc vides mainīgo iestatīšanas aģenta konfigurācijas failā padarīt tos pieejamus procesiem (piemēram, izmantojot komandu export).
Tas samazina neparedzē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
2. piemērs: Zabbix aģenta konfigurēšana konteineram
Ja veidojat un konfigurējat savu pielāgoto Zabbix komponentu (piemēram, Zabbix aģenta) attēlu, 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ēram, Docker), izmantojot vides mainīgos:
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ēram, 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
Izpildlaika komanda userparameter_reload neatbalsta vides mainīgo atkārtotu ielādi.
Atkārtotas ielādes laikā mainīgie tiek ignorēti, un tiek atkārtoti ielādēti tikai parametri ar parastām vērtībām.