Monitoraggio di MongoDB
Il sensore « MongoDB » viene distribuito e installato automaticamente dopo l'installazione dell'agente « Instana ».
Informazioni sul supporto
Per assicurarti che il sensore MongoDB sia compatibile con la tua configurazione attuale, consulta le seguenti sezioni delle informazioni di supporto:
Sistemi operativi supportati
Il sensore supporta gli stessi sistemi operativi degli agenti host di Instana. Per ulteriori dettagli, consultare la sezione "Sistemi operativi supportati" relativa a ciascun agente host, ad esempio:
- Sistemi operativi supportati per l' Unix
- Sistemi operativi supportati per l' Windows
- Sistemi operativi supportati per l' Linux
Versioni supportate e politica di assistenza
Il sensore supporta le seguenti versioni di MongoDB e MongoDB Atlas :
- MongoDB 3.2.x
- MongoDB 3.4.x
- MongoDB 3.6.x
- MongoDB 4.0.x
- MongoDB e MongoDB Atlas 4.2.x
- MongoDB e MongoDB Atlas 4.4.x
- MongoDB e MongoDB Atlas 5.0.x
- MongoDB e MongoDB Atlas 6.0.x
- MongoDB e MongoDB Atlas 7.0.x
- MongoDB e MongoDB Atlas 8.0.4
La tabella seguente riporta l'ultima versione supportata e la politica di assistenza:
| Tecnologia | Politica di assistenza | Versione con tecnologia all'avanguardia | Ultima versione supportata |
|---|---|---|---|
| MongoDB | 45 giorni | 8.3.4 | 8.3.3 |
| MongoDB Atlas | 45 giorni | 8.3.4 | 8.2.7 |
Per ulteriori informazioni sulla politica di assistenza, consultare la sezione "Strategia di assistenza per i sensori".
Tracciamento supportato lato client
Configurazione
MongoDB con autenticazione disabilitata
Non è necessario intraprendere alcuna azione. Il monitoraggio di MongoDB con l'autenticazione disabilitata avviene automaticamente senza bisogno di alcuna configurazione nel configuration.yaml file.
MongoDB con l'autenticazione abilitata
Per monitorare MongoDB, è necessario creare un utente con i seguenti ruoli minimi:
read- neladmindatabaseclusterMonitoer- neladmindatabaseread- nellocaldatabase
In una shell MongoDB, creare un utente per l'agente Instana nel admin database:
adminAccedi come utente:use admin db.auth("admin", "YOUR_MONGODB_ADMIN_PASSWORD")- Per MongoDB 3.x e versioni successive, esegui il comando
createUser:db.createUser({ "user":"stan", "pwd": "UNIQUEPASSWORD", "roles" : [ {role: 'read', db: 'admin' }, {role: 'clusterMonitor', db: 'admin'}, {role: 'read', db: 'local' } ] })Nota: se si utilizza MongoDB Atlas, creare l'utente con tutti i ruoli assegnati esclusivamente tramite la console di gestione MongoDB Atlas. Una volta creato l'utente, è possibile configurarlo nel file di configurazione dell'agente:
com.instana.plugin.mongodb: user: 'stan' source: 'admin' password: 'UNIQUEPASSWORD' poll_rate: general_metrics: 1 # general MongoDB metrics (connections, ops, etc.) replicaset_metrics: 30 # replica set state metrics host: '' # Optional: Explicit hostname or fully qualified domain name (FQDN) for MongoDB connection (for example, 'mongodb.example.com'). If not specified, the first hostname from the MongoDB bindIp configuration is used.Nota: il valore predefinito per l'intervallo delle metriche generali è 1 secondo, mentre quello per il set di repliche è 30 seconds.Thesourcesi riferisce al database o alla fonte di autenticazione in cui è definito l'utente. Per ulteriori informazioni, consultare la documentazione su MongoDB.Nota: quando si monitora un cluster o un'istanza autonoma di MongoDB con Instana, configurare l'impostazione--bind_ipcon indirizzi IP specifici oppure lasciarla vuota per utilizzare il valore predefinito 127.0.0.1. Non utilizzare ilbind_ip_allparametro.
MongoDB Atlas supporto
L'agente " Instana " consente il monitoraggio remoto dei cluster " MongoDB Atlas " presenti in diversi progetti e organizzazioni. <agent_install_dir>/etc/instana/configuration.yamlAffinché l'agente di Instana possa monitorare le tue organizzazioni su MongoDB Atlas, è necessario configurarlo qui:
com.instana.plugin.mongodb:
user: 'stan'
source: 'admin'
password: 'UNIQUEPASSWORD'
poll_rate:
general_metrics: 1 # general MongoDB metrics (connections, ops, etc.)
replicaset_metrics: 30 # replica set state metrics
atlas:
- publicKey: 'your public key'
privateKey: 'your private key'
- publicKey: 'your public key'
privateKey: 'your private key'
Organization Read Only.SSL / Assistenza per TLS
<agent_install_dir>/etc/instana/configuration.yamlAffinché l'agente di Instana possa connettersi in modo sicuro al tuo server MongoDB, è necessario configurarlo qui:
com.instana.plugin.mongodb:
...
sslTrustStore: '/path/to/truststore.jks'
sslTrustStorePassword: 'mongoTsPassword'
sslKeyStore: '/path/to/sslKeyStoreFile.jks'
sslKeyStorePassword: 'mongoKsPassword'
Per abilitare la funzionalità di supporto SSL / TLS, le chiavi devono essere nel formato Java Keystore (JKS). È possibile utilizzare il programma keytool per creare queste chiavi.
Raccolta di metriche
Per visualizzare le metriche, seleziona "Infrastruttura" nella barra laterale dell'interfaccia utente di Instana, fai clic su un host monitorato e visualizza la dashboard dell'host con tutte le metriche raccolte e i processi monitorati.
Dati di configurazione
- Versione
- Porta
- Motore di archiviazione
- Database
- Tipo di nodo: nei cluster con partizionamento, identifica l'istanza come
mongos,config_server, oshard_server - Configurazione della stringa di connessione al database: disponibile solo per
mongosle istanze
Metriche di prestazioni
Attività del database
| Metrica | Descrizione |
|---|---|
| Letto | Numero di documenti letti |
| Inserito | Numero di documenti inseriti |
| Caricato | Numero di documenti caricati |
| Eliminato | Numero di documenti eliminati |
Contatori operazioni
| Metrica | Descrizione |
|---|---|
| Aggiorna | Numero totale di operazioni di aggiornamento ricevute dall'ultimo avvio dell'istanza mongod. |
| Inserisci | Numero totale di operazioni di inserimento ricevute dall'ultimo avvio dell'istanza mongod. |
| Query | Numero totale di query ricevute dall'ultimo avvio dell'istanza mongod. |
| Elimina | Numero totale di operazioni di eliminazione eseguite dall'ultimo avvio dell'istanza mongod. |
| getMore | Numero totale di operazioni « getMore » eseguite dall'ultimo avvio dell'istanza mongod. |
Memoria
| Metrica | Descrizione |
|---|---|
| Virtuale | Memoria virtuale per l'intero processo MongoDB. Se la registrazione su file di log è abilitata, questo valore è in genere pari al doppio della dimensione della memoria mappata. |
| Associato | Quantità di memoria virtuale utilizzata dal processo MongoDB per caricare il database in memoria. Questo valore corrisponde in genere alla dimensione del database. |
Client
| Metrica | Descrizione |
|---|---|
| Connessioni | Numero di clienti attualmente attivi connessi a un server MongoDB. |
| Writer ActiveClients | Numero di connessioni client attive che eseguono operazioni di scrittura. |
| Lettori ActiveClients | Numero di connessioni client attive che eseguono operazioni di lettura. |
Banche dati (per banca dati)
| Metrica | Descrizione |
|---|---|
| Dimensioni del database | Dimensione database |
Set di repliche (se presente)
| Metrica | Descrizione |
|---|---|
| Op. Apply | Numero di operazioni di applicazione interne |
| Batch Apply | Numero di batch di applicazione interni |
| Totale dei tempi di elaborazione dei batch (ms) | Durata dei batch di applicazione in millisecondi |
| Conteggio buffer | Numero di buffer |
| Dimensione buffer | Dimensione buffer |
| Operazioni di rete | Numero di operazioni di rete |
| Byte di rete | Dimensione delle operazioni di rete |
| Carica i documenti in anticipo | Numero di operazioni di precaricamento dei documenti |
| Tempo totale di precaricamento dei documenti (ms) | Durata dei documenti di precaricamento in millesimi di secondo |
| Precarica Idx | Numero di operazioni di precaricamento dell'indice |
| Tempo di precaricamento totale dell'indice (ms) | Durata dell'idx di precaricamento in millisecondi |
| Ritardo replica | Ritardo tra un'operazione di scrittura sul disco primario e la sua copia su un disco secondario (in millisecondi) |
Cluster Atlas (se presente)
| Metrica | Descrizione |
|---|---|
| Letto | Numero di documenti letti |
| Inserito | Numero di documenti inseriti |
| Caricato | Numero di documenti caricati |
| Eliminato | Numero di documenti eliminati |
| Connessioni | Numero di client attualmente connessi |
| Operazioni di rete | Numero di operazioni di rete |
| Byte di rete | Dimensione delle operazioni di rete |
Cluster shardato (server Mongos e server di configurazione)
Per i cluster sharded di ` MongoDB `, ` Instana ` monitora sia le istanze del router mongos che i server di configurazione per tenere traccia dello stato di salute e della connettività del cluster.
Metriche Mongos (se presenti)
Dati di configurazione di Mongos
Per le istanze mongos vengono raccolte le seguenti informazioni di configurazione:
| Elemento della configurazione | Descrizione |
|---|---|
| Versione | MongoDB versione in esecuzione sull'istanza mongos |
| Porta | Numero di porta su cui è in ascolto l'istanza di Mongos |
| Motore di archiviazione | Motore di archiviazione utilizzato dall'istanza mongos |
| Tipo di nodo | Tipo di nodo " MongoDB " (mongos per le istanze router) |
| Database di configurazione | Stringa di connessione per il set di repliche del server di configurazione |
Nella dashboard di mongos sono disponibili i seguenti indicatori:
| Categoria metrica | Metriche | Descrizione |
|---|---|---|
| Connessioni | Connessioni | Numero di client attivi connessi a mongos |
| Dimensione database | Dimensione totale del database | Dimensione totale di tutti i database accessibili tramite mongos |
| Attività del database | Letto, inserito, aggiornato, eliminato | Numero di documenti letti, inseriti, aggiornati ed eliminati |
| Client | Connessioni | Connessioni attive dei clienti |
| Memoria | Virtuale, mappato | Utilizzo della memoria virtuale e mappata da parte del processo mongos |
| Richieste di lettura al secondo | Cerca, Scopri di più | Numero di operazioni di query e di " getMore " al secondo |
| Richieste di scrittura al secondo | Inserisci, Aggiorna, Elimina | Numero di operazioni di inserimento, aggiornamento ed eliminazione al secondo |
| Numero di client con operazioni di lettura | Lettori di client attivi, connessioni disponibili | Clienti in lettura attivi e connessioni disponibili nel pool |
| Numero di client con operazioni di scrittura | Clienti attivi, autori, connessioni in uso | Client di scrittura attivi e connessioni attualmente in uso |
| Database | Nome, Taglia | Elenco di tutti i database accessibili tramite questa istanza di mongos |
Configurare le metriche del server (se presenti)
Dati di configurazione del server di configurazione
Per i server di configurazione vengono raccolte le seguenti informazioni di configurazione:
| Elemento della configurazione | Descrizione |
|---|---|
| Versione | MongoDB versione in esecuzione sul server di configurazione |
| Porta | Numero di porta su cui il server di configurazione è in ascolto |
| Motore di archiviazione | Motore di archiviazione utilizzato dal server di configurazione |
| Tipo di nodo | Tipo di nodo " MongoDB " |
| Nome serie di repliche | Nome del set di repliche del server di configurazione |
| Ruolo | Ruolo attuale del nodo nel set di repliche |
I server di configurazione sono istanze mongod specializzate che memorizzano i metadati e la configurazione del cluster. Raccolgono le stesse metriche standard di MongoDB delle normali istanze mongod:
| Categoria metrica | Metriche | Descrizione |
|---|---|---|
| Connessioni | Connessioni | Numero di client attivi connessi a mongod |
| Dimensione database | Dimensione totale del database | Dimensione totale di tutti i database accessibili tramite mongod |
| Attività del database | Letto, inserito, aggiornato, eliminato | Numero di documenti letti, inseriti, aggiornati ed eliminati |
| Client | Connessioni | Connessioni attive dei clienti |
| Memoria | Virtuale, mappato | Utilizzo della memoria virtuale e mappata da parte del processo mongod |
| Richieste di lettura al secondo | Cerca, Scopri di più | Numero di operazioni di query e di " getMore " al secondo |
| Richieste di scrittura al secondo | Inserisci, Aggiorna, Elimina | Numero di operazioni di inserimento, aggiornamento ed eliminazione al secondo |
| Numero di client con operazioni di lettura | Lettori di client attivi, connessioni disponibili | Clienti in lettura attivi e connessioni disponibili nel pool |
| Numero di client con operazioni di scrittura | Clienti attivi, autori, connessioni in uso | Client di scrittura attivi e connessioni attualmente in uso |
| Database | Nome, Taglia | Elenco di tutti i database accessibili tramite questa istanza di MongoDB |
Configurare le metriche del set di repliche del server (se presente)
I server di configurazione vengono implementati come set di repliche per garantire l'alta disponibilità. Vengono raccolte le seguenti metriche relative al set di repliche:
| Categoria metrica | Metriche | Descrizione |
|---|---|---|
| Attività del database | Letto, inserito, aggiornato, eliminato | Numero di documenti letti, inseriti, aggiornati ed eliminati |
| Prestazioni della replica | Ritardo replica | Ritardo tra la scrittura sul disco primario e la copia sul disco secondario (ms) |
| Client | Connessioni | Numero di connessioni client attive |
| Operazioni di applicazione | Applica operazioni, Applica lotti, Totale lotti applicati | Operazioni di applicazione interne, lotti e durata totale (ms) |
| Rete | Operazioni di rete, Dati di rete | Numero e dimensioni delle operazioni di rete |
| Buffer | Numero di buffer, Dimensione dei buffer | Numero di buffer e dimensione dei buffer |
| Precaricamento | Documentazione, Indici, Totale documentazione, Totale indici | Operazioni di precaricamento per documenti e indici con tempo totale (ms) |
Vantaggi del monitoraggio
Il monitoraggio dei cluster shard offre visibilità sulle seguenti aree:
- Router Mongos : stato e utilizzo del pool di connessioni per le query di routing
- Disponibilità del server di configurazione : fondamentale per le operazioni relative ai metadati del cluster e per le modifiche alla configurazione
- Connettività e prestazioni degli shard : garantisce che i nodi dati siano raggiungibili e reattivi
- Stato generale del cluster shardato : monitoraggio end-to-end dell'architettura distribuita
Questi indicatori contribuiscono a garantire le seguenti condizioni:
- I server Mongos mantengono connessioni attive con i server di configurazione e gli shard
- I server di configurazione sono disponibili e funzionano correttamente (fondamentale per il funzionamento del cluster)
- L'infrastruttura del cluster shard funziona correttamente su tutti i nodi
- Le prestazioni di instradamento delle query sono ottimali
- Eventuali problemi di connettività vengono individuati tempestivamente, prima che possano influire sul funzionamento delle applicazioni
Firme in materia di salute
Per ogni sensore, una banca dati selezionata di indicatori di stato viene costantemente confrontata con i dati in arrivo e utilizzata per segnalare problemi o incidenti a seconda dell'impatto sugli utenti.
Gli eventi predefiniti generano problemi o incidenti in base a segnali di anomalia rilevati sulle entità, mentre gli eventi personalizzati generano problemi o incidenti in base alle soglie di una singola metrica di una determinata entità.
Per informazioni sugli eventi predefiniti per il sensore MongoDB, consultare la documentazione di riferimento sugli eventi predefiniti. Per ulteriori informazioni sui cluster sharded MongoDB con istanze mongos, consultare la documentazione relativa ai cluster sharded MongoDB (Mongos).