[comment]: # translation:outdated

[comment]: # ({39c4b215-26ad891b})
# 10 Vides mainīgie

[comment]: # ({/39c4b215-26ad891b})

[comment]: # ({5b980b7e-72128caf})
#### 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 konfigurācijām.

Vienkāršākajā gadījumā, iestatot Zabbix servera [DebugLevel](/manual/appendix/config/zabbix_server#debuglevel) konfigurācijas parametra vērtību uz vides mainīgo, to pēc tam var izmantot servera konfigurēšanai palaišanas laikā:

```bash
# Zabbix servera konfigurācijas fails:
DebugLevel=${NEW_DEBUG_LEVEL}

# Zabbix servera palaišana:
NEW_DEBUG_LEVEL=5 /usr/sbin/zabbix_server
```

Vides mainīgos atbalsta šādi Zabbix komponenti:

-   [Serveris](/manual/appendix/config/zabbix_server)
-   [Starpniekserveris](/manual/appendix/config/zabbix_proxy)
-   Aģents ([UNIX](/manual/appendix/config/zabbix_agentd) vai [Windows](/manual/appendix/config/zabbix_agentd_win))
-   Aģents 2 ([UNIX](/manual/appendix/config/zabbix_agent2) vai [Windows](/manual/appendix/config/zabbix_agent2_win)), ieskaitot [spraudņus](/manual/appendix/config/zabbix_agent2_plugins)
-   [Tīmekļa serviss](/manual/appendix/config/zabbix_web_service)
-   Zabbix sender (izmantojot [-c, --config option](/manpages/zabbix_sender#options))

[comment]: # ({/5b980b7e-72128caf})

[comment]: # ({8d252f3a-7598ffff})
#### 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](/manual/concepts/agent#runtime-control) (piemēram, lai palielinātu aģents žurnāla līmeni), ir jānorāda visi iepriekš izmantotie vides mainīgie. Tas ir tāpēc, ka Zabbix komponenti izmanto savu konfigurācijas failu, lai izpildītu izpildlaika komandas; ja vides mainīgie nav norādīti, tiks izmantotas konfigurācijas parametru noklusējuma vērtības. Skatiet [Piemērus](#examples).
-   `userparameter_reload` [izpildlaika komanda](/manual/concepts/agent#runtime-control) neatbalsta vides mainīgo pārlādēšanu. 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, pēc Zabbix komponenta palaišanas tiek notīrīti. Tas nodrošina, ka bērnprocesi (piemēram, Zabbix izpildītie attālinātie skripti) nevar piekļūt šiem mainīgajiem. Tomēr ņemiet vērā, ka procesa sākotnējos mainīgos joprojām var iegūt (piemēram, izmantojot failu `/proc/<PID>/environ`).

[comment]: # ({/8d252f3a-7598ffff})

[comment]: # ({c33cd6ee-5d8ec091})
#### Sintakse

Vides mainīgajiem jāizmanto šāda sintakse: ${alphanumerics/underscores}.

Mainīgā nosaukums drīkst ietvert tikai burtus (a-z, A-Z), pasvītrojuma zīmes (\_), un ciparus (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 apstrādāti kā parastas vērtības, kas var izraisīt kļūdas.

Pareiza mainīgo sintakse:

```ini
DebugLevel=${NEW_DEBUG_LEVEL}
Hostname=${ZBX_HOSTNAME}
LogFile=${LogFile_001}
```

Nepareiza mainīgo sintakse:

```ini
DebugLevel=${5_DebugLevel}
Hostname=${ZBX.HOSTNAME 1}
LogFile=/${HOME}/zabbix/zabbix_server.log
```

::: noteclassic
Sistēmā Windows vides mainīgo nosaukumos netiek ņemts vērā burtu reģistrs.
:::

[comment]: # ({/c33cd6ee-5d8ec091})

[comment]: # ({b319b360-c638a080})
#### Piemēri

Tālāk sniegtie piemēri parāda, kā konfigurēt un izmantot vides mainīgos ar Zabbix komponentiem.

[comment]: # ({/b319b360-c638a080})

[comment]: # ({78b82896-0382a339})
##### Piemērs 1: Zabbix aģenta konfigurēšana un testēšana

1\. Iestatiet vides mainīgos aģenta konfigurācijas failā:

```ini
Hostname=${ZBX_HOSTNAME}
ServerActive=${ServerActive}
```

2\. Pārbaudiet konfigurācijas failu:

```bash
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:

```bash
ZBX_HOSTNAME="New Zabbix agent" ServerActive=127.0.0.1 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
```

Izmantojot [izpildlaika komandas](/manual/concepts/agent#runtime-control) (piemēram, lai palielinātu aģenta žurnāla līmeni), ir jānorāda visi iepriekš izmantotie vides mainīgie:

```bash
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, lai izpildītu izpildlaika komandas; 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ā, varat padarīt tos pieejamus procesiem (piemēram, izmantojot komandu `export`).
Tas samazina neparedzētas darbības risku trūkstošu vai nepareizi iestatītu mainīgo dēļ.

```bash
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
```

[comment]: # ({/78b82896-0382a339})

[comment]: # ({6e772927-6852ff3f})
##### Piemērs 2: Zabbix aģenta konfigurēšana konteineram

Ja veidojat un konfigurējat savu pielāgoto attēlu Zabbix komponentiem (piemēram, Zabbix aģentam), 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ā:

```ini
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) ar vides mainīgajiem:

```bash
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](/manual/concepts/agent#runtime-control) (piemēram, lai palielinātu aģenta žurnāla līmeni), piekļūstiet konteinera čaulai un izpildiet izpildlaika komandu:

```bash
docker exec -it <containerid> sh
/usr/sbin/zabbix_agentd -R log_level_increase
```

::: noteimportant
Izpildlaika komanda `userparameter_reload` neatbalsta vides mainīgo pārlādēšanu.
Pārlādes laikā mainīgie tiek ignorēti, un tiek pārlādēti tikai parametri ar parastām vērtībām.
:::

[comment]: # ({/6e772927-6852ff3f})
