7 Controllo esterno

Panoramica

Un external check è un controllo eseguito da Zabbix server tramite l'esecuzione di uno script shell o di un binario. Tuttavia, quando gli host sono monitorati da un Zabbix proxy, gli external check vengono eseguiti dal proxy.

Gli external check non richiedono alcun agent in esecuzione sull'host monitorato.

La sintassi della chiave dell'item è:

script[<parameter1>,<parameter2>,...]

Dove:

ARGUMENT DEFINITION
script Nome di uno script shell o di un binario.
parameter(s) Parametri opzionali della riga di comando.

Se non si desidera passare alcun parametro allo script, è possibile usare:

script[] or
script

Zabbix server o proxy cercherà nella directory specificata gli script esterni ed eseguirà il comando (vedere il parametro ExternalScripts nel file di configurazione di Zabbix server/proxy). Il comando verrà eseguito con lo stesso utente di Zabbix server/proxy, quindi eventuali permessi di accesso o variabili d'ambiente devono essere gestiti in uno script wrapper, se necessario. Anche i permessi sul comando devono consentire a quell'utente di eseguirlo. Sono disponibili per l'esecuzione solo i comandi presenti nella directory specificata.

Non abusare degli external check, poiché ogni script richiede l'avvio di un processo fork da parte di Zabbix server/proxy, e l'esecuzione di molti script può ridurre significativamente le prestazioni di Zabbix.

Esempio di utilizzo

Esecuzione dello script check_oracle.sh con il primo parametro '-h'. Il secondo parametro verrà sostituito con l'indirizzo IP o il nome DNS, a seconda della selezione nelle proprietà del host.

check_oracle.sh["-h","{HOST.CONN}"]

Supponendo che il host sia configurato per utilizzare un indirizzo IP, il server/proxy Zabbix eseguirà:

check_oracle.sh '-h' '192.168.1.4'

Risultato del controllo esterno

Il valore restituito da un controllo esterno è l'output standard insieme all'errore standard prodotto dal controllo.

Un item che restituisce testo (informazioni di tipo carattere, log o testo) non diventerà non supportato in caso di output di errore standard.

Il valore restituito è limitato a 16 MB (inclusi gli spazi finali che vengono troncati); si applicano anche i limiti del database.

Se lo script richiesto non viene trovato oppure il server/proxy Zabbix non ha i permessi per eseguirlo, l'item diventerà non supportato e verrà visualizzato un messaggio di errore corrispondente.

In caso di timeout, l'item diventerà non supportato, verrà visualizzato un messaggio di errore corrispondente e il processo forkato per lo script verrà terminato.