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 :

Remarque : la prise en charge des systèmes d'exploitation dépend de la technologie et de la méthode de surveillance. Pour la surveillance à distance, l'agent d' Instana s peut fonctionner sur n'importe quel système d'exploitation pris en charge par Instana, quel que soit le système d'exploitation de la technologie concernée. Pour la surveillance native, l'agent d' Instana s et la technologie doivent tous deux prendre en charge le même système d'exploitation.

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 ».

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 - dans admin la base de données
  • clusterMonitoer - dans admin la base de données
  • read - dans local la base de données

Dans un shell MongoDB, créez un utilisateur pour l'agent d' Instana dans la admin base de données :

  1. Se connecter en tant admin qu'utilisateur :
    use admin
    db.auth("admin", "YOUR_MONGODB_ADMIN_PASSWORD")
     
  2. 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.
  3. 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.Thesource fait 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_ip avec 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 le bind_ip_all paramè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'
 
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 secondes.
Remarque : la clé « API » se compose d'une clé publique et d'une clé privée que vous devez définir au niveau de l'organisation MongoDB Atlas. L'autorisation minimale requise au niveau de l'organisation est Organization Read Only.
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.

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.

Remarque : cette fonctionnalité permet à l'agent d' Instana de se connecter à MongoDB en utilisant SSL / TLS. Une fois la connexion établie, les identifiants (nom d'utilisateur et mot de passe) sont utilisés pour accéder à la base de données d'authentification.

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, ou shard_server
  • Chaîne de connexion à la base de données de configuration : disponible uniquement pour mongos les 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
Remarque : les serveurs de configuration ne collectent pas de métriques au niveau des documents, car ils stockent des métadonnées plutôt que des données d'application.
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
Remarque : les serveurs de configuration ne collectent pas de métriques au niveau des documents, car ils stockent des métadonnées plutôt que des données d'application.
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) ».