[comment]: # ({fc0a59fb-e25ccc09})
# 3 Pielāgoti brīdinājumu skripti

[comment]: # ({/fc0a59fb-e25ccc09})

[comment]: # ({dbb571ef-bc410af8})
### Pārskats

Ja jūs neesat apmierināts ar esošajiem mediju tipiem brīdinājumu nosūtīšanai, ir alternatīvs veids, kā to izdarīt.
Jūs varat izveidot skriptu, kas apstrādās paziņojumu jums vēlamajā veidā.

Pielāgotie brīdinājumu skripti tiek izpildīti uz Zabbix serveris.
Šiem skriptiem jāatrodas direktorijā, kas norādīta serveris konfigurācijas faila [AlertScriptsPath](/manual/appendix/config/zabbix_server#alertscriptspath) parametrā.

Šeit ir pielāgota brīdinājumu skripta piemērs:

```bash
#!/bin/bash

to=$1
subject=$2
body=$3
host=$4
value=$5

cat <<EOF | mail -s "$subject" "$to"
$body

Host: $host
Value: $value
EOF
```

::: noteimportant
Zabbix pārbauda izpildīto komandu un skriptu atgriešanās kodu.
Jebkurš atgriešanās kods, kas atšķiras no **0**, tiek uzskatīts par [komandas izpildes](/manual/appendix/command_execution) kļūdu.
Šādos gadījumos Zabbix mēģinās atkārtot neveiksmīgo izpildi.
:::

Skriptam netiek saglabāti un netiek izveidoti vides mainīgie, tāpēc tie jāapstrādā tieši.

[comment]: # ({/dbb571ef-bc410af8})

[comment]: # ({9d81bec0-47055351})
### Konfigurācija

Lai konfigurētu pielāgotus brīdinājumu skriptus kā multivides tipu:

1. Dodieties uz *Brīdinājumi → Multivides tipi*.
2. Noklikšķiniet uz *Izveidot multivides tipu*.

Cilnē **Multivides tips** ir ietverti vispārīgie multivides tipa atribūti:

![](../../../../../assets/en/manual/config/notifications/media/media_script.png){width="600"}

Visi obligātie ievades lauki ir atzīmēti ar sarkanu zvaigznīti.

Tālāk norādītie parametri ir specifiski skripta multivides tipam:

|Parameter|Description|
|--|--------|
|*Script name*|Ievadiet skripta faila nosaukumu (piem., notification.sh), kas atrodas direktorijā, kura norādīta servera konfigurācijas parametram [AlertScriptsPath](/manual/appendix/config/zabbix_server#alertscriptspath).|
|*Script parameters*|Pievienojiet izvēles skripta parametrus, kas tiks nodoti skriptam kā komandrindas argumenti tādā secībā, kādā tie ir definēti.<br><br>Skripta parametri atbalsta {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} makro un visus [makro](/manual/appendix/macros/supported_by_location), kas tiek atbalstīti paziņojumos, kā arī [lietotāja makro](/manual/appendix/macros/supported_by_location_user).|

Skatiet [kopīgos multivides tipa parametrus](/manual/config/notifications/media#common-parameters), lai iegūtu informāciju par to, kā konfigurēt noklusējuma ziņojumus un brīdinājumu apstrādes opcijas.

::: notewarning
Pat ja brīdinājumu skripts neizmanto noklusējuma ziņojumus, šim multivides tipam izmantoto darbību tipu ziņojumu veidnēm joprojām ir jābūt definētām.
Pretējā gadījumā paziņojums netiks nosūtīts.
:::

::: noteimportant
Ja ir konfigurēts vairāk nekā viens skripta multivides tips, šie skripti var tikt apstrādāti paralēli ar brīdinājumu apstrādes procesu palīdzību. 
Brīdinājumu apstrādes procesu kopskaitu ierobežo servera konfigurācijas faila parametrs [`StartAlerters`](/manual/appendix/config/zabbix_server#startalerters).
:::

[comment]: # ({/9d81bec0-47055351})

[comment]: # ({38908152-6a270eac})
### Testēšana

Lai pārbaudītu konfigurētu skripta mediju tipu:

1. Atrodiet attiecīgo skriptu [sarakstā](/manual/config/notifications/media#overview) ar mediju tipiem.

2. Noklikšķiniet uz *Test* saraksta pēdējā kolonnā; testēšanas forma tiks atvērta uznirstošajā logā.
Testēšanas forma saturēs tikpat daudz parametru, cik ir konfigurēti skripta mediju tipam.

3. Ja nepieciešams, rediģējiet skripta parametru vērtības. Rediģēšana ietekmēs tikai testēšanas procedūru; faktiskās vērtības netiks mainītas.

4. Noklikšķiniet uz *Test*.

![](../../../../../assets/en/manual/config/notifications/media/script_test.png){width="600"}

::: noteclassic
Pārbaudot konfigurētu skripta mediju tipu, {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} un lietotāja makrosi tiks aizstāti ar to vērtībām,
bet makrosi, kas ir saistīti ar notikumiem (piem., {HOST.HOST}, {ITEM.LASTVALUE} u.c.), netiks aizstāti, jo testēšanas laikā nav saistīta notikuma, no kura iegūt detalizētu informāciju.
Ņemiet vērā, ka makrosi {ALERT.SUBJECT} un {ALERT.MESSAGE} iekšienē arī netiks aizstāti.
Piemēram, ja {ALERT.SUBJECT} vērtība ir veidota kā "Problem: {EVENT.NAME}", tad makross {EVENT.NAME} netiks aizstāts.
:::

[comment]: # ({/38908152-6a270eac})

[comment]: # ({df584c5a-525cb972})
### Lietotāja mediji

Kad mediju tips ir konfigurēts, dodieties uz sadaļu *Users → Users* un rediģējiet lietotāja profilu, piešķirot šim lietotājam šo mediju tipu.
Lietotāja mediju iestatīšanas darbības, kas ir kopīgas visiem mediju tipiem, ir aprakstītas lapā [Media types](/manual/config/notifications/media#user-media).

Ņemiet vērā, ka, definējot lietotāja medijus, lauks *Send to* nevar būt tukšs.
Ja šis lauks netiek izmantots brīdinājuma skriptā, ievadiet jebkuru atbalstīto rakstzīmju kombināciju, lai apietu validācijas prasības.

[comment]: # ({/df584c5a-525cb972})
