Parametri di configurazione: Plugin
Vedi i parametri di configurazione per i plugin di Zabbix agent 2:
- plugin Ceph
- plugin Docker
- plugin Ember+
- plugin Memcached
- plugin Modbus
- plugin MongoDB
- plugin MQTT
- plugin MSSQL
- plugin MySQL
- plugin NVIDIA GPU
- plugin Oracle
- plugin PostgreSQL
- plugin Redis
- plugin S.M.A.R.T.
Principi di configurazione dei plugin
Questa pagina descrive i principi di configurazione dei plugin e le best practice.
Tutti i plugin vengono configurati usando il parametro Plugins.* , che può far parte del file di configurazione di Zabbix agent 2 oppure del file di configurazione del plugin stesso. Se un plugin usa un file di configurazione separato, il percorso di questo file deve essere specificato nel parametro Include del file di configurazione di Zabbix agent 2.
Un tipico parametro del plugin ha la seguente struttura:
Plugins.<PluginName>.<Parameter>=<Value>
Inoltre, esistono due gruppi specifici di parametri:
-
Plugins.<PluginName>.Default.<Parameter>=<Value> usato per definire i valori predefiniti dei parametri.
-
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> usato per definire insiemi separati di parametri per diversi target di monitoraggio tramite sessioni denominate.
Tutti i nomi dei parametri devono rispettare i seguenti requisiti:
- si consiglia di scrivere i nomi dei plugin con la lettera iniziale maiuscola
- il parametro deve essere scritto con la lettera iniziale maiuscola
- i caratteri speciali non sono consentiti
- il nesting non è limitato da un livello massimo
- il numero di parametri non è limitato
Ad esempio, per eseguire controlli attivi che non hanno l'intervallo di aggiornamento Scheduling immediatamente dopo il riavvio dell'agent solo per il plugin Uptime, impostare Plugins.Uptime.System.ForceActiveChecksOnStart=1 nel file di configurazione.
Allo stesso modo, per impostare un limite personalizzato per i controlli concorrenti per il plugin CPU, impostare Plugins.CPU.System.Capacity=N nel file di configurazione.
Valori predefiniti
È possibile impostare valori predefiniti per i parametri relativi alla connessione (URI, username, password, ecc.) nel file di configurazione nel formato:
Plugins.<PluginName>.Default.<Parameter>=<Value>
Ad esempio, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, ecc.
Se un valore per tale parametro non viene fornito in una chiave item o nei parametri della named session, il plugin utilizzerà il valore predefinito. Se anche un parametro predefinito non è definito, verranno utilizzati i valori predefiniti codificati.
Se una chiave item non ha alcun parametro, Zabbix agent 2 tenterà di raccogliere la metrica utilizzando i valori definiti nella sezione dei parametri predefiniti.
Sessioni denominate
Le sessioni denominate rappresentano un livello aggiuntivo di parametri del plugin e possono essere usate per specificare insiemi separati di parametri di autenticazione per ciascuna delle istanze monitorate. Ogni parametro di sessione denominata deve avere la seguente struttura:
Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>
Un nome di sessione può essere usato come parametro chiave di connString al posto di specificare separatamente un URI, un nome utente e/o una password.
Nelle chiavi degli item, il primo parametro può essere sia una connString sia un URI. Se il primo parametro della chiave non corrisponde a nessun nome di sessione, verrà trattato come un URI. Si noti che non è supportato il passaggio di credenziali URI incorporate nella chiave dell'item; usare invece i parametri di sessione denominata.
L'elenco dei parametri di sessione denominata disponibili dipende dal plugin.
È possibile sovrascrivere i parametri di sessione specificando nuovi valori nei parametri della chiave dell'item (vedere esempio).
Se un parametro non è definito per la sessione denominata, Zabbix agent 2 userà il valore definito nel parametro predefinito del plugin.
Priorità dei parametri
I plugin di Zabbix agent 2 cercano i valori dei parametri relativi alla connessione nel seguente ordine:

- Il primo parametro della chiave dell'item viene confrontato con i nomi delle sessioni. Se non viene trovato alcun match, viene trattato come un valore effettivo; in questo caso, il passaggio 3 verrà saltato. Se viene trovato un match, il valore del parametro (di solito un URI) deve essere definito nella sessione denominata.
- Gli altri parametri verranno presi dalla chiave dell'item, se definiti.
- Se un parametro della chiave dell'item (ad esempio, password) è vuoto, il plugin cercherà il parametro corrispondente della sessione denominata.
- Se anche il parametro della sessione non è specificato, verrà utilizzato il valore definito nel corrispondente parametro predefinito.
- Se tutto il resto fallisce, il plugin utilizzerà il valore predefinito codificato.
Esempio 1
Monitoraggio di due istanze "MySQL1" e "MySQL2".
Parametri di configurazione:
Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=unique_password
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.1:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
Come risultato di questa configurazione, ogni nome di sessione può essere utilizzato come connString in una chiave item, ad esempio mysql.ping[MySQL1] oppure mysql.ping[MySQL2].
Esempio 2
Fornire alcuni dei parametri nella chiave dell'item.
Parametri di configurazione:
Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=old_username
Plugins.PostgreSQL.Sessions.Session1.Password=session_password
Chiave dell'item: pgsql.ping[session1,new_username,,postgres]
Come risultato di questa configurazione, l'agent si connetterà a PostgreSQL usando i seguenti parametri:
- URI dal parametro di sessione:
192.0.2.234:5432 - Nome utente dalla chiave dell'item:
new_username - Password dal parametro di sessione (poiché è omessa nella chiave dell'item):
session_password - Nome del database dalla chiave dell'item:
postgres
Esempio 3
Raccolta di una metrica utilizzando i parametri di configurazione predefiniti.
Parametri di configurazione:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Chiave dell'item: pgsql.ping[,,,postgres]
Come risultato di questa configurazione, l'agent si connetterà a PostgreSQL utilizzando i parametri seguenti:
- URI predefinito:
192.0.2.234:5432 - Nome utente predefinito:
zabbix - Password predefinita:
password - Nome del database dalla chiave dell'item:
postgres
Connessioni
Alcuni plugin supportano la raccolta di metriche da più istanze contemporaneamente. È possibile monitorare sia istanze locali sia remote. Sono supportate connessioni TCP e Unix-socket.
Si consiglia di configurare i plugin in modo che mantengano le connessioni alle istanze in stato aperto. I vantaggi sono la riduzione della congestione di rete, della latenza e dell'uso di CPU e memoria grazie al minor numero di connessioni. La libreria client si occupa di questo.
Il periodo di tempo per cui le connessioni inutilizzate devono rimanere aperte può essere determinato dal parametro Plugins.<PluginName>.KeepAlive. Esempio: Plugins.Memcached.KeepAlive