APM-Java-Agent durch Deployment bereitstellen
Nach erfolgreichem Provisioning des APM-Java-Agent können Sie den APM-Java-Agent durch Deployment bereitstellen.
Um den APM-Java-Agent in einer beliebigen Java-Anwendung bereitzustellen, müssen Sie den Parameter -javaagent
zum JVM-Startskript hinzufügen. Je nach Java-Umgebung, Anwendungsserver oder Microservice verfügen Benutzer über Shell- oder Bat-Startskripte oder eine andere Möglichkeit zur Ausführung der Java-Befehlszeile.
In den folgenden Beispielen wird beschrieben, wie Sie den APM-Java-Agent auf den folgenden Java-Anwendungen bereitstellen:
Oracle WebLogic Server
Nachfolgend finden Sie Informationen zum Deployment des APM-Java-Agent auf Oracle WebLogic Server.
- Legen Sie eine Variable fest, die auf das Zielverzeichnis des Anwendungsservers verweist. Dies ist das Verzeichnis, in dem der APM-Java-Agent durch Provisioning bereitgestellt wird.
Legen Sie die Variable
$DOMAIN_HOME
so fest, dass sie auf das Domainverzeichnis des Oracle WebLogic-Servers verweist, und vergewissern Sie sich, dass der APM-Java-Agent im selben Zielverzeichnis durch Provisioning bereitgestellt wurde, bevor Sie den nächsten Schritt ausführen.Anwendungsserver Variableninformationen für Zielverzeichnis Oracle WebLogic Server Legen Sie die Variable $DOMAIN_HOME
so fest, dass sie auf die Domain des Oracle WebLogic-Servers verweist.export DOMAIN_HOME=<Oracle WebLogic Server Domain>
- Erstellen Sie eine Backupkopie der Datei
startWebLogic.sh
:cd $DOMAIN_HOME/bin cp startWebLogic.sh startWebLogic.sh.orig
- Bearbeiten Sie in einem Texteditor das ursprüngliche Skript
startWebLogic.sh
, und fügen Sie die Option von-javaagent
hinzu.- Wenn Sie den APM-Java-Agent auf dem Oracle WebLogic-Administrationsserver und Managed Servern durch Deployment bereitstellen, fügen Sie der Gruppe von
JAVA_OPTIONS
nach dem Aufruf vonsetDomainEnv.sh
die folgende Option von-javaagent
hinzu:JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:$DOMAIN_HOME/oracle-apm-agent/bootstrap/ApmAgent.jar"
- Wenn Sie den APM-Java-Agent nur auf Managed Servern durch Deployment bereitstellen, fügen Sie der Gruppe von
JAVA_OPTIONS
in einerif
-Anweisung nach dem Aufruf vonsetDomainEnv.sh
die folgende Option von-javaagent
hinzu:if [ "$SERVER_NAME" != "AdminServer" ] ; then set JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:$DOMAIN_HOME/oracle-apm-agent/bootstrap/ApmAgent.jar" fi
- Wenn Sie den APM-Java-Agent auf dem Oracle WebLogic-Administrationsserver und Managed Servern durch Deployment bereitstellen, fügen Sie der Gruppe von
- Stoppen Sie den Oracle WebLogic-Server, und starten Sie ihn neu:
cd $DOMAIN_HOME/bin ./stopWebLogic.sh cd .. nohup ./startWebLogic.sh >& startup.log &
Wenn Sie Managed Server verwenden, stoppen Sie diese ebenfalls, und starten Sie sie neu:
cd $DOMAIN_HOME/bin ./stopManagedWebLogic.sh {SERVER_NAME} {ADMIN_URL} {USER_NAME} {PASSWORD} nohup ./startManagedWebLogic.sh {SERVER_NAME} {ADMIN_URL} >& {SERVER_NAME}.log &
Hinweis
Beachten Sie, dass die Version$DOMAIN_HOME
vonstartWebLogic.sh
verwendet wird, obwohl Sie die Version$DOMAIN_HOME/bin
bearbeitet haben. Wenn Sie den Befehl von einer höheren Ebene aufrufen (von$DOMAIN_HOME
), wird der Befehl von einer niedrigeren Ebene aufgerufen (von$DOMAIN_HOME/bin
). Der BefehlstopWebLogic.sh
wird jedoch aus dem Verzeichnis$DOMAIN_HOME/bin
aufgerufen.
Nachdem der APM-Java-Agent erfolgreich durch Deployment bereitgestellt wurde, wird die Meldung Oracle APM Agent: Initialized AgentInstance
im Serverstartlog angezeigt.
Apache Tomcat-Server
Nachfolgend finden Sie Informationen zum Deployment des APM-Java-Agent auf dem Apache Tomcat-Server.
- Legen Sie eine Variable fest, die auf das Zielverzeichnis des Anwendungsservers verweist. Dies ist das Verzeichnis, in dem der APM-Java-Agent durch Provisioning bereitgestellt wird.
Legen Sie die Variable
$CATALINA_HOME
so fest, dass sie auf das Domainverzeichnis des Apache Tomcat-Servers verweist, und vergewissern Sie sich, dass der APM-Java-Agent im selben Zielverzeichnis durch Provisioning bereitgestellt wurde, bevor Sie den nächsten Schritt ausführen.Anwendungsserver Variableninformationen für Zielverzeichnis Apache Tomcat-Server Legen Sie die Variable $CATALINA_HOME
so fest, dass sie auf das Zielverzeichnis des Apache Tomcat-Servers verweist.- Wenn Sie eine Bash-Shell verwenden:
export CATALINA_HOME=<Apache Tomcat Server destination directory>
- Wenn Sie eine C-Shell verwenden:
setenv CATALINA_HOME "<Apache Tomcat Server destination directory>"
- Wenn Sie eine Bash-Shell verwenden:
- Erstellen Sie eine Backupkopie der Datei
catalina.sh
.$ cd $CATALINA_HOME/bin $ cp catalina.sh catalina.sh.orig
- Bearbeiten Sie in einem Texteditor die ursprüngliche Datei
catalina.sh
, und fügen Sie die folgende Option von-javaagent
zuCATALINA_OPTS
hinzu. Nehmen Sie die Änderung außerhalb vonif
-Anweisungen oder Codeblöcken vor, die beim Hochfahren des Servers möglicherweise nicht ausgeführt werden. Dadurch wird sichergestellt, dass das Kennzeichen-javaagent
immer den Serverstartoptionen hinzugefügt wird.CATALINA_OPTS="${CATALINA_OPTS} -javaagent:$CATALINA_HOME/oracle-apm-agent/bootstrap/ApmAgent.jar"
- Stoppen Sie den Apache Tomcat-Server, und starten Sie ihn neu:
$ cd $CATALINA_HOME/bin $ ./shutdown.sh $ ./startup.sh
Nachdem der APM-Java-Agent erfolgreich durch Deployment bereitgestellt wurde, wird die Meldung Oracle APM Agent: Initialized AgentInstance
im Serverstartlog angezeigt.
Weitere Informationen finden Sie im Tutorial APM-Java-Agent auf einem Tomcat-Anwendungsserver installieren.
Jetty-Server
Im Folgenden wird beschrieben, wie Sie den APM-Java-Agent auf dem Jetty-Server bereitstellen.
- Legen Sie eine Variable fest, die auf das Zielverzeichnis des Anwendungsservers verweist. Dies ist das Verzeichnis, in dem der APM-Java-Agent durch Provisioning bereitgestellt wird.
Legen Sie die Variable
JETTY_HOME
so an, dass sie auf das Zielverzeichnis des Jetty-Servers verweist (wo die Jetty-Software extrahiert wurde), und vergewissern sie sich, dass der APM-Java-Agent im selben Zielverzeichnis durch Provisioning bereitgestellt wurde, bevor Sie den nächsten Schritt ausführen. - Starten Sie den Jetty-Server.
java -javaagent:/<Destination_Directory>/oracle-apm-agent/bootstrap/ApmAgent.jar -jar $JETTY_HOME/start.jar
Nachdem der APM-Java-Agent erfolgreich durch Deployment bereitgestellt wurde, wird die Meldung Oracle APM Agent: Initialized AgentInstance
im Serverstartlog angezeigt.
Spring Boot
Nachfolgend finden Sie Informationen zum Deployment eines APM-Java-Agent auf einem Spring Boot-Microservice mit eingebettetem Apache Tomcat.
application.properties
der Spring Boot-Anwendung die folgenden Eigenschaften hinzugefügt haben, um Apache Tomcat-MBeans zu aktivieren:spring.jmx.enabled=true
server.tomcat.mbeanregistry.enabled=true
Alternativ können Sie die obigen Eigenschaften hinzufügen: spring.jmx.enabled
und server.tomcat.mbeanregistry.enabled
als Systemeigenschaften in der Befehlszeile.
-javaagent
hinzu. Beachten Sie, dass <Destination Directory>
das Verzeichnis angibt, in dem Sie den Agent durch Provisioning bereitgestellt haben.java -javaagent:<Destination Directory>/oracle-apm-agent/bootstrap/ApmAgent.jar -jar target/<microservice.jar>
Nachdem der APM-Java-Agent erfolgreich durch Deployment bereitgestellt wurde, wird die Meldung Oracle APM Agent: Initialized AgentInstance
im Microservice-Startlog angezeigt.
JBoss-Server
Im Folgenden wird beschrieben, wie Sie den APM-Java-Agent auf dem JBoss-Server bereitstellen.
Die folgenden Anweisungen gelten für JBoss EAP und Wildfly.
- Legen Sie eine Variable fest, die auf das Zielverzeichnis des Anwendungsservers verweist. Dies ist das Verzeichnis, in dem der APM-Java-Agent durch Provisioning bereitgestellt wird.
Legen Sie die Variable
$JBOSS_HOME
so fest, dass sie auf das Zielverzeichnis des JBoss-Servers verweist, und bestätigen Sie, dass der APM-Java-Agent in demselben Zielverzeichnis bereitgestellt wurde, bevor Sie den nächsten Schritt ausführen.Anwendungsserver Variableninformationen für Zielverzeichnis JBoss-Server Legen Sie die Variable
$JBOSS_HOME
so fest, dass sie auf das Zielverzeichnis des Servers JBoss verweist.- Wenn Sie eine Bash-Shell verwenden:
export JBOSS_HOME=<JBoss Server destination directory>
- Wenn Sie eine C-Shell verwenden:
setenv JBOSS_HOME "<JBoss Server destination directory>"
- Wenn Sie eine Bash-Shell verwenden:
- Erstellen Sie eine Kopie der Datei
standalone.conf
:cd $JBOSS_HOME/bin cp standalone.conf standalone.conf.orig
- Verwenden Sie einen Texteditor, bearbeiten Sie die ursprüngliche Datei
standalone.conf
, und fügen Sie die folgenden Java-Optionen zuJAVA_OPTS
hinzu. Nehmen Sie die Änderung außerhalb vonif
-Anweisungen oder Codeblöcken vor, die beim Hochfahren des Servers möglicherweise nicht ausgeführt werden.- Fügen Sie die Option
-javaagent
zuJAVA_OPTS
hinzu.JAVA_OPTS="$JAVA_OPTS -javaagent:$JBOSS_HOME/oracle-apm-agent/bootstrap/ApmAgent.jar"
- Bearbeiten Sie die Java-Eigenschaft
jboss.modules.system.pkgs
, um"com.oracle.apm"
einzuschließen.Beispiel:
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager,com.oracle.apm"
Hinweis
Jede Umgebung ist unterschiedlich. Die Eigenschaft des Jboss-Servers kann andere Packages enthalten als im obigen Beispiel.
- Fügen Sie die Option
- JBoss-Server stoppen und neu starten:
cd $JBOSS_HOME/bin ./jboss-cli.sh -c :shutdown nohup ./standalone.sh -b 0.0.0.0&> startup.log &
Nachdem der APM-Java-Agent erfolgreich durch Deployment bereitgestellt wurde, wird die Meldung Oracle APM Agent: Initialized AgentInstance
im Serverstartlog angezeigt.
Docker und Kubernetes
Im Folgenden wird beschrieben, wie Sie einen APM-Java-Agent in einem Docker-Container und Oracle Container Engine for Kubernetes (OKE) bereitstellen.
APM-Java-Agent im Docker-Containerimage bereitstellen
Hier finden Sie Informationen zum Deployment eines APM-Java-Agent in einem Docker-Containerimage und in Oracle Container Engine for Kubernetes (OKE).
Abbildung 3-1: APM-Java-Agent in Docker-Containerimage bereitstellen

Empfehlung:
Verwenden Sie diese Option, wenn Änderungen am Docker-Containerimage möglich sind.
Beispiel: Wenn Sie die APM-Agent-Konfiguration ändern müssen, können Sie Änderungen am Docker-Image vornehmen.
So stellen Sie den APM-Java-Agent bereit:
- Bevor Sie fortfahren, bestätigen Sie, dass Sie die Voraussetzungen erfüllt und den APM-Java-Agent bereitgestellt haben.
Hinweis
Beim Provisioning des APM-Java-Agent wird empfohlen, ihn an einem beliebigen Speicherort Ihres lokalen Rechners bereitzustellen und anschließend in ein Docker-Image zu kopieren. - Ändern Sie
Dockerfile
, um den APM-Java-Agent in ein Docker-Image zu kopieren:COPY <DESTINATION_DIRECTORY>/oracle-apm-agent <Docker_Image_Directory>/oracle-apm-agent/
Beachten Sie, dass
<DESTINATION_DIRECTORY>
den Speicherort auf Ihrem lokalen Rechner angibt, an dem Sie den APM-Java-Agent durch Provisioning bereitgestellt haben, und<Docker_Image_Directory>
das Verzeichnis im Docker-Image angibt, in das Sie den APM-Java-Agent kopieren.<Docker_Image_Directory>
kann auch das Zielverzeichnis des Anwendungsservers in Docker sein, z.B.$DOMAIN_HOME
, wenn Sie mit Oracle WebLogic Server arbeiten. - Fügen Sie dem Startskript des Anwendungsservers die folgende Option von
-javaagent
hinzu:java -javaagent:<Docker_Image_Directory>/oracle-apm-agent/bootstrap/ApmAgent.jar -jar target/<appserver.jar>
- Erstellen Sie mit dem integrierten APM-Java-Agent und dem geänderten Startskript ein neues Docker-Image, und übertragen Sie das Image per Push in die Registry.
Wenn Sie Ihre Docker-Container mit Kubernetes verwalten, aktualisieren Sie die Kubernetes-Konfiguration so, dass das neue Docker-Image verwendet wird, und starten Sie den Kubernetes-Pod neu.
Außerdem können Sie mit der Downward-API weitere Dimensionen festlegen, die vom Kubernetes-Pod gemeldet werden sollen, indem Sie die folgenden Umgebungs- und Volume-Einstellungen in die Deployment-Spezifikation (yaml
-Datei) des Kubernetes-Pods kopieren. Informationen zur Downward-API finden Sie unter The Downward API in der Kubernetes-Dokumentation.
Umgebungseinstellungen
spec:
containers:
- name: <container-name>
image: image: <your-registry>/<your-docker-image>:latest
env:
- name: APM_ATTRIBUTES_K8S_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: APM_ATTRIBUTES_K8S_NAMESPACE_NAME
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: APM_ATTRIBUTES_K8S_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
Volume-Einstellungen
spec:
containers:
- name: <container-name>
image: image: <your-registry>/<your-docker-image>:latest
volumeMounts:
- name: apm-attributes-k8s
mountPath: /etc/apm-attributes-k8s
volumes:
- name: apm-attributes-k8s
downwardAPI:
items:
- path: "labels"
fieldRef:
fieldPath: metadata.labels
- path: "annotations"
fieldRef:
fieldPath: metadata.annotations
Wenn für das Kubernetes-Deployment keine Labels und/oder Annotationen vorhanden sind, verursacht die Downward-API beim Deployment der Anwendung einen Fehler. In diesem Fall müssen Sie den Eintrag für die Downward-API entfernen, der metadata.labels
und/oder metadata.annotations
entspricht.
APM-Java-Agent mit OpenTelemetry-Operator bereitstellen
Im Folgenden finden Sie Informationen zum Deployment eines APM-Java-Agent mit dem Operator OpenTelemetry, um den APM-Java-Agent automatisch in die Java-Anwendungspods zu injizieren und zu konfigurieren, die auf Kubernetes-(K8s-)Clustern ausgeführt werden.
Abbildung 3-2: APM-Java-Agent mit dem Operator OpenTelemetry bereitstellen

Empfehlung:
Verwenden Sie diese Option, wenn das Docker-Containerimage nicht aktualisiert werden kann und Sie APM-Java-Agent-Konfigurationsänderungen lieber mit der benutzerdefinierten Kubernetes-Ressource (CR) vornehmen möchten, um den APM-Agent beim Start automatisch in die JVMs zu injizieren.
- Vermeiden Sie bei der Docker-Imageversionierung die Verwendung des Tags
:latest
beim Deployment von Containern in der Produktion, da es schwieriger ist, zu verfolgen, welche Version des Images ausgeführt wird und ein ordnungsgemäßes Rollback schwieriger ist. Geben Sie stattdessen ein aussagekräftiges Tag wiev1.12.1.3
an. -
Erstellen Sie für Kubernetes Backups der benutzerdefinierten Kubernetes-Ressourcen (CRs) und Configmaps.
Voraussetzung: Installieren Sie den Operator OpenTelemetry im Kubernetes-Cluster.
Es stehen drei verschiedene Optionen zur Verfügung: Operatorreleasemanifest, Operator-Helm-Diagramm oder Operatorhub.
In den meisten Fällen sollte ein cert-manager installiert werden. Wenn die Helm-Diagrammoption verwendet wird, können Sie stattdessen ein selbstsigniertes Zertifikat generieren.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.2/cert-manager.yaml
Um den Operator OpenTelemetry zu installieren, führen Sie den folgenden Befehl aus:
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml
APM-Java-Agent bereitstellen
So stellen Sie den APM-Java-Agent bereit:
- Erstellen Sie eine benutzerdefinierte Kubernetes-Ressource (CR).
Um die automatische Instrumentierung zu verwalten, muss dem Operator OpenTelemetry Informationen zum APM-Java-Agent und seiner Konfiguration mit der Benutzerdefinierten Ressourcendefinition (CRD) bereitgestellt werden.
Diese benutzerdefinierte Ressource wird vom Operator verwendet, um den Agent in den Pod zu kopieren und ihm die erforderliche Konfiguration hinzuzufügen.
Um die CR zu erstellen, führen Sie den folgenden Befehl aus:kubectl apply -f - <<EOF apiVersion: opentelemetry.io/v1alpha1 kind: Instrumentation metadata: name: inst-apm-java namespace: opentelemetry-operator-system spec: java: image: container-registry.oracle.com/oci_observability_management/oci-apm-java-agent:1.15.0.516 env: - name: OTEL_com_oracle_apm_agent_data_upload_endpoint value: <data-upload-endpoint> - name: OTEL_com_oracle_apm_agent_private_data_key value: <private-data-key> EOF
Dabei gilt:- <data-upload-endpoint> ist die Endpunkt-URL für den Datenimport, die beim Erstellen der APM-Domain generiert wird. Weitere Informationen finden Sie unter Datenimportendpunkt und Datenschlüssel abrufen.
- <private-data-key> ist der private Datenschlüssel für die APM-Java-Agent-Installation, der beim Erstellen der APM-Domain generiert wird. Weitere Informationen finden Sie unter Datenimportendpunkt und Datenschlüssel abrufen.
Die erstellte CR kann mit dem folgenden Befehl abgefragt werden:
Alle Endpunkte und Umgebungsvariablen müssen korrekt sein, damit die automatische Instrumentierung ordnungsgemäß funktioniert.kubectl get otelinst -n opentelemetry-operator-system
- Fügen Sie die Kubernetes-Annotation hinzu.
Der Operator OpenTelemetry verwendet die Kubernetes-Annotation, um zu entscheiden, welche Pods automatisch mit dem APM-Java-Agent injiziert werden sollen.
Die Anmerkung kann einem Namespace hinzugefügt werden. In diesem Fall werden alle Pods in diesem Namespace injiziert. Die Annotation kann auch einzelnen PodSpec-Objekten hinzugefügt werden, die als Teil von Deployment, Statefulset und anderen Ressourcen verfügbar sind.
Anmerkung:instrumentation.opentelemetry.io/inject-java: "opentelemetry-operator-system/inst-apm-java"
So beginnen Sie mit der Bearbeitung des Namespace:- Führen Sie den folgenden Befehl aus:
kubectl edit namespace <your-namespace-name>
- Bearbeiten Sie den Namespace, nachdem der Editor geöffnet wurde. Beispiel: der
vi
-Editor. - Fügen Sie die Anmerkung zum Namespace hinzu. Denken Sie daran, Einrückung ist sehr wichtig, um es als gültige YAML-Datei zu machen.
Beispiel:apiVersion: v1 kind: Namespace metadata: labels: kubernetes.io/metadata.name: mynamespace annotations: instrumentation.opentelemetry.io/inject-java: "opentelemetry-operator-system/inst-apm-java" name: mynamespace spec:
- Führen Sie den folgenden Befehl aus:
- Starten Sie den Kubernetes-Pod neu.
Um den Pod neu zu starten, in den Sie den APM-Java-Agent automatisch injizieren möchten, führen Sie den folgenden Befehl aus:
kubectl delete pod <your-pod-name> -n <your-namespace-name>
- Prüfen Sie den Kubernetes-Pod.
Um zu prüfen, ob Ihr Pod nach dem Neustart automatisch mit dem APM-Java-Agent injiziert wurde, führen Sie den folgenden Befehl aus:
kubectl get pod <your-pod-name> -n <your-namespace-name> -o yaml
Sie können jetzt zum nächsten Schritt gehen: APM-Java-Agent-Deployment prüfen.
Weitere Informationen zum Deployment eines APM-Java-Agent mit dem Operator OpenTelemetry finden Sie im Blog: APM-Java-Agent mit dem Operator OpenTelemetry automatisch in Kubernetes-Umgebungen bereitstellen
APM-Java-Agent auf einem gemounteten Volume bereitstellen
Im Folgenden finden Sie Informationen zum Deployment eines APM-Java-Agent in Oracle Container Engine for Kubernetes (OKE) mit einem gemounteten Volume.
Abbildung 3-3: APM-Java-Agent auf einem gemounteten Volume bereitstellen

-
Verwenden Sie diese Option, wenn keine Änderungen am Docker-Containerimage vorgenommen werden können und Sie lieber ein gemeinsam verwendetes gemountetes Volume verwenden möchten, wenn Änderungen am APM-Java-Agent erforderlich sind.
- Beispiel 1: Wenn Sie häufige Konfigurationsänderungen am APM-Agent vornehmen müssen, muss das Containerimage aktualisiert werden. Dies ist jedoch nicht möglich.
- Beispiel 2: Wenn der Benutzer, der den APM-Agent bereitstellt, nicht über den erforderlichen Zugriff oder die erforderlichen Berechtigungen zum Neuerstellen eines Containerimages verfügt.
-
Sichern Sie für die Docking-Imageversionierung die Binär- und Konfigurationsdateien.
So stellen Sie den APM-Java-Agent auf einem gemounteten Volume bereit:
- Bestätigen Sie, dass Sie die Voraussetzungsaufgaben für APM-Java-Agent abgeschlossen haben.
Notieren Sie sich den Datenuploadendpunkt und den Datenschlüssel beim Erstellen der APM-Domain.
- Erstellen Sie ein neues Dateisystem, mit dem die Pods gemountet werden.
Beim Erstellen des Dateisystems müssen Sie unbedingt dasselbe Compartment des virtuellen Cloud-Netzwerks (VCN) auswählen, das Kubernetes verwendet. Führen Sie dasselbe für das Subnetz-Compartment aus.
- Mounten Sie das Dateisystem in den Pods.
Dieser Schritt erfordert Änderungen an den entsprechenden YAML-Dateien.
Erstellen Sie die
PersistentVolume
und zugehörige Entitys in Kubernetes mit der folgenden yaml-Datei. Beachten Sie die folgenden Felder, die Sie für Ihre Umgebung bearbeiten müssen:mntTargetId
,server
undpath
.kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: oci-fss provisioner: oracle.com/oci-fss parameters: mntTargetId: ocid1.mounttarget.oc1.iad.xxxxxxxxxxxxxxxxxxxxxx --- apiVersion: v1 kind: PersistentVolume metadata: name: oke-fsspv spec: storageClassName: oci-fss capacity: storage: 10Gi accessModes: - ReadWriteMany mountOptions: - nosuid nfs: # Replace this with the IP of your FSS file system in OCI server: 10.0.10.39 # Replace this with the Path of your FSS file system in OCI path: "/fss-for-kub" readOnly: false --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: oke-fsspvc spec: storageClassName: oci-fss accessModes: - ReadWriteMany resources: requests: # Although storage is provided here it is not used for FSS file systems storage: 10Gi volumeName: oke-fsspv
Um die Änderungen anzuwenden, führen Sie
kubectl apply -f <filename.yaml>
ausAktualisieren Sie anschließend die yaml-Datei, mit der die Pods verwaltet werden, und fügen Sie den Volume- und Volume-Mount hinzu.
Um wirksam zu werden, erstellen Sie die Pods neu.
- Laden Sie die APM-Java-Agent-Datei herunter.
Laden Sie die Datei herunter, und kopieren Sie sie auf das gemountete Volume.
Anweisungen zum Herunterladen finden Sie unter APM-Java-Agent-Software herunterladen.
Kopieren Sie es nach dem Herunterladen auf das gemountete Volume.
- APM-Java-Agent durch Provisioning bereitstellen.
Melden Sie sich bei einem der Container an, um den APM-Java Agent bereitzustellen, suchen Sie die JAR-Datei APM-java-agent-installer, und führen Sie Folgendes aus:
java -jar ./apm-java-agent-installer-<version>.jar provision-agent -service-name=<Name of the Service> -destination=<Destination_Directory> -private-data-key=<Agent installation key generated during APM domain creation> -data-upload-endpoint=<dataUploadEndpoint URL generated during APM domain creation>
Anweisungen zum Provisioning finden Sie unter APM-Java-Agent bereitstellen.
- APM-Java-Agent durch Deployment bereitstellen.
Stellen Sie den APM-Java-Agent bereit, indem Sie den Speicherort von oracle-APM-agent für den Microservice in der yaml-Datei angeben.
Fügen Sie das Argument
-javaagent
und den Speicherort der JAR-Datei des APM-Agent zum java-Befehl jedes Microservice hinzu:java -javaagent:<Mounted Volume>/oracle-apm-agent/bootstrap/ApmAgent.jar
- Starten Sie Kubernetes neu.
Erstellen Sie die Pods neu, indem Sie
kubectl apply -f <filename.yaml>
ausführen.Sie können jetzt zum nächsten Schritt gehen: APM-Java-Agent-Deployment prüfen.
Weitere Informationen zum Deployment eines APM-Java-Agent auf einem gemounteten Volume finden Sie im Video: Kubernetes Spring Boot Instrumentation for Distributed Tracing oder im Blog: Application Performance Monitoring: Instrument Java on Kubernetes for Monitoring and Diagnostics.