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=always
Ermöglicht den automatischen Neustart des Containers nach dem Beenden, um die Verfügbarkeit sicherzustellen-p 9411:9411
Es 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.7
um unkontrollierbare Probleme zu vermeiden, die durch die Verwendung des Standard-Latest-Tags verursacht werden - Wenn Sie die Konfiguration anpassen müssen, können Sie
-e
Parameter 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,
-v
das Parameterzuordnungsvolumen zu verwenden, um die Daten beizubehalten, um einen Verlust nach dem Neustart zu vermeiden
3 Zugriffstest
Zugriffslink: http://localhost:9411/zipkin/
4 Web-Benutzeroberfläche
Wunschliste:
Klicken Sie auf das erste Element, um die Detailseite anzuzeigen.
AUTH-SERVICE: Name und Anforderungsmethode des /error-Speicherdienstes abrufen
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 !