Tableaux de bord MongoDB

MongoDB -> Mongodb_Exporter -> Prometheus -> Grafana.

Tableaux de bord MongoDB screenshot 1
Tableaux de bord MongoDB screenshot 2
Tableaux de bord MongoDB screenshot 3

Environnement

  • Docker : Mongodb 6.0.5
  • Docker : percona/mongodb_exporter 2.37.0
  • Docker : prometheus 2.44.0
  • Docker : grafana 9.5.2

Attention le tableau de bord ne fonctionne qu’avec la version 2.x de mongodb_exporter.

Mongodb

  • Version 6.0.5 ;
  • Authentification désactivée pour les tests avec mongod_exporter ;
  • Une instance, 160 collections.

Mongodb_exporter

La configuration du docker compose :

yml
mongodb_exporter:
    platform: "linux"
    container_name: mongodb_exporter
    image: percona/mongodb_exporter:${mongo_exporter_version}
    command:
        - '--mongodb.global-conn-pool'
        - '--collector.diagnosticdata'
        - '--discovering-mode'
        - '--mongodb.uri=mongodb://mongodb:17001/admin?ssl=false'

Pour l’authentification :

  • Il faut ajouter --auth comme paramètre à l’image docker de MongoDB.
  • `–mongodb.uri=mongodb://{login}:{password}@mongodb:27001/admin?ssl=false

L’utilisation de - '--collector.diagnosticdata' et de --discovering-mode remonte 5936 indicateurs, c’est déjà trop !

Prometheus

Pour la configuration, il ne faudra pas oublier d’ajouter dans le fichier prometheus.yml la source pour la collecte des données. Pour une configuratyion docker, il faudra ajouter soit de façon statique l’adresse Ip du container ou utiliser la résolution DNS interne pour docker.

yml
# MONGODB
  - job_name: Mongodb_exporter
    scrape_interval: 5s
    tls_config:
      insecure_skip_verify: true
    dns_sd_configs:
      - names:
        - mongodb_exporter
        type: A
        port: 9216

mongodb_exporterest le nom de l’image docker du service mongodb_exporter.

Grafana

J’utilise deux variables : $intervalet $instance.

Auteur

Laurent HADJADJ - CC 4.0 BY-NC-SA

Revisions
RevisionDescriptionCreated
MongoDB

MongoDB

by Grafana Labs
Grafana Labs solution

Easily monitor MongoDB, a general purpose, document-based, distributed database, with Grafana Cloud's out-of-the-box monitoring solution.

Learn more

Get this dashboard

Import the dashboard template

or

Download JSON

Datasource
Dependencies