Aller au contenu

Outils de supervision intégrés#

Introduction à mongotop#

  • Outil de supervision en ligne de commande
    • mongotop est un outil intégré à MongoDB, accessible via la ligne de commande
    • Il s'exécute directement sur l'ordinateur hébergeant le serveur de base de données
    • Aucune installation supplémentaire n'est requise, car mongotop est inclus dans le package MongoDB
  • Surveille les opérations de lecture et d'écriture par collection
    • mongotop surveille en temps réel les opérations effectuées sur chaque collection de la base de données
    • Il donne un aperçu du temps passé en lecture et en écriture pour chaque collection
    • Les informations sont affichées sous forme d'un tableau avec des colonnes pour les lectures, les écritures et le temps total
  • Affiche le temps passé sur chaque opération
    • mongotop affiche le temps moyen passé en millisecondes pour chaque opération de lecture et d'écriture par collection
    • Les résultats sont mis à jour en temps réel à intervalles réguliers (par défaut, toutes les secondes)
  • Utile pour identifier les collections les plus sollicitées
    • mongotop aide à détecter les collections qui sont fréquemment sollicitées
    • Les collections ayant des temps de lecture et d'écriture élevés peuvent nécessiter une optimisation (par exemple, l'ajout d'index)

Exemple:

$ mongotop --host localhost:27017 --username myUser --password myPassword
          ns    total    read    write
test.coll1      0ms     0ms      0ms
test.coll2      8ms     8ms      0ms
test.coll3     15ms     0ms     15ms

Utilisation de mongotop pour surveiller les opérations#

  • Paramètres optionnels : intervalle de rafraîchissement (en ms) et authentification

    • Intervalle de rafraîchissement : mongotop
    • Authentification : mongotop -u -p --authenticationDatabase
    • Exemple : mongotop 1000 -u admin -p mypassword --authenticationDatabase admin
  • Interprétation des résultats : temps de lecture (read), écriture (write) et total par collection :

    • Les résultats de mongotop sont présentés sous forme de tableau avec les colonnes suivantes : ns, total, read, write.
    • ns : le nom de la collection (par exemple, mydb.mycollection)
    • total : le temps total (en ms) passé sur les opérations de lecture et d'écriture pour cette collection
    • read : le temps total (en ms) passé sur les opérations de lecture pour cette collection
    • write : le temps total (en ms) passé sur les opérations d'écriture pour cette collection
  • Identifier les collections à optimiser
    • Analyser les temps de lecture et d'écriture
    • Repérer les collections avec des temps élevés
    • Exemple : dans la sortie ci-dessus, la collection "orders" présente des temps de lecture et d'écriture plus élevés que les autres collections

Introduction à mongostat#

  • Outil de supervision en ligne de commande
    • Utilise la CLI pour interagir avec MongoDB
    • Commande : mongostat
  • Surveille les statistiques globales de la base de données
    • Opérations de lecture, écriture, et mise à jour par seconde
    • Utilisation de la mémoire
    • Taux de lock
    • Nombre de connexions
  • Affiche les informations sur les opérations, l'utilisation de la mémoire, la réplication, etc.
    • "insert" : nombre d'opérations d'insertion par seconde
    • "query" : nombre de requêtes par seconde
    • "update" : nombre d'opérations de mise à jour par seconde
    • "delete" : nombre d'opérations de suppression par seconde
    • "resident" (res) : mémoire résidente utilisée (en Mo)
    • "virtual" (virt) : mémoire virtuelle utilisée (en Mo)
    • "netIn" et "netOut" : taux d'entrée/sortie réseau (en Ko/s)
    • "conn" : nombre de connexions actives
    • "repl" : état de la réplication (PRIMARY, SECONDARY, etc.)
  • Aide à détecter les problèmes de performance et de configuration
    • Identifier les goulots d'étranglement (bottlenecks) ou les ressources saturées
    • Surveiller la réplication et l'état du cluster

Exemple:

$ mongostat
insert  query update delete getmore command dirty  used flushes vsize   res qrw arw net_in net_out conn  time
   *0     *0     *0     *0       0     1|0  0.0%  0.1%       0 1.44G 13.0M 0|0 1|0  62b    125b   10 12:34:56

Utilisation de mongostat pour surveiller les statistiques de la base de données#

  • Lancer mongostat depuis la CLI avec la commande mongostat
    • Exemple : mongostat
    • Affiche les statistiques en temps réel avec un intervalle de rafraîchissement par défaut de 1 seconde
  • Paramètres optionnels : intervalle de rafraîchissement (en s) et authentification
    • Exemple : mongostat --authenticationDatabase admin -u yourUsername -p yourPassword --host yourHost 5
    • Ici, on spécifie un intervalle de 5 secondes et on fournit les informations d'authentification
    • Exemple : mongostat 1 pour un intervalle d'1 seconde
  • Interprétation des résultats : opérations par seconde, utilisation de la mémoire, nombre de connexions, etc.
    • insert, query, update, delete : opérations de la base de données par seconde
    • command : nombre de commandes exécutées par seconde
    • dirty, used : pourcentage de la mémoire utilisée par les données modifiées et par les données en général
    • vsize, res : taille de la mémoire virtuelle et de la mémoire résidente utilisées par le processus mongod
    • netIn, netOut : débit réseau entrant et sortant en octets par seconde
    • conn : nombre de connexions actives à la base de données
  • Analyser les indicateurs pour détecter les problèmes et optimiser la base de données
    • Surveiller les opérations avec un taux élevé pour identifier les collections très sollicitées
    • Vérifier l'utilisation de la mémoire pour détecter les problèmes de gestion de la mémoire
    • Surveiller le débit réseau pour identifier les goulots d'étranglement liés au réseau
    • Examiner le nombre de connexions pour s'assurer que la base de données n'est pas surchargée