Verwenden Sie Docker, um Tomcat bereitzustellen und eine Verbindung zu Skywalking herzustellen

Verwenden Sie Docker, um Tomcat bereitzustellen und eine Verbindung zu Skywalking herzustellen

1. Übersicht

Im vorherigen Artikel wurde beschrieben, wie man Spring Boot mithilfe von Docker bereitstellt und eine Verbindung zu Skywalking herstellt. Außerdem wurde beschrieben, wie man Skywalking mithilfe von Docker-Compose erstellt. In diesem Artikel wird nicht beschrieben, wie man Skywalking erstellt. Hier wird hauptsächlich beschrieben, wie man einen Tomcat mithilfe von Docker bereitstellt und eine Verbindung zu Skywalking herstellt, um Service-Links zu verfolgen.

2. Verwenden Sie Docker, um Tomcat bereitzustellen und eine Verbindung zu Skywalking herzustellen

Nachfolgend finden Sie eine Beschreibung, wie Sie die Tomcat-Anwendung mit der offiziellen Skywalking-Website verbinden:

Weitere Informationen finden Sie auf der offiziellen Website: Offizielle Website des Skywalking-Agenten

Linux Tomcat 7 / Tomcat 8
Fügen Sie der ersten Zeile von tomcat/bin/catalina.sh Folgendes hinzu:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; exportiere CATALINA_OPTS

Windows Tomcat 7 / Tomcat 8
Fügen Sie der ersten Zeile von tomcat/bin/catalina.bat Folgendes hinzu:

setze "CATALINA_OPTS=-javaagent:<skywalking-agent-path>"

JAR-Datei oder Spring Boot
Fügen Sie der Befehlszeile zum Starten der Anwendung den Parameter -javaagent hinzu:

java -javaagent:<skywalking-agent-path> -jar IhreApp.jar

Hinweis : Der Parameter -javaagent muss vor dem Parameter -jar stehen.

Da ich Docker zum Bereitstellen von Tomcat verwende, habe ich nicht vor, die Datei tomcat/bin/catalina.sh zu ändern. Ich überprüfe die Datei tomcat/bin/catalina.sh und sehe die folgende Beschreibung:

bild.png

In der folgenden Abbildung ist ein Skript definiert, das setenv.sh liest:

bild.png

Das bedeutet: Setzen Sie im Skript catalina.sh keine Variablen. Um Ihre benutzerdefinierten Variablen zu trennen, sollten Sie Ihre benutzerdefinierten Umgebungsvariablen in die Datei CATALINA_BASE/bin/setenv.sh einfügen. Außerdem habe ich nach meinem Test festgestellt, dass Sie die Umgebungsvariablenmethode direkt zum Setzen verwenden können. Im Folgenden erkläre ich die Konfiguration beider Methoden.

1. Schreiben Sie benutzerdefinierte Variablen in die Datei setenv.sh

Zuerst müssen wir den Skywalking-Agenten herunterladen. Informationen zum Herunterladen des Agenten finden Sie im Artikel am Anfang dieses Artikels. Legen Sie den Agenten dann in einem zugänglichen Verzeichnis ab. Ich teste hier, also habe ich das Agentenverzeichnis in dasselbe Verzeichnis wie mein Dockerfile kopiert. Der Inhalt Dockerfile ist wie folgt:

VON Kater

LABEL verwaltet von="xiniao"

KOPIEREN Sie den Agenten /usr/skywalking/agent

ARBEITSVERZEICHNIS /usr/local/tomcat/bin

RUN echo 'CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/skywalking/agent/skywalking-agent.jar";' > setenv.sh

ENV SW_AGENT_NAME="meine-spring-demo" \
    SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800"

ARBEITSVERZEICHNIS /usr/local/tomcat/webapps/ROOT

KOPIEREN target/my-spring-demo.war my-spring-demo.war

RUN jar -xf my-spring-demo.war

Andere Konfigurationen des Skywalking-Agenten können durch Umgebungsvariablen definiert werden. Hier geben wir beispielsweise den in Skywalking angezeigten Dienstnamen als ENV SW_AGENT_NAME="my-spring-demo" und die Backend-Dienstadresse von Skywalking SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800" an. Wenn wir die Skywalking-Benutzeroberfläche aufrufen, sehen wir den folgenden Inhalt:

bild.png

2. Verwenden Sie Umgebungsvariablen, um den Pfad des Skywalking-Agenten anzugeben

Der detaillierte Dockerfile -Inhalt ist wie folgt:

VON Kater

LABEL-Wartung: „xiniao“

KOPIEREN Sie den Agenten /usr/skywalking/agent

ENV CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/skywalking/agent/skywalking-agent.jar" \
    SW_AGENT_NAME="meine-spring-demo-umgebung" \
    SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800"

ARBEITSVERZEICHNIS /usr/local/tomcat/webapps/ROOT

KOPIEREN target/my-spring-demo.war my-spring-demo.war

RUN jar -xf my-spring-demo.war

Verwenden Sie den folgenden Befehl, um das Image zu erstellen:

Docker-Build -t My-Spring-Demo.

Führen Sie den Container mit dem folgenden Befehl aus:

docker run --rm -p 8080:8080 meine-Spring-Demo

Besuchen Sie die Skywalking-Benutzeroberfläche und Sie können die Überwachungsinformationen wie folgt sehen:

bild.png

Zusammenfassen

In diesem Artikel wird hauptsächlich erläutert, wie Sie mit Docker Tomact bereitstellen und mit Skywalking verbinden. Da es im Internet nicht viele relevante Informationen gibt, zeichne ich sie hier auf, um denjenigen, die sie benötigen, etwas Hilfe zu bieten. Hier gibt es noch einige Probleme. Beispielsweise ist es nicht benutzerfreundlich, den Skywalking-Agenten direkt in die Image-Datei einzugeben. Ich denke, Sie können ein Tomcat-Basisimage anpassen und den Skywalking-Agenten in das Basisimage eingeben. Auf diese Weise können alle Tomcats auf dieses Basisimage verweisen, um Images zu erstellen und eine Verbindung zu Skywalking herzustellen. Wenn Sie k8s für die Bereitstellung verwenden, können Sie im Pod einen anfänglichen Container definieren. Wenn der Pod startet, kopieren Sie den Skywalking-Agenten im anfänglichen Container in unsere Anwendung. Im nächsten Artikel werde ich vorstellen, wie man Skywalking in k8s verwendet und die Pod-Anwendung ohne Eingriff mit Skywalking verbindet.

Dies ist das Ende dieses Artikels über die Verwendung von Docker zum Bereitstellen von Tomcat und zum Herstellen einer Verbindung mit Skywalking. Weitere relevante Inhalte zum Bereitstellen von Tomcat und zum Herstellen einer Verbindung mit Skywalking 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:
  • Führen Sie die Schritte für Spring Boot aus, um Projekte schnell mit Docker bereitzustellen.
  • Springboot integriert die Docker-Bereitstellung, um zwei Möglichkeiten zum Erstellen von Docker-Images zu implementieren
  • Beispiel für die Bereitstellung einer Spring Boot-Anwendung mit Docker
  • Detaillierte Erläuterung der Docker-Bereitstellungspraxis des Springboot-Projekts
  • So stellen Sie ein SpringBoot-Projekt mit Dockerfile bereit
  • So verwenden Sie Docker zum Bereitstellen von Spring Boot und zum Herstellen einer Verbindung mit Skywalking

<<:  CSS3 Milchglaseffekt

>>:  React DVA-Implementierungscode

Artikel empfehlen

So legen Sie die Anzahl der MySQL-Verbindungen fest (zu viele Verbindungen)

Während der Verwendung von MySQL wurde festgestel...

MySQL fragt den aktuellsten Datensatz der SQL-Anweisung ab (Optimierung)

Die schlechteste Option besteht darin, die Ergebn...

Informationen zum Textumbruchproblem bei IE-Labels (LI)

Ich habe lange damit gekämpft und nach einiger Suc...

js-Speicherleckszenarien, wie man sie im Detail überwacht und analysiert

Inhaltsverzeichnis Vorwort Welche Situationen kön...

MySQL-Lösung zur Datenpaging-Abfrageoptimierung auf Millionenebene

Wenn die Tabelle Zehntausende Datensätze enthält,...

C# implementiert MySQL-Befehlszeilensicherung und -wiederherstellung

Es gibt viele Tools zum Sichern von MySQL-Datenba...

So bedienen Sie Datei- und Ordnerberechtigungen unter Linux

Linux-Dateiberechtigungen Überprüfen wir zunächst...

Dynamische Vue-Komponente

Inhaltsverzeichnis 1. Komponente 2. Keep-Alive-Mo...

5 Tipps zum Schutz Ihres MySQL Data Warehouse

Durch die Aggregierung von Daten aus verschiedene...

So verwenden Sie „Explain“, um den SQL-Ausführungsplan in MySql abzufragen

Der Befehl „Explain“ ist die primäre Möglichkeit,...

JavaScript implementiert den Front-End-Countdown-Effekt

In diesem Artikel wird der spezifische JavaScript...

Praktische Hinweise zur Installation von Jenkins mit Docker-Compose

Erstellen Sie ein Verzeichnis cd /usr/local/docke...