[comment]: # ({fc0a59fb-e25ccc09})
# 3 Scripts d'alerta personalitzats

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

[comment]: # ({dbb571ef-bc410af8})
### Visió general

Si no us agraden amb els tipus de mitjans existents per enviar alertes, hi ha una manera alternativa de fer-ho.
Podeu crear un script que gestioni la notificació a la vostra manera.

Els scripts d'alerta personalitzats s'executen al servidor Zabbix.
Aquests scripts s'han d'ubicar al directori especificat al paràmetre del fitxer de configuració del servidor [`AlertScriptsPath`](/manual/appendix/config/zabbix_server#alertscriptspath).

Aquí teniu un exemple d'un script d'alerta personalitzat:

```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 comprova el codi de sortida de les ordres i scripts executats.
Qualsevol codi de sortida, diferent de **0**, es considera un error [execució d'ordres](/manual/appendix/command_execution).
En aquests casos, Zabbix intentarà repetir l'execució fallida.
:::

Les variables d'entorn no es conserven ni es creen per a l'script, de manera que s'han de gestionar de manera explícita.

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

[comment]: # ({04cf2d40-47055351})
#### Configuració

Per configurar scripts d'alerta personalitzats com a tipus de suport:

- Aneu a *Alertes → Tipus de suport*
- Feu clic a *Crear un tipus de suport*

La pestanya **Tipus de suport** conté atributs generals del tipus de suport:

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


Tots els camps d'entrada obligatoris són marcats amb un asterisc vermell.

Els paràmetres següents són específics del tipus de suport d'script:

|Paràmetre|Descripció|
|--|---------|
|*Nom de l'script*|Introduïu el nom de l'script (per exemple, notificacio.sh) que és al directori definit al paràmetre [AlertScriptsPath](/manual/appendix/config/zabbix_server#alertscriptspath) de l'arxiu de configuració del servidor.|
|*Paràmetres de l'script*|Afegiu paràmetres de línia d'ordres a l'script.<br>S'admeten les [macros](/manual/appendix/macros/supported_by_location) {ALERT.SENDTO}, {ALERT.SUBJECT} i {ALERT.MESSAGE} als paràmetres de l'script, així com les [macros d'usuari](/manual/appendix/macros/supported_by_location_user).|

Veieu [paràmetres de tipus de suports comuns](/manual/config/notifications/media#common_parameters) per obtindre informació sobre com configurar els missatges predeterminats i les opcions de gestió d'alertes.

::: notewarning
Encara que un script d'alerta no empri missatges predeterminats, les plantilles de missatges per als tipus d'operacions emprats per aquest tipus de suport encara s'han de definir, en cas contrari no s'enviarà cap notificació.
:::

::: noteimportant
Amb més d'un tipus de suport d'script configurat, aquests scripts es poden processar en paral·lel mitjançant processos d'alerta. El nombre total de processos d'alerta és limitat pel paràmetre[`StartAlerters`](/manual/appendix/config/zabbix_server#startalerters).
:::

[comment]: # ({/04cf2d40-47055351})

[comment]: # ({83685be3-6a270eac})
### Prova de tipus de suport

Per provar un tipus de suport d'script configurat:

1. Localitzeu l'script rellevant a la [lista](/manual/config/notifications/media#overview) dels tipus de suports.

2. Feu clic a *Provar* a la darrera columna de la llista; s'obrirà un formulari de prova en una finestra emergent. El formulari de prova contindrà el mateix nombre de paràmetres configurats per al tipus de suport de l'script.

3. Editeu els valors dels paràmetres de l'script si cal. L'edició només afecta el procediment de prova; els valors reals no es canviaran.

4. Feu clic a *Provar*.

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

::: noteclassic
Quan proveu un tipus de suport d'script configurat, {ALERT.SENDTO}, {ALERT.SUBJECT} i {ALERT.MESSAGE}, les macros d'usuari es resoldran als seus valors, però les macros que siguin relacionades amb esdeveniments (p. ex., {HOST.HOST}, {ITEM.LASTVALUE}, etc.) no es resoldran, ja que durant la prova no hi ha cap esdeveniment relacionat per obtindre els detalls. Tingueu en compte que les macros de les macros {ALERT.SUBJECT} i {ALERT.MESSAGE} tampoc no es resoldran pas. Per exemple, si el valor de {ALERT.SUBJECT} es compon de "Problema: {EVENT.NAME}", la macro {EVENT.NAME} no es resoldrà pas.
:::

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

[comment]: # ({8c8c10e4-525cb972})
### Suport de l'usuari

Un cop configurat el tipus de suport, aneu a la secció *Usuaris → Usuaris* i modifiqueu el perfil de l'usuari assignant-li aquest tipus de suport. Les passes de configuració dels mitjans d'usuari, comuns a tots els tipus de suports, es descriuen a la pàgina [tipus de suport](/manual/config/notifications/media#user_media).

Tingueu en compte que en definir els mitjans d'usuari, un camp *Envia a* no pot pas ésser buit. Si aquest camp no s'empra en un script d'alerta, introduïu qualsevol combinació de caràcters admesos per ometre els requisits de validació.

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