7 Parametri di configurazione dei plugin
Vedere 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 sono configurati utilizzando 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 utilizza 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 parametro tipico di un plugin ha la seguente struttura:
Plugins.<PluginName>.<Parameter>=<Value>
Inoltre, esistono due gruppi specifici di parametri:
-
Plugins.<PluginName>.Default.<Parameter>=<Value> utilizzato per definire i valori predefiniti dei parametri.
-
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> utilizzato 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 con iniziale maiuscola i nomi dei plugin
- il parametro deve iniziare con una lettera maiuscola
- i caratteri speciali non sono consentiti
- il livello di annidamento non è limitato
- il numero di parametri non è limitato
Ad esempio, per eseguire controlli attivi che non hanno un 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, nome utente, 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 sessione con nome, il plugin utilizzerà il valore predefinito. Se anche un parametro predefinito non è definito, verranno utilizzati i valori predefiniti codificati.
Se una chiave item non contiene 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 ulteriore livello di parametri del plugin e possono essere utilizzate 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 utilizzato come parametro della chiave item connString invece di specificare separatamente URI, nome utente e/o password.
Nelle chiavi item, il primo parametro può essere un connString oppure un URI. Se il primo parametro della chiave non corrisponde ad alcun nome di sessione, verrà trattato come un URI. Si noti che il passaggio di credenziali URI incorporate nella chiave item non è supportato; utilizzare 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 item (vedere esempio).
Se un parametro non è definito per la sessione denominata, Zabbix agent 2 utilizzerà 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 item viene confrontato con i nomi di sessione. Se non viene trovata alcuna corrispondenza, viene trattato come un valore effettivo; in questo caso, il passaggio 3 verrà saltato. Se viene trovata una corrispondenza, il valore del parametro (di solito un URI) deve essere definito nella sessione denominata.
- Gli altri parametri verranno presi dalla chiave item, se definiti.
- Se un parametro della chiave item (ad esempio, la password) è vuoto, il plugin cercherà il parametro corrispondente nella sessione denominata.
- Se anche il parametro di 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.0: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
Fornitura di alcuni parametri nella chiave 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 item: pgsql.ping[session1,new_username,,postgres]
Come risultato di questa configurazione, l'agent si connetterà a PostgreSQL utilizzando i seguenti parametri:
- URI dal parametro di sessione:
192.0.2.234:5432 - Nome utente dalla chiave item:
new_username - Password dal parametro di sessione (poiché è omessa nella chiave item):
session_password - Nome del database dalla chiave 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 item: pgsql.ping[,,,postgres]
Come risultato di questa configurazione, l'agent si connetterà a PostgreSQL utilizzando i parametri:
- URI predefinito:
192.0.2.234:5432 - Nome utente predefinito:
zabbix - Password predefinita:
password - Nome del database dalla chiave item:
postgres
Connessioni
Alcuni plugin supportano la raccolta di metriche da più istanze contemporaneamente. È possibile monitorare sia istanze locali che remote. Sono supportate le connessioni TCP e Unix-socket.
Si consiglia di configurare i plugin in modo da mantenere le connessioni alle istanze in uno stato aperto. I vantaggi sono una riduzione della congestione di rete, della latenza e dell'utilizzo 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