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
- Intervalle de rafraîchissement : mongotop
-
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