Estendere gli agent Zabbix

Questo tutorial fornisce istruzioni passo passo su come estendere le funzionalità dell'agent Zabbix utilizzando un user parameter.

Passaggio 1

Scrivere uno script o una riga di comando per recuperare il parametro richiesto.

Ad esempio, possiamo scrivere il seguente comando per ottenere il numero totale di query eseguite da un server MySQL:

mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

Quando viene eseguito, il comando restituisce il numero totale di query SQL.

Passaggio 2

Aggiungere il comando al file di configurazione dell'agent di Zabbix (zabbix_agentd.conf):

UserParameter=mysql.questions,mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

mysql.questions è un identificatore univoco. Può essere qualsiasi identificatore di chiave valido, ad esempio queries.

Testare questo parametro utilizzando l'agent Zabbix con il flag -t (se viene eseguito come root, tenere tuttavia presente che l'agent potrebbe avere autorizzazioni diverse quando viene avviato come daemon):

zabbix_agentd -t mysql.questions
Passaggio 3

Ricaricare i parametri utente dal file di configurazione eseguendo:

zabbix_agentd -R userparameter_reload

È anche possibile riavviare l'agent invece di usare il comando di controllo a runtime.

Testare il parametro utilizzando l'utilità zabbix_get.

Passaggio 4

Aggiungi un nuovo item con Key=mysql.questions all'host monitorato. Il tipo dell'item deve essere Zabbix Agent oppure Zabbix Agent (active).

Tieni presente che il tipo dei valori restituiti deve essere impostato correttamente sul server Zabbix. In caso contrario, Zabbix non li accetterà.