Oracle Management Cloud -Integration hinzufügen

Sie können das konfigurierte Bild über die Oracle-Container-Registry oder eine andere Container-Registry hochladen und ein Deployment-Manifest erstellen, um die Anwendung in Ihrem Kubernetes-Cluster bereitzustellen. Sobald die verteilte Anwendung bereit ist, können Sie sie überwachen und nahtlos neue Instanzen verfolgen, die erstellt werden, sowie die Instanzen, die heruntergefahren werden.

Um die Installation des Oracle Application Performance Monitoring-Agent einfacher und aussagefähig zu machen, laden Sie das Installationsprogramm von Oracle Management Cloud herunter, und speichern Sie den Registrierungsschlüssel in einer Datei.

Laden Sie die Binärdateien des Oracle Application Performance Monitoring-Agent und den Registrierungsschlüssel herunter:

  • Laden Sie die Agent-Binärdateien herunter: Navigieren Sie von der Oracle Management Cloud-Konsole zu Administration > Agents > Agents herunterladen.
  • Laden Sie den Registrierungsschlüssel herunter: Navigieren Sie von der Oracle Management Cloud-Konsole zu Administration > Agents > Registrierungsschlüssel verwalten.

Speichern Sie die Binärdateien des Oracle Management Cloud-Installationsprogramms und den Registrierungsschlüssel im Verzeichnis gs-accessing-data-rest/complete/src/dist (Sie müssen das Verzeichnis dist erstellen).

Sie müssen Ihre Anwendungen bei Oracle Management Cloud registrieren. Um die Oracle Management Cloud-Integration hinzuzufügen, rufen Sie die Binärdateien ab, und führen Sie die Agent-Installation zum Zeitpunkt der Erstellung des Docker-Bildes aus. Dazu nutzen Sie das gradle-docker-plugin-Plug-in, um einige weitere Anweisungen in die Dockerfile hinzuzufügen, die Sie generieren.

Fügen Sie der Datei build.gradle Folgendes hinzu:

dockerCreateDockerfile {
    instruction {'RUN unzip /omc-sample-app/*APM*.zip -d /omc-sample-app/omc'}
    instruction {'COPY /omc-sample-app/registrationKey.txt /omc-sample-app/omc'}
    instruction {'WORKDIR /omc-sample-app/omc'}
    instruction {'RUN /bin/bash ProvisionApmJavaAsAgent.sh -d . -h do-not-use -no-wallet -no-prompt -regkey-file registrationKey.txt'}
    instruction {'ENV APM_PROP_FILE=/omc-sample-app/omc/apmagent/config/AgentStartup.properties'}
    instruction {'RUN echo "oracle.apmaas.agent.appServer.classifications=OMC_SAMPLE" >> ${APM_PROP_FILE}'}
    environmentVariable('JAVA_OPTS', '${JAVA_OPTIONS} -javaagent:/omc-sample-app/omc/apmagent/lib/system/ApmAgentInstrumentation.jar')
}

Die vorangehenden Codezeilen extrahieren zunächst die Agent-JAR-Datei und kopieren den Registrierungsschlüssel als Datei. Dann führt der Code das Installationsprogramm ProvisionApmJavaAsAgent.sh aus. Der Prozess installiert den Agent und fügt dann eine Konfiguration hinzu, um alle Instanzen dieses Containers zu einer Klassifizierung namens OMC_SAMPLE zu gruppieren. Schließlich fügt der Code den Parameter javaagent der Umgebungsvariable JAVA_OPTS hinzu. Mit dieser Umgebungsvariable können Sie einige Optionen externalisieren, die beim Starten der JVM verwendet werden. Hier wird er für das Hinzufügen des Agent verwendet.

In jedem Container, den Sie mit diesem Bild starten, ist der Agent jetzt automatisch in ihn integriert. Sobald der Container startet, startet er die Berichterstattung von Metriken an Oracle Management Cloud. Außerdem werden alle Instanzen nach Oracle Management Cloud anhand der hinzugefügten Klassifizierung gruppiert. Auf diese Weise können Sie Oracle Container Engine for Kubernetes-Deployments automatisch als Gruppe im Gegensatz zu einzelnen Pods oder Containern überwachen oder benutzerdefinierte Abfragen oder Labels für Gruppenknoten einrichten.

Im Folgenden finden Sie ein Beispiel-build.gradle mit allen Einträgen:

buildscript {
    repositories {
        mavenCentral()
        maven {
                url 'https://plugins.gradle.org/m2/'
            }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
        classpath 'com.bmuschko:gradle-docker-plugin:4.3.0'
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'application'
apply plugin: 'com.bmuschko.docker-java-application'

mainClassName = 'hello.Application'


jar {
    enabled = true
    baseName = 'gs-accessing-data-rest'
    version = '0.1.0'
}

bootJar {
    baseName = 'gs-accessing-data-rest'
    version = '0.1.0'
}

repositories {
    mavenCentral()
    jcenter()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

docker {
        javaApplication {
            baseImage = 'openjdk:8'
            maintainer = 'Your Name "your.email@company.com"'
            ports = [8080]
            tag = 'region-code.ocir.io/my-tenant/my-repo/omc-sample-app:latest'
        }
}

dockerCreateDockerfile {
        instruction 'RUN unzip /omc-sample-app/*APM*.zip -d /omc-sample-app/omc'
        instruction 'COPY /omc-sample-app/registrationKey.txt /omc-sample-app/omc'
        instruction 'WORKDIR /omc-sample-app/omc'
        instruction 'RUN /bin/bash ProvisionApmJavaAsAgent.sh -d . -h do-not-use -no-wallet -no-prompt -regkey-file registrationKey.txt'
        instruction 'ENV APM_PROP_FILE=/omc-sample-app/omc/apmagent/config/AgentStartup.properties'
        instruction 'RUN echo "oracle.apmaas.agent.appServer.classifications=OMC_SAMPLE" >> ${APM_PROP_FILE}'
        environmentVariable 'JAVA_OPTS', '${JAVA_OPTIONS} -javaagent:/omc-sample-app/omc/apmagent/lib/system/ApmAgentInstrumentation.jar' 
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-data-rest")
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    compile("com.h2database:h2")
    testCompile("org.springframework.boot:spring-boot-starter-test")
}