6 Plugin MongoDB

Panoramica

Il file di configurazione di Zabbix agent 2 viene utilizzato per configurare i plugin. Questi parametri di configurazione di Zabbix agent 2 sono supportati per il funzionamento del plugin MongoDB.

Si consiglia di specificarli in un file di configurazione separato (ad esempio, mongo.conf) e quindi usare la direttiva Include per aggiungere questo file alla configurazione di Zabbix agent 2.

Il plugin MongoDB è un plugin caricabile ed è disponibile e descritto in modo completo nel repository del plugin MongoDB.

Si noti che:

  • I valori predefiniti riflettono i valori predefiniti del processo, non i valori presenti nei file di configurazione forniti.
  • I valori supportano le variabili di ambiente.
  • Zabbix supporta i file di configurazione solo in codifica UTF-8 senza BOM.
  • I commenti che iniziano con "#" sono supportati solo all'inizio della riga.

Opzioni

Parameter Description
-V --version Stampa la versione del plugin e le informazioni sulla licenza.
-h --help Stampa le informazioni di aiuto (forma abbreviata).
-t, --test <item key> Avvia il plugin per il test (la configurazione del plugin viene ignorata).

Parametri

Quando ci si connette a MongoDB, il plugin verifica la propria configurazione in un ordine specifico, che determina quale valore usare. L'ordine, dalla priorità più alta alla più bassa, è il seguente:

  1. Parametri specificati nell'URI di connessione (ad esempio, i parametri di query definiti dopo ? in Plugins.MongoDB.Sessions.<session_name>.Uri hanno la priorità più alta).
  2. Parametri nella chiave item di Zabbix agent 2 (ad esempio, mongodb.collection.stats).
  3. Parametri definiti in una sessione denominata (ad esempio, Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Valori predefiniti (ad esempio, Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

Ad esempio:

  • Se si specifica il database per l'autenticazione di una connessione al server MongoDB nel parametro *.<SessionName>.Uri (ad esempio, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), il plugin considererà il parametro *.<SessionName>.AuthSource impostato su admin, anche se il parametro *.<SessionName>.AuthSource è impostato su un valore diverso.
  • Se si specifica l'URI nel parametro *.<SessionName>.Uri (ad esempio, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), ma si forniscono nome utente e password nella chiave item di Zabbix agent 2, il plugin userà il nome utente e la password della chiave item, anche se Plugins.MongoDB.Sessions.<SessionName>.User e Plugins.MongoDB.Sessions.<SessionName>.Password sono configurati.

Se viene usato lo schema mongodb+srv://, l'URI può recuperare i parametri da un record DNS TXT. I parametri ottenuti da questo record TXT sostituiscono tutte le altre configurazioni, inclusi i parametri URI, i parametri della chiave item di Zabbix Agent 2 e i parametri della sessione.
Può esistere un solo record TXT per l'hostname usato nella stringa di connessione.

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Percorso del file eseguibile del plugin MongoDB.
Esempio di utilizzo: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout Timeout di esecuzione della richiesta (la durata, in secondi, da attendere prima di interrompere una richiesta non completata).
Plugins.MongoDB.KeepAlive no 60-900 300 Tempo massimo di attesa (in secondi) prima che le connessioni del plugin non utilizzate vengano chiuse.
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 Stringa di connessione di una sessione denominata.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Deve corrispondere al formato URI.
Schema supportati: mongodb:// e mongodb+srv://; lo schema tcp:// è deprecato e mantenuto per compatibilità con le configurazioni esistenti.
La porta può essere omessa (predefinita=27017).
Esempi: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Sessions.<SessionName>.User no Nome utente della sessione denominata.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.
Plugins.MongoDB.Sessions.<SessionName>.Password no Password della sessione denominata.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Metodo di connessione usato per determinare se il rilevamento automatico dei nodi del replica set MongoDB deve essere abilitato o disabilitato.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Valori supportati:
true - il plugin si connetterà solo al server specificato, ignorando gli altri membri del replica set;
false - il plugin rileverà automaticamente tutti i nodi nel replica set.
Se viene usato lo schema tcp:// (deprecato), il parametro è impostato su true per impostazione predefinita.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no Meccanismo di autenticazione per la connessione al server MongoDB.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Valori supportati: SCRAM-SHA-1, SCRAM-SHA-256 e MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin Database per l'autenticazione della connessione al server MongoDB.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Se viene usato il meccanismo di autenticazione MONGODB-X509, questo parametro viene impostato automaticamente su $external; modificarlo in qualsiasi altro valore causerà un errore all'avvio.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet no Nome del replica set, usato per il rilevamento automatico dei nodi del replica set MongoDB.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Se questo parametro viene usato con lo schema mongodb+srv://, si comporterà come se fossero stati forniti più URL; un server DNS può avere un record TXT che può sostituire questo parametro (o qualsiasi altro).

Non disponibile se il parametro Plugins.MongoDB.Sessions.<SessionName>.Direct è impostato su true, l'agent non riuscirà ad avviarsi.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference no Ordine per la connessione ai nodi del replica set MongoDB o per il fallback.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Valori supportati: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode e NearestMode.
Non disponibile se il parametro Plugins.MongoDB.Sessions.<SessionName>.Direct è impostato su true, l'agent non riuscirà ad avviarsi.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect no Tipo di crittografia per le comunicazioni tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.

Valori supportati:
required - richiede una connessione TLS;
verify\_ca - verifica i certificati;
verify\_full - verifica i certificati e l'indirizzo IP.

Supportato dalla versione 1.2.1 del plugin.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full Percorso completo di un file contenente i certificati CA di livello superiore per la verifica del certificato del peer, usato per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified Percorso completo di un file contenente il certificato dell'agent o la catena di certificati, usato per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Percorso completo di un file contenente la chiave privata del database usata per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da usare nelle chiavi item.
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 URI predefinito per la connessione a MongoDB.

Deve corrispondere al formato URI.
Schema supportati: mongodb:// e mongodb+srv://.
Schema deprecato: tcp:// (usato come predefinito per compatibilità con le configurazioni esistenti).
La porta può essere omessa (predefinita=27017).
Esempi: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Default.User no Nome utente predefinito per la connessione a MongoDB.
Plugins.MongoDB.Default.Password no Password predefinita per la connessione a MongoDB.
Plugins.MongoDB.Default.Direct no false Metodo di connessione predefinito usato per determinare se il rilevamento automatico dei nodi del replica set MongoDB deve essere abilitato o disabilitato.

Valori supportati:
true - il plugin si connetterà solo al server specificato, ignorando gli altri membri del replica set;
false - il plugin rileverà automaticamente tutti i nodi nel replica set.
Se viene usato lo schema tcp:// (deprecato), il parametro è impostato su true per impostazione predefinita.
Plugins.MongoDB.Default.AuthMechanism no Meccanismo di autenticazione predefinito per la connessione al server MongoDB.

Valori supportati: SCRAM-SHA-1, SCRAM-SHA-256 e MONGODB-X509.
Se non viene specificato alcun valore qui, in una chiave item, in una sessione denominata o nell'URI, viene usato un meccanismo basato su SCRAM (se è fornito un nome utente; in caso contrario, non verrà usata alcuna autenticazione).
Plugins.MongoDB.Default.AuthSource no admin Database predefinito per l'autenticazione della connessione al server MongoDB.

Se viene usato il meccanismo di autenticazione MONGODB-X509, questo parametro viene impostato automaticamente su $external; modificarlo in qualsiasi altro valore causerà un errore all'avvio.
Plugins.MongoDB.Default.ReplicaSet no Nome predefinito del replica set; usato per il rilevamento automatico dei nodi del replica set MongoDB.

Se questo parametro viene usato con lo schema mongodb+srv://, si comporterà come se fossero stati forniti più URL; un server DNS può avere un record TXT che può sostituire questo parametro (o qualsiasi altro).
Non disponibile se il parametro Plugins.MongoDB.Default.Direct è impostato su true, l'agent non riuscirà ad avviarsi.
Plugins.MongoDB.Default.ReadPreference no Ordine predefinito per la connessione ai nodi del replica set MongoDB o per il fallback.

Valori supportati: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode e NearestMode.
Non disponibile se il parametro Plugins.MongoDB.Default.Direct è impostato su true, l'agent non riuscirà ad avviarsi.
Plugins.MongoDB.Default.TLSConnect no Tipo di crittografia predefinito per le comunicazioni tra Zabbix agent 2 e i database monitorati.

Valori supportati:
required - richiede una connessione TLS.
verify\_ca - verifica i certificati.
verify\_full - verifica i certificati e l'indirizzo IP.
Se non viene specificato alcun valore qui, in una chiave item, in una sessione denominata o nell'URI, non verrà stabilita alcuna connessione TLS.
Plugins.MongoDB.Default.TLSCAFile no Percorso predefinito di un file contenente i certificati CA di livello superiore per la verifica del certificato del peer. Usato per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
Plugins.MongoDB.Default.TLSCertFile no Percorso predefinito di un file contenente il certificato client MongoDB o la catena di certificati. Usato per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
Plugins.MongoDB.Default.TLSKeyFile no Percorso predefinito di un file contenente la chiave privata client MongoDB usata per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.

Vedi anche: