Script di avviso personalizzati
Panoramica
Se non sei soddisfatto dei media type esistenti per l'invio degli alert, esiste un modo alternativo per farlo. Puoi creare uno script che gestisca la notifica nel modo desiderato.
Gli script di alert personalizzati vengono eseguiti su Zabbix server. Questi script devono trovarsi nella directory specificata nel parametro AlertScriptsPath del file di configurazione di server.
Ecco un esempio di script di alert personalizzato:
#!/bin/bash
to=$1
subject=$2
body=$3
host=$4
value=$5
cat <<EOF | mail -s "$subject" "$to"
$body
Host: $host
Value: $value
EOF
Zabbix controlla il codice di uscita dei comandi e degli script eseguiti. Qualsiasi codice di uscita diverso da 0 viene considerato un errore di esecuzione del comando. In questi casi, Zabbix tenterà di ripetere l'esecuzione non riuscita.
Le variabili d'ambiente non vengono preservate né create per lo script, quindi devono essere gestite esplicitamente.
Configurazione
Per configurare script di avviso personalizzati come tipo di media:
- Vai a Avvisi > Tipi di media.
- Fai clic su Crea tipo di media.
- Inserisci nel modulo i parametri del tipo di media script.
La scheda Tipo di media contiene gli attributi generali del tipo di media:

Tutti i campi di input obbligatori sono contrassegnati da un asterisco rosso.
I seguenti parametri sono specifici per il tipo di media script:
| Parametro | Descrizione |
|---|---|
| Nome dello script | Inserisci il nome del file script (ad esempio, notification.sh) che si trova nella directory specificata nel parametro di configurazione del server AlertScriptsPath. |
| Parametri dello script | Aggiungi parametri script facoltativi che verranno passati allo script come argomenti della riga di comando nell'ordine in cui sono definiti. I parametri dello script supportano le macro {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e tutte le macro supportate nelle notifiche, nonché le macro utente. |
Per informazioni dettagliate su come configurare i messaggi predefiniti e le opzioni di elaborazione degli avvisi, consulta i parametri comuni dei tipi di media.
Anche se uno script di avviso non utilizza messaggi predefiniti, i modelli di messaggio per i tipi di operazione utilizzati da questo tipo di media devono comunque essere definiti. In caso contrario, non verrà inviata alcuna notifica.
Se è configurato più di un tipo di media script, questi script possono essere elaborati in parallelo dai processi alerter.
Il numero totale di processi alerter è limitato dal parametro StartAlerters nel file di configurazione del server.
Testing
Per testare un media type script configurato:
-
Individua lo script pertinente nell'elenco dei media type.
-
Fai clic su Test nell'ultima colonna dell'elenco; si aprirà un modulo di test in una finestra pop-up. Il modulo di test conterrà lo stesso numero di parametri configurati per il media type script.
-
Modifica i valori dei parametri dello script, se necessario. La modifica influisce solo sulla procedura di test; i valori effettivi non verranno modificati.
-
Fai clic su Test.

Quando si testa un media type script configurato, {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e le macro utente verranno risolte nei rispettivi valori, ma le macro correlate agli eventi (ad es. {HOST.HOST}, {ITEM.LASTVALUE}, ecc.) non verranno risolte, poiché durante il test non è presente alcun evento correlato da cui ottenere i dettagli. Nota che anche le macro all'interno delle macro {ALERT.SUBJECT} e {ALERT.MESSAGE} non verranno risolte. Ad esempio, se il valore di {ALERT.SUBJECT} è composto da "Problem: {EVENT.NAME}", la macro {EVENT.NAME} non verrà risolta.
Media utente
Una volta configurato il tipo di media, vai alla sezione Users > Users ed esegui la modifica di un profilo utente assegnando questo tipo di media all'utente. I passaggi per configurare il media utente, comuni a tutti i tipi di media, sono descritti nella pagina Media types.
Nota che, quando si definisce il media utente, il campo Send to non può essere vuoto. Se questo campo non viene utilizzato nello script di allarme, inserisci qualsiasi combinazione di caratteri supportati per aggirare i requisiti di convalida.