3 Script di avviso personalizzati
Panoramica
Se non sei soddisfatto dei tipi di supporto esistenti per l'invio degli avvisi, esiste un modo alternativo per farlo. Puoi creare uno script che gestisca la notifica nel modo che preferisci.
Gli script di avviso personalizzati vengono eseguiti su Zabbix server. Questi script devono trovarsi nella directory specificata dal parametro AlertScriptsPath nel file di configurazione del server.
Ecco un esempio di script di avviso 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 mantenute né create per lo script, quindi devono essere gestite esplicitamente.
Configurazione
Per configurare script di avviso personalizzati come tipo di supporto:
- Andare su Avvisi → Tipi di supporto.
- Fare clic su Crea tipo di supporto.
La scheda Tipo di supporto contiene gli attributi generali del tipo di supporto:

Tutti i campi di input obbligatori sono contrassegnati con un asterisco rosso.
I seguenti parametri sono specifici per il tipo di supporto script:
| Parameter | Description |
|---|---|
| Nome script | Inserire il nome del file di script (ad esempio, notification.sh) che si trova nella directory specificata nel parametro di configurazione del server AlertScriptsPath. |
| Parametri script | Aggiungere parametri opzionali dello script 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 i dettagli su come configurare i messaggi predefiniti e le opzioni di elaborazione degli avvisi, vedere i parametri comuni del tipo di supporto.
Anche se uno script di avviso non utilizza messaggi predefiniti, i template di messaggio per i tipi di operazione utilizzati da questo tipo di supporto devono comunque essere definiti. In caso contrario, una notifica non verrà inviata.
Se è configurato più di un tipo di supporto script, questi script possono essere elaborati in parallelo dai processi alerter.
Il numero totale di processi alerter è limitato dal parametro StartAlerters del file di configurazione del server.
Test
Per testare un tipo di supporto script configurato:
-
Individuare lo script pertinente nell'elenco dei tipi di supporto.
-
Fare 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 tipo di supporto script.
-
Modificare i valori dei parametri dello script, se necessario. La modifica influisce solo sulla procedura di test; i valori effettivi non verranno modificati.
-
Fare clic su Test.

Quando si testa un tipo di supporto script configurato, {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e le macro utente verranno risolte nei rispettivi valori, ma le macro relative agli eventi (ad esempio, {HOST.HOST}, {ITEM.LASTVALUE}, ecc.) non verranno risolte, poiché durante il test non esiste alcun evento correlato da cui ottenere i dettagli. Si noti 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 "Problema: {EVENT.NAME}", la macro {EVENT.NAME} non verrà risolta.
Media utente
Una volta configurato il tipo di supporto, vai alla sezione Utenti → Utenti e modifica il profilo di un utente assegnando questo tipo di supporto all'utente. I passaggi per configurare i media utente, comuni a tutti i tipi di supporto, sono descritti nella pagina Tipi di supporto.
Tieni presente che, quando definisci i media utente, il campo Invia a non può essere vuoto. Se questo campo non viene utilizzato nello script di avviso, inserisci una qualsiasi combinazione di caratteri supportati per aggirare i requisiti di convalida.