Detailliertes Tutorial zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker

Detailliertes Tutorial zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker

Wir alle wissen, dass Jmeter eine native Ergebnisanzeige bietet. Da es ein natives Ergebnisanzeigetool gibt, warum müssen wir dann andere Tools verwenden, um es anzuzeigen? Neben dem umfangreichen Anzeigeinhalt gibt es auch die Hauptgründe:
Das von Jmeter bereitgestellte Plug-In zur Ergebnisanzeige selbst verbraucht viel Leistung und sollte daher bei formalen Stresstests deaktiviert werden. Allerdings müssen wir die Ergebnisse in Echtzeit anzeigen, während das Skript ausgeführt wird. Daher müssen wir hierzu externe Tools verwenden.
Darüber hinaus ist während des eigentlichen Stresstestprozesses zu beachten, dass der grafische Modus von JMeter nur zum Debuggen geeignet ist und nicht für Stresstests verwendet werden sollte. Die grafische Stresstestmethode beansprucht mehr Client-Leistung und ist anfällig für Speicherüberläufe aufgrund von Client-Problemen während des Stresstestprozesses. Der Beamte gab auch Tipps zur Ausführung über die Befehlszeile. Führen Sie den Befehl aus:

jmeter -n -t [jmx-Datei] -l [Ergebnisdatei] -e -o [Pfad zum Webberichtsordner]

-n bedeutet, JMeter im Nicht-GUI-Modus auszuführen;

-t gibt die auszuführende JMeter-Testskriptdatei an, normalerweise eine Datei mit der Endung jmx;

-l gibt die Datei an, in der die Ergebnisse aufgezeichnet werden, die standardmäßig mit jtl endet; -e gibt an, dass nach Abschluss des Tests ein Testbericht erstellt wird;

-o gibt den Speicherort des generierten Ergebnisordners an.

Umsetzungsprinzip

Als Nächstes erklären wir ausführlich, wie Sie mit InfluxDB und Grafana mithilfe von Docker eine Plattform zur Leistungsvisualisierungsüberwachung erstellen.
InfluxDB-Konzept: InfluxDB ist eine Open-Source-Datenbank für verteilte Zeitreihen, Ereignisse und Indikatoren, die in der Sprache Go geschrieben ist und keine externen Abhängigkeiten aufweist. Die Datenbank wird jetzt hauptsächlich zum Speichern großer Mengen zeitgestempelter Daten verwendet, z. B. DevOps-Überwachungsdaten, APP-Metriken, IoT-Sensordaten und Echtzeitanalysedaten.
Konzeptionelle Funktionen von InfluxDB:

  • Unstrukturiert (schemalos): kann eine beliebige Anzahl von Spalten haben;
  • Sie können die Speicherzeit der Metrik festlegen.
  • Unterstützt zeitbezogene Funktionen (wie Minimum, Maximum, Summe, Anzahl, Mittelwert, Median usw.), um die Erstellung von Statistiken zu erleichtern.
  • Unterstützte Speicherrichtlinie: kann zum Löschen und Ändern von Daten verwendet werden. (influxDB bietet keine Methoden zum Löschen und Ändern von Daten);
  • Unterstützt kontinuierliche Abfragen: eine Reihe von Anweisungen, die zu einem festgelegten Zeitpunkt automatisch in der Datenbank gestartet werden. Bei Verwendung mit Speicherstrategien kann dies die Systemnutzung von InfluxDB reduzieren.
  • Native HTTP-Unterstützung, integrierte HTTP-API;
  • Unterstützt SQL-ähnliche Syntax;
  • Unterstützt das Festlegen der Anzahl von Datenkopien im Cluster;
  • Unterstützt die regelmäßige Erfassung und das Schreiben von Daten in eine andere Messung, wodurch die Speicherung von Daten mit unterschiedlicher Granularität erleichtert wird.

Grafana-Konzept : Eine Open-Source-Software mit umfangreichen Indikator-Dashboards und Grafikeditoren, geeignet für Graphite, Elasticsearch, OpenTSDB, Prometheus und InfluxDB. Einfach ausgedrückt ist es eine Open-Source-Web-Visualisierungsplattform.

JMeter führt Backend Listener ein, um während des Stresstests statistische Indikatordaten in Echtzeit an die Influxdb-Datenbank zu senden. Die Datenquelle Grafana (Open Source WEB Visual Dashboard) ist mit Influxdb verbunden, um ein visuelles Dashboard zu erstellen und Testindikatordaten in Echtzeit abzurufen.

Installieren Sie InfluxDB

Installieren und ziehen Sie das InfluxDB-Image unter Docker: Docker Pull InfluxDB
Führen Sie den Influxdb-Container aus: docker run --name my_influxdb -p 8086:8086 influxdb

Geben Sie den Container ein: docker exec -it container id /bin/bash

Datenbank jmeter erstellen

Zustrom
Datenbanken anzeigen;
Datenbank jmeter erstellen;
Datenbanken anzeigen;
Verwenden Sie JMeter.
wählen Sie * aus jmeter;
Ausfahrt;

Installieren Sie Grafana

Ziehen Sie das Grafana-Image: docker pull grafana/grafana

Führen Sie den Container aus: docker run --name my_grafana -p 3000:3000 grafana/grafana

Zugriff auf Grafana: http://ip:3000

Der Benutzername und das Passwort lauten beide „admin“

Fügen Sie nach der Eingabe eine Datenbank hinzu

Konfigurieren Sie die Datenbank nach der Eingabe

Speichern und testen

Konfigurieren der Anzeigevorlage

Es gibt viele Vorlagen, Sie können sie in der Vorschau anzeigen und die passende zum Herunterladen auswählen. Download-Adresse: https://grafana.com/grafana/dashboards

JSON-Datei herunterladen

Vorbereiten des Imports

Importieren Sie einfach die heruntergeladene JSON-Datei.

Nachdem die Einstellungen abgeschlossen sind, betreten Sie das Panel

Hier können Sie die Bildwiederholfrequenz einstellen

Konfigurieren von Jmeter

Erstellen Sie ein JMeter-Skript.

Einrichten des Backend-Listeners

Sie können die Ergebnisse nach dem Ausführen des Skripts anzeigen

Dies ist das Ende dieses Artikels zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker. Weitere Informationen zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Leistungsüberwachung des MySQL-Servers mit Prometheus und Grafana
  • Detailliertes Tutorial zur Installation und Verwendung von Grafana
  • Verwenden Sie Grafana, um Überwachungsdiagramme von Docker-Containern anzuzeigen und E-Mail-Benachrichtigungsregeln festzulegen (Abbildung)
  • Detaillierte Erläuterung des Tutorials zur Überwachung von Springboot-Anwendungen mit Prometheus+Grafana
  • Verwenden Sie Grafana+Prometheus, um die Leistung des MySQL-Dienstes zu überwachen
  • Detaillierte Erläuterung des Prozesses zum Erstellen von Prometheus + Grafana basierend auf Docker
  • Zusammenfassung der benutzerdefinierten Python-Datenerfassung mit Influx+Graphiana und einige Fallstricke
  • Detaillierte Schritte für SpringBoot+Prometheus+Grafana zur Implementierung von Anwendungsüberwachung und Alarm
  • So installieren Sie Grafana und fügen Influxdb-Überwachung unter Linux hinzu
  • Analysieren Sie die Methode zur Überwachung von Nginx durch Prometheus + Grafana
  • Prometheus überwacht MySQL mithilfe der Grafana-Anzeige
  • So überwachen Sie Docker mit Grafana unter Ubuntu
  • Tutorial zum Erstellen einer visuellen Leistungsüberwachungsplattform mit JMeter+Grafana+InfluxDB in einer Docker-Umgebung
  • Stellen Sie die Grafana+Prometheus-Konfiguration mit Docker bereit
  • ELK und Grafana erstellen gemeinsam eine visuelle Überwachung zur Analyse von Nginx-Protokollen
  • Es ist nicht schlimm, wenn Sie Ihr Grafana-Passwort vergessen. 2 Möglichkeiten, Ihr Grafana-Administratorpasswort zurückzusetzen

<<:  Praxis des El-Cascader-Kaskadenselektors in ElementUI

>>:  Die Ressourcen und Aktivierungsmethoden des MySQL-Desktoptools SQLyog verabschieden sich von der schwarz-weißen Befehlszeile

Artikel empfehlen

SSH-Schlüsselpaare von einer oder mehreren Linux-Instanzen trennen

Schlüsselpaar trennen Trennen Sie SSH-Schlüsselpa...

js, um den Zahlungs-Countdown zu realisieren und zur Startseite zurückzukehren

Zahlungs-Countdown, um zur Startseite zurückzukeh...

Detailliertes Tutorial zum Ausführen von Selenium+Chromedriver auf dem Server

1. Einleitung Ich möchte Selenium verwenden, um D...

Lösung zur Installation von OpenCV 3.2.0 in Ubuntu 18.04

Laden Sie opencv.zip herunter Installieren Sie di...

Eine kurze Diskussion zu this.$store.state.xx.xx in Vue

Inhaltsverzeichnis Sehen Sie sich dies an.$store....

Reagieren Sie auf den nativen ScrollView-Pulldown-Aktualisierungseffekt

In diesem Artikel wird der spezifische Code des P...

CentOS 8-Installationsdiagramm (superdetailliertes Tutorial)

CentOS 8 ist offiziell veröffentlicht! CentOS ent...

Detaillierte Erläuterung der MySQL Master-Slave-Datenbankkonstruktionsmethode

Dieser Artikel beschreibt, wie man eine MySQL Mas...

So implementieren Sie „insert if none“ und „update if yes“ in MySql

Zusammenfassung In einigen Szenarien kann eine so...

Beispiel für die Implementierung von QR-Code-Scaneffekten mit CSS3

Online-Vorschau https://jsrun.pro/AafKp/ Erster B...