3 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 del 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 fallita.

Le variabili di ambiente non vengono preservate né create per lo script, quindi devono essere gestite esplicitamente.

Configurazione

Per configurare script di avviso personalizzati come media type:

  1. Vai su Alerts → Media types.
  2. Fai clic su Create media type.

La scheda Media type contiene gli attributi generali del media type:

Tutti i campi di input obbligatori sono contrassegnati da un asterisco rosso.

I seguenti parametri sono specifici per il media type script:

Parameter Description
Script name Inserisci il nome del file script (ad esempio, notification.sh) che si trova nella directory specificata nel parametro di configurazione del server AlertScriptsPath.
Script parameters Aggiungi parametri script opzionali che verranno passati allo script come argomenti della riga di comando nell'ordine in cui sono definiti.

I parametri script supportano le macro {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e tutte le macro supportate nelle notifiche, oltre alle macro utente.

Vedi parametri comuni del media type per i dettagli su come configurare i messaggi predefiniti e le opzioni di elaborazione degli avvisi.

Anche se uno script di avviso non utilizza i messaggi predefiniti, i modelli di messaggio per i tipi di operazione usati da questo media type devono comunque essere definiti. In caso contrario, la notifica non verrà inviata.

Se è configurato più di un media type 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.

Testing

Per testare un tipo di media script configurato:

  1. Individua lo script pertinente nell'elenco dei tipi di media.

  2. 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 tipo di media script.

  3. Modifica i valori dei parametri dello script, se necessario. La modifica influisce solo sulla procedura di test; i valori effettivi non verranno cambiati.

  4. Fai clic su Test.

Quando si testa un tipo di media script configurato, {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e le macro utente verranno risolte nei rispettivi valori, ma le macro correlate 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. Nota che anche le macro all'interno di {ALERT.SUBJECT} e {ALERT.MESSAGE} non verranno risolte. Ad esempio, se il valore di {ALERT.SUBJECT} è composto da "Problem: {EVENT.NAME}", allora 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 allerta, inserisci qualsiasi combinazione di caratteri supportati per aggirare i requisiti di convalida.