Surveillance de MongoDB
Le capteur « MongoDB » est automatiquement déployé et installé une fois que vous avez installé l'agent « Instana ».
Informations de support
Pour vous assurer que le capteur d' MongoDB s est compatible avec votre configuration actuelle, consultez les sections d'assistance suivantes :
Systèmes d'exploitation pris en charge
Le capteur prend en charge les mêmes systèmes d'exploitation que les agents hôtes d' Instana. Pour plus de détails, consultez la section « Systèmes d'exploitation pris en charge » de chaque agent hôte, par exemple :
- Systèmes d'exploitation pris en charge par l' Unix
- Systèmes d'exploitation pris en charge par l' Windows
- Systèmes d'exploitation pris en charge par l' Linux
Versions prises en charge et politique d'assistance
Le capteur prend en charge les versions suivantes d' MongoDB et d' MongoDB Atlas :
- MongoDB 3.2.x
- MongoDB 3.4.x
- MongoDB 3.6.x
- MongoDB 4.0.x
- MongoDB et MongoDB Atlas 4.2.x
- MongoDB et MongoDB Atlas 4.4.x
- MongoDB et MongoDB Atlas 5.0.x
- MongoDB et MongoDB Atlas 6.0.x
- MongoDB et MongoDB Atlas 7.0.x
- MongoDB et MongoDB Atlas 8.0.4
Le tableau suivant présente la dernière version prise en charge et la politique d'assistance :
| Technologie | Politique de support | Dernière version technologique | Dernière version prise en charge |
|---|---|---|---|
| MongoDB | 45 jours | 8.3.4 | 8.3.3 |
| MongoDB Atlas | 45 jours | 8.3.4 | 8.2.7 |
Pour plus d'informations sur la politique d'assistance, consultez la section « Stratégie d'assistance pour les capteurs ».
Prise en charge du traçage côté client
Configuration
MongoDB avec l'authentification désactivée
Aucune action n'est requise. La surveillance d' MongoDB, lorsque l'authentification est désactivée, s'effectue automatiquement sans qu'il soit nécessaire de définir de paramètres dans le configuration.yaml fichier.
MongoDB lorsque l'authentification est activée
Pour surveiller MongoDB,, vous devez créer un utilisateur disposant au minimum des rôles suivants :
read- dansadminla base de donnéesclusterMonitoer- dansadminla base de donnéesread- danslocalla base de données
Dans un shell MongoDB, créez un utilisateur pour l'agent d' Instana dans la admin base de données :
- Se connecter en tant
adminqu'utilisateur :use admin db.auth("admin", "YOUR_MONGODB_ADMIN_PASSWORD") - Pour MongoDB 3.x et versions ultérieures, exécutez la commande
createUser:db.createUser({ "user":"stan", "pwd": "UNIQUEPASSWORD", "roles" : [ {role: 'read', db: 'admin' }, {role: 'clusterMonitor', db: 'admin'}, {role: 'read', db: 'local' } ] })Remarque : si vous utilisez MongoDB Atlas, créez l'utilisateur avec tous les rôles attribués uniquement via la console d'administration MongoDB Atlas. Une fois l'utilisateur créé, vous pouvez le configurer dans le fichier de configuration de l'agent :
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.Remarque : la valeur par défaut de l'intervalle pour les métriques générales est de 1 seconde, et celle pour le jeu de répliques est de 30 s seconds.Thesourcefait référence à la base de données ou à la source d'authentification dans laquelle l'utilisateur est défini. Pour plus d'informations, consultez la documentation de l' MongoDB.Remarque : lorsque vous surveillez un cluster MongoDB ou une instance autonome à l'aide d' Instana, configurez-le--bind_ipavec des adresses IP spécifiques ou ne définissez aucune valeur pour utiliser la valeur par défaut 127.0.0.1. N'utilisez pas lebind_ip_allparamètre.
Prise en charge de MongoDB Atlas
L'agent « Instana » permet la surveillance à distance des clusters d' MongoDB Atlas s au sein de différents projets et organisations. Pour que l'agent d' Instana s puisse surveiller vos organisations MongoDB Atlas, il doit être configuré ici <agent_install_dir>/etc/instana/configuration.yaml:
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.Prise en charge de SSL/TLS
Pour que l'agent d' Instana s puisse se connecter en toute sécurité à votre serveur MongoDB, il doit être configuré ici <agent_install_dir>/etc/instana/configuration.yaml:
com.instana.plugin.mongodb:
...
sslTrustStore: '/path/to/truststore.jks'
sslTrustStorePassword: 'mongoTsPassword'
sslKeyStore: '/path/to/sslKeyStoreFile.jks'
sslKeyStorePassword: 'mongoKsPassword'
Pour activer la fonctionnalité de prise en charge SSL / TLS, les clés doivent être au format Java Keystore (JKS). L'outil keytool permet de créer ces clés.
Collecte des métriques
Pour consulter les métriques, sélectionnez « Infrastructure » dans la barre latérale de l'interface utilisateur d' Instana, cliquez sur un hôte surveillé, puis consultez le tableau de bord de l'hôte qui affiche toutes les métriques collectées et les processus surveillés.
Données de configuration
- Version
- Port
- Moteur de stockage
- Bases de données
- Type de nœud : pour les clusters fragmentés, identifie l'instance comme
mongos,config_server, oushard_server - Chaîne de connexion à la base de données de configuration : disponible uniquement pour
mongosles instances
Métriques de performance
Activité de base de données
| Métrique | Description |
|---|---|
| Lecture | Nombre de documents lus |
| Inséré | Nombre de documents insérés |
| Importé | Nombre de documents téléchargés |
| Supprimé | Nombre de documents supprimés |
Opcounters
| Métrique | Description |
|---|---|
| Mettre à jour | Nombre total d'opérations de mise à jour reçues depuis le dernier démarrage de l'instance mongod. |
| Insérer | Nombre total d'opérations d'insertion reçues depuis le dernier démarrage de l'instance mongod. |
| Requête | Nombre total de requêtes reçues depuis le dernier démarrage de l'instance mongod. |
| Supprimer | Nombre total d'opérations de suppression effectuées depuis le dernier démarrage de l'instance mongod. |
| getMore | Nombre total d'opérations « getMore » effectuées depuis le dernier démarrage de l'instance mongod. |
Mémoire
| Métrique | Description |
|---|---|
| Virtuelle | Mémoire virtuelle pour l'ensemble du processus MongoDB. Si la journalisation est activée, cette valeur correspond généralement au double de la taille de votre mémoire mappée. |
| Mappé | Quantité de mémoire virtuelle utilisée par le processus ` MongoDB ` pour charger votre base de données en mémoire. Cette valeur correspond généralement à la taille de votre base de données. |
Clients
| Métrique | Description |
|---|---|
| Connexions | Nombre de clients actuellement actifs connectés au serveur MongoDB. |
| Programmes d'écriture ActiveClients | Nombre de connexions client actives effectuant des opérations d'écriture. |
| Lecteurs ActiveClients | Nombre de connexions client actives effectuant des opérations de lecture. |
Bases de données (par base de données)
| Métrique | Description |
|---|---|
| Taille de la base de données | Taille de la base de données |
Jeu de répliques (s'il existe)
| Métrique | Description |
|---|---|
| Opérations d'application (ApplyOps) | Nombre d'opérations d'application internes |
| Appliquer les lots | Nombre de lots d'application internes |
| Nombre total de lots d'application (ms) | Durée des lots d'application en millisecondes |
| Nombre de mémoires-tampons | Nombre de mémoires tampon |
| Taille de la mémoire tampon | Taille de la mémoire tampon |
| Opérations réseau | Nombre d'opérations réseau |
| Octets réseau | Taille des opérations réseau |
| Préchargement de documents | Nombre d'opérations de préchargement de documents |
| Total de préchargement de documents (ms) | Durée de préchargement de documents en millisecondes |
| Préchargement d'index | Nombre d'opérations de préchargement d'index (idx) |
| Total de préchargement d'index (ms) | Durée préchargement d'index en millisecondes |
| Décalage de réplication | Délai entre une opération d'écriture sur la réplique principale et sa copie sur une seconde réplique (en millisecondes) |
Cluster Atlas (s'il existe)
| Métrique | Description |
|---|---|
| Lecture | Nombre de documents lus |
| Inséré | Nombre de documents insérés |
| Importé | Nombre de documents téléchargés |
| Supprimé | Nombre de documents supprimés |
| Connexions | Nombre de clients actuellement connectés |
| Opérations réseau | Nombre d'opérations réseau |
| Octets réseau | Taille des opérations réseau |
Cluster fragmenté (serveurs Mongos et de configuration)
Pour les clusters segmentés d' MongoDB, Instana surveille à la fois les instances du routeur mongos et les serveurs de configuration afin de suivre l'état de santé et la connectivité du cluster.
Indicateurs Mongos (le cas échéant)
Données de configuration de Mongos
Les informations de configuration suivantes sont collectées pour les instances mongos :
| Élément de configuration | Description |
|---|---|
| Version | MongoDB version exécutée sur l'instance mongos |
| Port | Numéro de port sur lequel l'instance Mongos est à l'écoute |
| Moteur de stockage | Moteur de stockage utilisé par l'instance mongos |
| Type de noeud | Type de nœud d' MongoDB (mongos pour les instances de routeur) |
| Configuration de la base de données | Chaîne de connexion pour le groupe de répliques du serveur de configuration |
Les indicateurs suivants sont disponibles dans le tableau de bord mongos :
| Catégorie de métrique | Métriques | Description |
|---|---|---|
| Connexions | Connexions | Nombre de clients actifs connectés à mongos |
| Taille de la base de données | Taille totale de la base de données | Taille totale de toutes les bases de données accessibles via mongos |
| Activité de base de données | Lu, inséré, mis à jour, supprimé | Nombre de documents lus, insérés, mis à jour et supprimés |
| Clients | Connexions | Connexions clientes actives |
| Mémoire | Virtuel, cartographié | Utilisation de la mémoire virtuelle et de la mémoire mappée par le processus mongos |
| Demandes de lecture par seconde | Rechercher, En savoir plus | Nombre d'opérations de requête et d' getMore s par seconde |
| Demandes d'écriture par seconde | Insérer, Mettre à jour, Supprimer | Nombre d'opérations d'insertion, de mise à jour et de suppression par seconde |
| Nombre de clients avec des opérations de lecture | Lecteurs clients actifs, Connexions disponibles | Nombre de clients en lecture active et de connexions disponibles dans le pool |
| Nombre de clients avec des opérations d'écriture | Clients actifs, rédacteurs, connexions en cours | Clients en écriture active et connexions actuellement en cours d'utilisation |
| Bases de données | Nom, taille | Liste de toutes les bases de données accessibles via cette instance mongos |
Configurer les métriques du serveur (si elles existent)
Données de configuration du serveur de configuration
Les informations de configuration suivantes sont collectées pour les serveurs de configuration :
| Élément de configuration | Description |
|---|---|
| Version | MongoDB version en cours d'exécution sur le serveur de configuration |
| Port | Numéro de port sur lequel le serveur de configuration est à l'écoute |
| Moteur de stockage | Moteur de stockage utilisé par le serveur de configuration |
| Type de noeud | Type de nœud d' MongoDB |
| Nom du jeu de répliques | Nom du groupe de répliques du serveur de configuration |
| Rôle | Rôle actuel du nœud dans le groupe de réplication |
Les serveurs de configuration sont des instances mongod spécialisées qui stockent les métadonnées et la configuration du cluster. Elles collectent les mêmes métriques MongoDB standard que les instances mongod classiques :
| Catégorie de métrique | Métriques | Description |
|---|---|---|
| Connexions | Connexions | Nombre de clients actifs connectés à mongod |
| Taille de la base de données | Taille totale de la base de données | Taille totale de toutes les bases de données accessibles via mongod |
| Activité de base de données | Lu, inséré, mis à jour, supprimé | Nombre de documents lus, insérés, mis à jour et supprimés |
| Clients | Connexions | Connexions clientes actives |
| Mémoire | Virtuel, cartographié | Utilisation de la mémoire virtuelle et de la mémoire mappée par le processus mongod |
| Demandes de lecture par seconde | Rechercher, En savoir plus | Nombre d'opérations de requête et d' getMore s par seconde |
| Demandes d'écriture par seconde | Insérer, Mettre à jour, Supprimer | Nombre d'opérations d'insertion, de mise à jour et de suppression par seconde |
| Nombre de clients avec des opérations de lecture | Lecteurs clients actifs, Connexions disponibles | Nombre de clients en lecture active et de connexions disponibles dans le pool |
| Nombre de clients avec des opérations d'écriture | Clients actifs, rédacteurs, connexions en cours | Clients en écriture active et connexions actuellement en cours d'utilisation |
| Bases de données | Nom, taille | Liste de toutes les bases de données accessibles via cette instance MongoDB |
Configurer les métriques du jeu de répliques du serveur (le cas échéant)
Les serveurs de configuration sont déployés sous forme d'ensembles de répliques afin d'assurer une haute disponibilité. Les métriques suivantes relatives au jeu de répliques sont collectées :
| Catégorie de métrique | Métriques | Description |
|---|---|---|
| Activité de base de données | Lu, inséré, mis à jour, supprimé | Nombre de documents lus, insérés, mis à jour et supprimés |
| Performances de réplication | Décalage de réplication | Délai entre l'écriture sur le disque principal et la copie sur le disque secondaire (ms) |
| Clients | Connexions | Nombre de connexions client actives |
| Appliquer les opérations | Appliquer les opérations, Appliquer les lots, Total des lots | Opérations d'application internes, lots et durée totale (ms) |
| Réseau | Opérations réseau, Bits et octets | Nombre et taille des opérations réseau |
| Mémoire tampon | Nombre de tampons, taille des tampons | Nombre de tampons et taille des tampons |
| Précharger | Documentation, Index, Total de la documentation, Total des index | Opérations de préchargement des documents et des index avec durée totale (ms) |
Suivi des avantages
La surveillance des clusters fragmentés offre une visibilité sur les domaines suivants :
- Routeurs Mongos : état et utilisation du pool de connexions pour les requêtes de routage
- Disponibilité du serveur de configuration : essentielle pour les opérations liées aux métadonnées du cluster et les modifications de configuration
- Connectivité et performances des shards : garantit que les nœuds de données sont accessibles et réactifs
- État général du cluster fragmenté : surveillance de bout en bout de l'architecture distribuée
Ces indicateurs permettent de garantir les conditions suivantes :
- Les serveurs Mongos maintiennent des connexions actives avec les serveurs de configuration et les shards
- Les serveurs de configuration sont disponibles et fonctionnent correctement (élément essentiel au bon fonctionnement du cluster)
- L'infrastructure du cluster fragmenté fonctionne correctement sur tous les nœuds
- Les performances de routage des requêtes sont optimales
- Les éventuels problèmes de connectivité sont détectés à un stade précoce, avant qu'ils n'affectent les applications
Signatures d'intégrité
Pour chaque capteur, une base de connaissances sélectionnée avec soin, regroupant des indicateurs de santé, est évaluée en permanence par rapport aux données reçues et sert à signaler des problèmes ou des incidents en fonction de leur impact sur les utilisateurs.
Les événements intégrés déclenchent des problèmes ou des incidents en cas de non-conformité des signatures de santé des entités, tandis que les événements personnalisés déclenchent des problèmes ou des incidents en fonction des seuils d'une métrique spécifique à une entité donnée.
Pour plus d'informations sur les événements intégr és du capteur « MongoDB », consultez la référence sur les événements intégrés. Pour plus d'informations sur les clusters fragmentés d' MongoDB s avec des instances mongos, consultez la page « Cluster fragmenté d' MongoDB s (Mongos) ».