Heim  >  Artikel  >  Java  >  Erste Schritte mit Prometheus und Grafana in Java

Erste Schritte mit Prometheus und Grafana in Java

Barbara Streisand
Barbara StreisandOriginal
2024-11-22 00:58:14333Durchsuche

Überwachung ist ein entscheidender Aspekt des Anwendungsleistungsmanagements. Wenn Anwendungen skaliert werden, ist es unerlässlich, sicherzustellen, dass sie reibungslos funktionieren und dass der Systemzustand kontinuierlich überwacht wird. In Microservices, verteilten Systemen und Cloud-nativen Anwendungen sind Überwachungstools nicht nur ein Add-on, sondern ein wichtiger Teil Ihrer Infrastruktur.

Zwei der beliebtesten Tools zur Überwachung moderner Systeme sind Prometheus und Grafana. Diese Tools werden häufig zum Sammeln, Speichern und Visualisieren von Metriken verwendet und helfen Entwicklern und Betriebsteams dabei, Probleme zu erkennen, die Leistung zu analysieren und dafür zu sorgen, dass Systeme effizient laufen.

Warum brauchen wir Überwachung?

Überwachung ist wichtig, um Probleme zu erkennen, bevor sie sich auf Benutzer auswirken. Unabhängig davon, ob Sie mit einem Java-basierten Backend, einer komplexen Microservices-Umgebung oder einem anderen System arbeiten, bietet die kontinuierliche Überwachung Einblicke in:

  • Anwendungsleistung:
    Verfolgen Sie wichtige Leistungskennzahlen wie Antwortzeiten, Anfragen und Fehlerraten.

  • Systemzustand:
    Überwachen Sie den Serverzustand, die CPU-Auslastung, die Speichernutzung und den Speicherplatz, um sicherzustellen, dass die Infrastruktur optimal funktioniert.

  • Alarmierung:
    Richten Sie Schwellenwerte und Warnungen für kritische Kennzahlen ein, die Sie benachrichtigen, wenn etwas schief geht.

  • Kapazitätsplanung:
    Das Sammeln und Analysieren historischer Daten kann Ihnen bei der Planung der Skalierung Ihrer Anwendung helfen.

Prometheus und Grafana bieten robuste Lösungen zur Überwachung, Visualisierung und Analyse von Daten aus Ihren Systemen und Anwendungen.

Getting Started with Prometheus and Grafana in Java

Wir stellen Grafana und Prometheus vor

Prometheus
Prometheus ist ein Open-Source-Überwachungs- und Alarmierungs-Toolkit, das auf Zuverlässigkeit und Skalierbarkeit ausgelegt ist. Es konzentriert sich auf die Erfassung von Zeitreihendaten und unterstützt die mehrdimensionale Datenerfassung, was leistungsstarke Abfragen und Analysen ermöglicht. Prometheus sammelt Metriken von Zielen über HTTP-Endpunkte und speichert sie in einer Zeitreihendatenbank. Diese Metriken können dann mit der Abfragesprache von Prometheus, PromQL, abgefragt werden.

Grafana
Grafana ist eine Open-Source-Plattform für Überwachung und Beobachtbarkeit. Es ermöglicht Benutzern die Visualisierung von Zeitreihendaten aus mehreren Quellen, einschließlich Prometheus. Die Fähigkeit von Grafana, Dashboards zu erstellen, Warnungen einzurichten und eine Vielzahl von Datenquellen zu integrieren, macht es zu einem der beliebtesten Tools zur Visualisierung von Metriken.

Gemeinsam sammelt Prometheus die Metriken, während Grafana sie interaktiv und optisch ansprechend darstellt.

Prometheus in Docker ausführen

Das Ausführen von Prometheus und Grafana in Docker ist eine einfache und effektive Möglichkeit, schnell eine Überwachungsumgebung einzurichten. Beginnen wir mit der Ausführung von Prometheus in Docker.

Schritt 1: Prometheus in Docker ausführen
Sie können Prometheus mit dem folgenden Befehl als Container ausführen:

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

Dieser Befehl wird:

  • Starten Sie einen Prometheus-Container.
  • Ordnen Sie den lokalen Hafen 9090 dem Hafen des Containers 9090 zu.
  • Verwenden Sie das offizielle Prometheus Docker-Image von Docker Hub. Sie können überprüfen, ob Prometheus ausgeführt wird, indem Sie Ihren Browser öffnen und zu http://localhost:9090/.
  • navigieren

Schritt 2: Prometheus konfigurieren
Sie müssen die Prometheus-Konfigurationsdatei anpassen, wenn Sie Prometheus so konfigurieren müssen, dass Metriken von bestimmten Endpunkten (z. B. einer Java-Anwendung) extrahiert werden. Durch das Mounten in den Container können Sie Prometheus mit einer benutzerdefinierten prometheus.yml-Datei ausführen. Hier ist ein Beispiel:

docker run \
    -p 9090:9090 \
    -v /prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus

Dadurch wird Ihre lokale prometheus.yml-Datei im Container bereitgestellt. Nachdem Sie Prometheus gestartet haben, können Sie zu http://localhost:9090/ gehen, um auf das Prometheus-Dashboard zuzugreifen.

Getting Started with Prometheus and Grafana in Java

Ausführen von Grafana in Docker

Jetzt, da Prometheus läuft, ist es an der Zeit, Grafana zur Visualisierung der Daten hinzuzufügen.

Schritt 3: Grafana in Docker ausführen
Grafana lässt sich einfach über Docker bereitstellen. Führen Sie den folgenden Befehl aus, um den Grafana-Container zu starten:

Grafana im Docker ausführen

docker run -d -p 3000:3000 grafana/grafana-enterprise

Sobald Grafana ausgeführt wird, können Sie unter http://localhost:3000/login auf die Web-Benutzeroberfläche zugreifen. Die Standard-Anmeldeinformationen sind:

  • Benutzername: admin
  • Passwort: admin

Getting Started with Prometheus and Grafana in Java

Schritt 4: Prometheus und Grafana verbinden
Da nun sowohl Prometheus als auch Grafana ausgeführt werden, besteht der nächste Schritt darin, sie zu verbinden. Grafana muss wissen, woher die Kennzahlen stammen. So können Sie Prometheus als Datenquelle in Grafana hinzufügen:

  1. Melden Sie sich bei Grafana an.
  2. Klicken Sie auf das Zahnrad-Symbol in der linken Seitenleiste, um das Menü Konfiguration zu öffnen.
  3. Wählen Sie Datenquellen.
  4. Klicken Sie auf Datenquelle hinzufügen.
  5. Wählen Sie Prometheus als Datenquellentyp.
  6. Legen Sie im Abschnitt HTTP die URL zu Ihrer Prometheus-Instanz fest (z. B. http://172.0.0.1:9090).
  7. Klicken Sie auf Speichern und testen, um sicherzustellen, dass Grafana erfolgreich eine Verbindung zu Prometheus herstellen kann.

Erstellen eines Beispiel-Java-Projekts

Lassen Sie uns ein einfaches Java-basiertes Projekt erstellen, das Metriken für Prometheus verfügbar macht. Wir werden Micrometer verwenden, eine Metrikerfassungsfassade für JVM-basierte Anwendungen, die sich problemlos in Prometheus integrieren lässt.

Schritt 5: Erstellen Sie eine Java-Anwendung

Fügen Sie die erforderlichen Abhängigkeiten zu Ihrer pom.xml-Datei hinzu:
Alles verbinden.

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

Stellen Sie dann in Ihrer Java-Anwendung einen Endpunkt bereit, den Prometheus scannen kann. Zum Beispiel:

docker run \
    -p 9090:9090 \
    -v /prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus

Dieses Setup erstellt einen Endpunkt/Metriken, die Prometheus scannen kann. Es stellt die von Micrometer erfassten Metriken bereit und ist im Prometheus-Format verfügbar.

Schritt 6: Metriken für Prometheus verfügbar machen
Da die Java-Anwendung nun Metriken sammelt, müssen wir Prometheus anweisen, den /metrics-Endpunkt aus Ihrer Anwendung zu entfernen. Aktualisieren Sie Ihre prometheus.yml-Konfigurationsdatei so, dass sie das Ziel enthält:

docker run -d -p 3000:3000 grafana/grafana-enterprise

Ersetzen Sie es durch die IP-Adresse oder den lokalen Host, wenn es auf demselben Computer ausgeführt wird. Prometheus erfasst nun Metriken aus Ihrer Java-Anwendung.

Getting Started with Prometheus and Grafana in Java

Alles verbinden

An diesem Punkt haben Sie:

  • Prometheus kratzt Metriken aus Ihrer Java-Anwendung.
  • Grafana ist als Visualisierungstool eingerichtet.

Schritt 7: Dashboards in Grafana erstellen
So visualisieren Sie die Daten in Grafana:

  1. Gehen Sie zur Registerkarte Dashboard in Grafana.
  2. Klicken Sie auf Neues Dashboard.
  3. Fügen Sie ein Panel hinzu und wählen Sie Prometheus als Datenquelle.
  4. Schreiben Sie eine PromQL-Abfrage, um die Metriken abzurufen, zum Beispiel http_requests_total.

Sie können jetzt ein Dashboard mit verschiedenen Bereichen erstellen, die Metriken wie Anzahl der Anfragen, Antwortzeiten und Fehlerraten anzeigen.

Getting Started with Prometheus and Grafana in Java

Überwachung ist entscheidend für die Aufrechterhaltung einer hohen Verfügbarkeit und Leistung. Mit Tools wie Prometheus und Grafana können Sie ganz einfach eine effiziente Überwachungslösung für Ihre Java-Anwendungen einrichten.

Das obige ist der detaillierte Inhalt vonErste Schritte mit Prometheus und Grafana in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn