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 nel proprio file di configurazione dedicato (ad esempio, mongo.conf) e quindi di utilizzare la direttiva Include per aggiungere questo file alla configurazione di Zabbix agent 2.

Il plugin MongoDB è un plugin caricabile, 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 d'ambiente.
  • Zabbix supporta file di configurazione solo con 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 si effettua la connessione a MongoDB, il plugin controlla la propria configurazione in un ordine specifico, che determina quale valore utilizzare. L'ordine, dalla priorità più alta a quella 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 con nome (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).

Per esempio:

  • Se si specifica il database per autenticare 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 utilizzerà nome utente e password dalla chiave item, anche se Plugins.MongoDB.Sessions.<SessionName>.User e Plugins.MongoDB.Sessions.<SessionName>.Password sono configurati.

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

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Percorso dell'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, di attesa del completamento di una richiesta prima di interromperla).
Plugins.MongoDB.KeepAlive no 60-900 300 Il 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 con nome.
<SessionName> - definisce il nome di una sessione da utilizzare nelle chiavi item.

Deve corrispondere al formato URI.
Schemi supportati: mongodb:// e mongodb+srv://; lo schema tcp:// è deprecato e mantenuto per la 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 con nome.
<SessionName> - definisce il nome di una sessione da utilizzare nelle chiavi item.
Plugins.MongoDB.Sessions.<SessionName>.Password no Password della sessione con nome.
<SessionName> - definisce il nome di una sessione da utilizzare nelle chiavi item.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Metodo di connessione utilizzato per determinare se il rilevamento automatico dei nodi del replica set MongoDB debba essere abilitato o disabilitato.
<SessionName> - definisce il nome di una sessione da utilizzare 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 del replica set.
Se viene utilizzato 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 utilizzare nelle chiavi item.

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

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

Se questo parametro viene utilizzato con lo schema mongodb+srv://, si comporterà come se fossero stati forniti più URL; un server DNS può avere un record TXT che può sovrascrivere 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 di connessione ai nodi del replica set MongoDB o fallback.
<SessionName> - definisce il nome di una sessione da utilizzare 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 utilizzare 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 della CA di livello superiore per la verifica del certificato del peer, utilizzato per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da utilizzare 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, utilizzato per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da utilizzare 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 utilizzata per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.
<SessionName> - definisce il nome di una sessione da utilizzare 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.
Schemi supportati: mongodb:// e mongodb+srv://.
Schema deprecato: tcp:// (utilizzato come predefinito per la 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 utilizzato per determinare se il rilevamento automatico dei nodi del replica set MongoDB debba 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 del replica set.
Se viene utilizzato 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 né qui, né in una chiave item, né in una sessione con nome, né nell'URI, verrà utilizzato un meccanismo basato su SCRAM (se viene fornito un nome utente; altrimenti non verrà utilizzata alcuna autenticazione).
Plugins.MongoDB.Default.AuthSource no admin Database predefinito per autenticare la connessione al server MongoDB.

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

Se questo parametro viene utilizzato con lo schema mongodb+srv://, si comporterà come se fossero stati forniti più URL; un server DNS può avere un record TXT che può sovrascrivere 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 di connessione ai nodi del replica set MongoDB o 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 né qui, né in una chiave item, né in una sessione con nome, né nell'URI, non verrà stabilita una connessione TLS.
Plugins.MongoDB.Default.TLSCAFile no Percorso predefinito di un file contenente i certificati della CA di livello superiore per la verifica del certificato del peer. Utilizzato 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. Utilizzato 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 del client MongoDB utilizzata per le comunicazioni crittografate tra Zabbix agent 2 e i database monitorati.

Vedi anche: