So überwachen Sie MongoDB mit Grafana und Prometheus unter Ubuntu 20.04

So überwachen Sie MongoDB mit Grafana und Prometheus unter Ubuntu 20.04

Einleitung

MongoDB ist eine beliebte Datenbank, die in einer Vielzahl von Anwendungen eingesetzt wird. Bei der Überwachung Ihrer MongoDB-Instanzen ist es wichtig, sicherzustellen, dass sie einwandfrei funktionieren, und Leistungsprobleme frühzeitig zu erkennen. In diesem Tutorial zeigen wir Ihnen, wie Sie MongoDB mit Grafana und Prometheus unter Ubuntu 20.04 überwachen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie Folgendes sicher:

– Ein Ubuntu 20.04-Server mit ausreichend Ressourcen
– Ein installierter MongoDB-Server
– Root- oder Sudo-Zugriff auf den Server

Grafana und Prometheus installieren

Grafana ist eine Visualisierungs- und Überwachungsplattform, die es uns ermöglicht, die von Prometheus gesammelten Metriken anzuzeigen. Prometheus hingegen ist ein Überwachungssystem, das mit einem Pull-Modell arbeitet, um Metriken von Zielsystemen zu sammeln.

1. Prometheus installieren:

sh
sudo apt update
sudo apt install prometheus

2. Grafana installieren:

Fügen Sie das Grafana-Repository hinzu:

sh
sudo add-apt-repository ppa:grafana/stable
sudo apt update

Installieren Sie Grafana:

sh
sudo apt install grafana

MongoDB-Exporter konfigurieren

Der MongoDB-Exporter ist ein Werkzeug, das Metriken von MongoDB-Instanzen sammelt und für Prometheus verfügbar macht. Wir werden den Exporter in einem Docker-Container ausführen.

1. Erstellen Sie ein Verzeichnis für den Exporter:

  Erstellen Sie analoge, Monochrom-, Triad- und Quad-Farbschemata

sh
sudo mkdir -p /opt/mongodb-exporter

2. Laden Sie den MongoDB-Exporter herunter:

sh
sudo curl -sSL https://github.com/mongodb/mongo-go-driver/releases/download/v1.8.4/mongo-exporter-linux-amd64.tar.gz -o /opt/mongodb-exporter/mongo-exporter.tar.gz

3. Extrahieren Sie den Exporter:

sh
sudo tar -zxvf /opt/mongodb-exporter/mongo-exporter.tar.gz -C /opt/mongodb-exporter

4. Erstellen Sie eine Konfigurationsdatei für den Exporter:

sh
sudo nano /opt/mongodb-exporter/config.yaml

Fügen Sie die folgende Konfiguration hinzu und ersetzen Sie <mongodb-host> durch die IP-Adresse oder den Hostnamen Ihres MongoDB-Servers:

yaml
uri: "mongodb://<mongodb-host>:27017"

5. Starten Sie den Exporter-Container:

sh
sudo docker run -d --name mongodb-exporter -p 9216:9216 -v /opt/mongodb-exporter/config.yaml:/mongo-exporter.yaml mongo-exporter

Prometheus konfigurieren

Als Nächstes müssen wir Prometheus so konfigurieren, dass Metriken vom MongoDB-Exporter gesammelt werden.

1. Bearbeiten Sie die Prometheus-Konfigurationsdatei:

sh
sudo nano /etc/prometheus/prometheus.yml

2. Fügen Sie den folgenden Scrape-Konfigurationsblock hinzu:

yaml
- job_name: mongodb-exporter
scrape_interval: 10s
static_configs:
- targets: ['localhost:9216']

3. Starten Sie Prometheus neu:

sh
sudo systemctl restart prometheus

Grafana konfigurieren

Zuletzt konfigurieren wir Grafana, um die von Prometheus gesammelten MongoDB-Metriken anzuzeigen.

1. Öffnen Sie Ihren Webbrowser und navigieren Sie zu http://<grafana-server>:3000.
2. Melden Sie sich bei Grafana an (Standardbenutzername und -passwort: admin).
3. Klicken Sie auf das Plus-Symbol (+) oben links und wählen Sie „Data Source“ aus.
4. Wählen Sie „Prometheus“ als Datenquelle aus und geben Sie den Prometheus-Servernamen und den Port (standardmäßig localhost:9090) ein.
5. Erstellen Sie ein neues Dashboard über das Plus-Symbol (+) oben links.
6. Fügen Sie dem Dashboard einen Panel hinzu und wählen Sie „Graph“ als Paneltyp aus.
7. Suchen Sie in der Metriksuche nach „mongodb_“ und wählen Sie die zu überwachenden Metriken aus.
8. Passen Sie das Panel nach Ihren Wünschen an.

  So finden Sie Zitat-Retweets eines Tweets

Fazit

Indem Sie die in diesem Tutorial beschriebenen Schritte befolgen, können Sie MongoDB mit Grafana und Prometheus unter Ubuntu 20.04 effektiv überwachen. Dies ermöglicht es Ihnen, Ihre MongoDB-Instanzen im Auge zu behalten, Leistungsprobleme frühzeitig zu erkennen und die Verfügbarkeit und Leistung Ihrer MongoDB-basierten Anwendungen zu gewährleisten.

FAQs

1. Welche Vorteile bietet die Überwachung von MongoDB mit Grafana und Prometheus?
– Ermöglicht die Visualisierung und Analyse von MongoDB-Metriken
– Hilft bei der frühzeitigen Erkennung von Leistungsproblemen
– Verbessert die Verfügbarkeit und Zuverlässigkeit von MongoDB-basierten Anwendungen

2. Gibt es andere Möglichkeiten zur Überwachung von MongoDB?
– Verwenden Sie das integrierte Monitoring-Tool von MongoDB (mongostat)
– Nutzen Sie kommerzielle Überwachungstools wie New Relic oder Datadog

  Lerne die Syntax von Python: Ein Anfängerleitfaden

3. Wie oft sollte ich MongoDB-Metriken sammeln?
– Die optimale Häufigkeit hängt von den spezifischen Anforderungen ab, aber im Allgemeinen wird eine Häufigkeit von 5 bis 10 Sekunden empfohlen

4. Welche MongoDB-Metriken sind am wichtigsten zu überwachen?
– Verbindungsanzahl
– Abfragevolumen
– Datengröße
– Speicherverbrauch
– CPU-Auslastung

5. Wie kann ich Benachrichtigungen für MongoDB-Fehler oder -Warnungen einrichten?
– Prometheus und Grafana bieten beide Funktionen zum Einrichten von Benachrichtigungen
– Sie können auch externe Benachrichtigungssysteme wie PagerDuty oder Slack verwenden

6. Kann ich die Grafana-Dashboards anpassen, um sie an meine spezifischen Anforderungen anzupassen?
– Ja, Sie können Grafana-Dashboards nach Belieben anpassen, indem Sie Widgets hinzufügen, Metriken auswählen und das Erscheinungsbild ändern

7. Wie kann ich die gesammelten MongoDB-Metriken langfristig speichern?
– Verwenden Sie eine Lösung zur Langzeitspeicherung wie InfluxDB oder Elasticsearch
– Prometheus bietet auch eine integrierte Langzeitspeicherungsfunktion (Prometheus Remote Write), die mit diesen Lösungen kompatibel ist

8. Gibt es Best Practices für die Überwachung von MongoDB?
– Richten Sie mehrere Überwachungsstufen ein (lokale, globale)
– Überwachen Sie sowohl quantitative (Metriken) als auch qualitative (Protokolle) Daten
– Erstellen Sie Schwellenwerte und Warnungen, um Probleme frühzeitig zu erkennen