Tutorial zum Erstellen einer visuellen Leistungsüberwachungsplattform mit JMeter+Grafana+InfluxDB in einer Docker-Umgebung

Tutorial zum Erstellen einer visuellen Leistungsüberwachungsplattform mit JMeter+Grafana+InfluxDB in einer Docker-Umgebung

Hintergrund:

Bei der Verwendung der JMeter-Stresstestschnittstelle stellte ich fest, dass die native Überwachung nicht sehr benutzerfreundlich war. Als ich online nachschaute, stellte ich fest, dass der durch die Kombination von InfluxDB und Grafana erstellte Bericht sehr cool war und die Überwachungsergebnisse sehr komfortabel und klar aussahen.

Vorwort:

InfluxDB: ist eine Open-Source-Datenbank für verteilte Zeitreihen, die in Go geschrieben ist. Die Datenbank wird heute hauptsächlich zum Speichern großer Mengen zeitgestempelter Daten verwendet. Bei kleinen Datenmengen ist die Leistung gut, bei größeren Datenmengen treten jedoch Leistungsprobleme auf. Es reicht aber aus, einfach die Daten meiner mehrstündigen Tests zusammenzutragen. Liegen die Testdaten über mehrere Monate vor, empfiehlt sich ein Wechsel auf eine andere Datenbank.

Zeitreihendatenbank: verarbeitet Daten mit Zeitbeschriftungen (die sich in der zeitlichen Reihenfolge ändern, d. h. Zeitserialisierung). Daten mit Zeitbeschriftungen werden auch Zeitreihendaten genannt. Stellen Sie es sich wie eine SQL-Tabelle vor, bei der die Zeit der Primärschlüssel ist

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

Prinzip:

Der JMeter-Stresstest generiert Testdaten --> sendet die Testdaten dann asynchron zur Speicherung über den Backend-Listener in JMeter an InfluxDB --> Grafana zieht die Daten aus InfluxDB und zeigt die relevanten Daten der Testergebnisse auf dem Dashboard an

Substantivverständnis in der InfluxDB-Datenbank

Substantive in influxDB Konzepte in traditionellen Datenbanken
Datenbank Datenbank
Messung Tabellen in der Datenbank
Punkte Eine Datenzeile in der Tabelle

Ich habe es auf Ubuntu bereitgestellt.

1. Docker installieren

Da die Docker-Version in der offiziellen Apt-Bibliothek möglicherweise älter ist, deinstallieren Sie zuerst die möglicherweise alte Version:

sudo apt-get entfernen docker docker-engine docker-ce docker.io

Aktualisieren Sie den Apt-Paketindex:

sudo apt-get update

Installieren Sie die folgenden Pakete, damit Apt das Repository über HTTPS verwenden kann:

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

Fügen Sie den offiziellen Docker-GPG-Schlüssel hinzu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Verwenden Sie den folgenden Befehl, um das stabile Repository einzurichten:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stabil"

Aktualisieren Sie den Apt-Paketindex erneut:

sudo apt-get update

Installieren Sie die neueste Version von Docker CE:

sudo apt-get install -y docker-ce

Überprüfen Sie, ob Docker installiert ist:

Docker --Version

Wenn die Docker-Version abgefragt wird, bedeutet dies, dass Docker erfolgreich installiert wurde.

2. Installieren und konfigurieren Sie influxDB

2.1 Installieren Sie influxDB unter Docker View und ziehen Sie das Image

## Sehen Sie sich das Bild Docker Search Influx an 
 
## Ziehen Sie das Image entsprechend dem Image-Namen docker pull tutum/influxdb

Ausführen des Images und Generieren eines Containers

## -d führt den Dienst im Hintergrund aus. Der Befehl wird beendet, aber das Programm wird weiterhin ausgeführt. docker run -d --name jmeter-influx -p 8086:8086 tutum/influxdb

--name jmeter-influx: Gibt den Namen des generierten Containers als jmeter-influx an. Sie können ihn nach Ihren eigenen Anforderungen benennen.

-p 8086:8086: gibt die Portzuordnung an, Host-Port: Container-Port

tutum/influxdb: Bildname, Sie können ihn entsprechend Ihrer eigenen Situation benennen

Überprüfen Sie, ob der Container erfolgreich generiert wurde

## Überprüfen Sie, ob das Image erfolgreich installiert wurde Docker-Images 
 
## Überprüfen Sie, ob der Container erfolgreich gestartet wurde docker ps 
 
## Alle gestarteten Container anzeigen, einschließlich erfolgreicher und fehlgeschlagener Docker ps -a 

Der Browser kann auf die Adresse zugreifen: http://xxx.x.xxx.xxx:8086/, die Adresse ist die Server-IP + zugeordnete Adresse

Die Seite zeigt eine 404-Fehlermeldung an, ist aber nicht unzugänglich.

2.2 Erstellen einer Datenbank

##Geben Sie den Docker-Container von Influxdb ein docker exec -it container id /bin/bash 
 
##Zufluss öffnen 
Zustrom 
 
##Datenbank anzeigen und die JMeter-Datenbank erstellen. Datenbanken anzeigen; 
Datenbank jmeter erstellen; 
Datenbanken anzeigen; 
Verwenden Sie JMeter. 
wählen Sie * aus jmeter; 
Ausfahrt; 

3. Grafana-Installation und -Konfiguration

3.1 Installieren Sie Grafana in der Docker-Ansicht und ziehen Sie das Image

## Sehen Sie sich das Bild Docker Search Grafana an 
 
## Ziehen Sie das Image entsprechend dem Image-Namen docker pull grafana/grafana

Ausführen des Images und Generieren eines Containers

## Führen Sie das Image aus und generieren Sie einen Container run -d --name my_grafana -p 3000:3000 grafana/grafana

3.2 Konfigurieren von influxDB in Grafana

Der Browser greift auf die URL http://ip:port zu und der Login-Benutzername und das Passwort lauten beide admin

Nach erfolgreicher Anmeldung fügen wir eine Datenquelle hinzu. Hier wählen wir influxDB. Ich habe erfolgreich eine Datenquelle mit dem Namen influxDB_demo erstellt

Konfigurieren Sie die JMeter-Datenbankinformationen der zuvor erstellten InfluxDB und testen Sie, ob die Verbindung erfolgreich ist

An diesem Punkt ist die Datenquellenkonfiguration erfolgreich. Ich habe bereits eines, deshalb habe ich dieses gelöscht.

3.3 Grafana erstellt ein Dashboard mithilfe einer Vorlage

Nachdem Sie die InfluxDB-Datenquelle konfiguriert haben, können Sie die Testdaten abrufen. Jetzt müssen Sie die erfassten Daten anzeigen, was auch die Rolle der Grafana-Grafik ist.

Laden Sie die entsprechende Dashboard-Vorlage für jmeter von der offiziellen Website herunter

Download-Adresse: https://grafana.com/grafana/dashboards

Wählen Sie influxDB aus den Datenquellen links und rechts aus und suchen Sie dann nach dem Namen jmeter, um das erforderliche Plug-In anzuzeigen.

Vorlage in Grafana importieren

+ Zeichen --> importieren --> JSON-Datei hochladen --> das heruntergeladene JMeter-Plugin auswählen und die relevanten Informationen konfigurieren

Name: Der Name des Dashboards, Sie können ihn selbst definieren

Ordner: Ordnerverzeichnis, d. h. das Verzeichnis, in dem dieses Dashboard gespeichert ist; die Standardeinstellung ist OK

DB-Name: die zuvor konfigurierte InfluxDB-Datenquelle

Messname: InfluxDB-Datenbankname

Backend-Sendeintervall: Intervallzeit

Klicken Sie nach dem Konfigurieren der Informationen auf [Importieren], um die Dashboard-Seite anzuzeigen.

4. JMeter-Konfiguration und Stresstest einer Schnittstelle

Konfigurieren Sie einen Backend-Listener in einer Schnittstelle eines JMeter-Tests

Konfigurieren Sie diesen Listener

Backend-Listener-Implementierung: Die Backend-Listener-Implementierung wählt diejenige mit influxdb aus

influxdbUrl: Ändern Sie IP, Port und Datenbanknamen in die IP und den Port von influxdb sowie den Namen der entsprechenden Datenbank.

Nachdem Sie diese Schnittstelle in JMeter ausgeführt haben, überprüfen Sie die Daten im entsprechenden Dashboard in Grafana

Dies ist das Ende dieses Artikels über das Tutorial zum Erstellen einer visuellen Leistungsüberwachungsplattform mit JMeter+Grafana+influxdb in einer Docker-Umgebung. Weitere Informationen zum Erstellen einer visuellen Leistungsüberwachungsplattform in 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
  • Detailliertes Tutorial zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker
  • 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

<<:  CSS zum Erzielen eines Animationseffekts der Tik Tok-Abonnementschaltfläche

>>:  Beispiele zum Hinzufügen, Ändern, Löschen und Löschen von Werten in der MySQL-Datenbank

Artikel empfehlen

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...

So erreichen Sie ein zentriertes Layout im CSS-Layout

1. Legen Sie den übergeordneten Container auf ein...

Detaillierte Erklärung und Beispiele der MySQL-Isolationsebene

Inhaltsverzeichnis 4 Isolationsebenen von MySQL E...

Vue Grundanleitung Beispiel grafische Erklärung

Inhaltsverzeichnis 1. v-on-Richtlinie 1. Grundleg...

Tutorial zum Erstellen einer VSCode+CMake+Clang+GCC-Umgebung unter Win10

Ich möchte C/C++ verwenden, um grundlegende Daten...

Implementierung des Pycharm-Installationstutorials auf Ubuntu 18.04

Methode 1: Pycharm herunterladen und installieren...

Detaillierte Erklärung der Abkürzung von State in React

Vorwort Was ist Staat Wir alle sagen, dass React ...

Implementieren eines Einkaufswagens mit nativem JavaScript

In diesem Artikel wird der spezifische JavaScript...