[Teilen des Tutorials] Docker erstellt Zipkin, um Datenpersistenz für MySQL und ES zu erreichen

1 Bild ziehen

Geben Sie die Version an, überprüfen Sie die entsprechende Version in Git, siehe: https://github.com/openzipkin/zipkin

Wie 2.21.7

docker pull openzipkin/zipkin:2.21.7

2 Start

Der Standardport für Zipkin ist 9411. Legen Sie beim Start den angegebenen Port mit -e server.port=xxxx fest

docker run --name zipkin-server -d --restart=always -p 9411:9411 openzipkin/zipkin:2.21.7
  • --restart=alwaysErmöglicht den automatischen Neustart des Containers nach dem Beenden, um die Verfügbarkeit sicherzustellen
  • -p 9411:9411Es handelt sich um eine Portzuordnung, die den Standardport 9411 im Container dem Port 9411 des Hosts zuordnet, um einen einfachen Zugriff zu ermöglichen
  • Es empfiehlt sich , die Image-Versionsnummer anzugeben, openzipkin/zipkin:2.21.7um unkontrollierbare Probleme zu vermeiden, die durch die Verwendung des Standard-Latest-Tags verursacht werden
  • Wenn Sie die Konfiguration anpassen müssen, können Sie -eParameter verwenden, um Umgebungsvariablen festzulegen, beispielsweise -e JAVA_OPTS="-Xms512m -Xmx512m"um den Speicher von Zipkin zu steuern
  • Die Daten werden standardmäßig im Speicher gespeichert. Es wird empfohlen, -vdas Parameterzuordnungsvolumen zu verwenden, um die Daten beizubehalten, um einen Verlust nach dem Neustart zu vermeiden

3 Zugriffstest

Zugriffslink: http://localhost:9411/zipkin/

Bild-20230827204323093

4 Web-Benutzeroberfläche

Wunschliste:

Bild-20230827205247092

Klicken Sie auf das erste Element, um die Detailseite anzuzeigen.

AUTH-SERVICE: Name und Anforderungsmethode des /error-Speicherdienstes abrufen

Bild-20230827205413561

5 Beharrlichkeit

Zipkin Server speichert Tracking-Dateninformationen standardmäßig im Speicher und die Tracking-Daten sind nach dem Neustart des Dienstes nicht mehr vorhanden. Zipkin unterstützt persistente Tracking-Daten auf MySQL oder ES.

Achten Sie hinsichtlich der Persistenz auf die MySQL/ES-Version. Unter https://github.com/openzipkin/zipkin können Sie Folgendes anzeigen:

ES-Komponenten nutzen Funktionen von Elasticsearch 5+, wurden jedoch auf Kompatibilität mit Elasticsearch 6-7.x getestet.

Es speichert Spannen als Zipkin v2 JSON zur Integration mit anderen Tools. Zur Skalierung wird eine Kombination aus benutzerdefinierten und manuell implementierten Indizes verwendet.

Hinweis: Für diesen Speicher ist ein Spark-Job erforderlich, um abhängige Links zu aggregieren.

5.1 MySQL-Persistenz

① Erstellen Sie eine Datenbank

wie Zipkin

② Erstellen Sie eine Tabelle

Anweisungsreferenz: https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql

③ Ändern Sie den Startbefehl

Zipkin verwendet standardmäßig Port 9411.

Legen Sie beim Start den angegebenen Port mit -e server.port=xxxx fest

docker run \
--name zipkin-server -d \
--restart=always \
-p 9411:9411 \
-e MYSQL_USER=root \
-e MYSQL_PASS=lhzlx \
-e MYSQL_HOST=111.229.160.175 \
-e STORAGE_TYPE=mysql \
-e MYSQL_DB=zipkin \
-e MYSQL_TCP_PORT=3316 \
openzipkin/zipkin:2.21.7

④ Überprüfung

Starten Sie den Zipkin-Server und die Anforderung, starten Sie den Zipkin-Server erneut. Es ist ersichtlich, dass noch Datensätze des Anforderungslinks vorhanden sind und Datensätze in der MySQL-Tabelle vorhanden sind.

5.2 ES-Persistenz

Es müssen keine Konfigurationsinformationen erstellt werden. Geben Sie beim Starten des JAR einfach die ES-Adresse an.

Ändern Sie den Startbefehl im Skript wie folgt:

docker run \
--name zipkin-server -d \
-p 9411:9411 \
--restart=always \
-e STORAGE_TYPE=elasticsearch \
-e ES_HOSTS=localhost:9200
openzipkin/zipkin:2.21.7

Wenn Sie eine Verbindung zu einem ES-Cluster herstellen, wird --ES_HOSTS durch ein Komma getrennt, z. B.: --ES_HOSTS= http://1.1.1.1:9200,http://2.2.2.2:9200

ES-Parameter verknüpfen

Umgebungsvariable beschreiben
ES_HOSTS ES-Adressen verbinden, Vielfache werden durch Kommas getrennt. Der Standardwert ist http://localhost:9200
ES_PIPELINE Geben Sie die Pipeline an, bevor der Span indiziert wird
ES_TIMEOUT Timeout für die Verbindung zu ES, in ms. Der Standardwert ist 10000(10S)
EN_INDEX Der von Zipkin für die Persistenz verwendete Index. Der Standardwert ist zipkin
ES_DATE_SEPARATOR Datumstrennzeichen für die Zipkin-Indizierung. Die Standardeinstellung ist:
ES_INDEX_SHARDS Die Anzahl der Shards, der Standardwert ist 5
EN_INDEX_REPLICAS Die Anzahl der Replikate, der Standardwert ist 1
ES_HTTP_LOGGING ES-Protokollebene, optionale Werte sind BASIC, HEADERS, BODY
ES_USERNAME/ES_PASSWORD Benutzername und Passwort für die Anmeldung bei ES

Dieser Artikel wurde von OpenWrite veröffentlicht, einer Multi-Post-Plattform zum Bloggen !

Ich denke du magst

Origin blog.csdn.net/qq_33589510/article/details/132527924
Empfohlen
Rangfolge