Agregar integración de Oracle Management Cloud
Puede cargar la imagen configurada en Oracle Container Registry o en cualquier otro registro de contenedor y crear un manifiesto de despliegue para desplegar la aplicación en el cluster de Kubernetes. Después de preparar la aplicación distribuida, puede supervisarla y realizar un seguimiento completo de las nuevas instancias creadas así como de las instancias cerradas.
Para que la instalación de Oracle Application Performance Monitoring Agent sea más sencilla y descriptiva, descargue el instalador de Oracle Management Cloud y guarde la clave de registro en un archivo.
Descargue los binarios del agente de Oracle Application Performance Monitoring y la clave de registro:
- Descargue los binarios del agente: desde la consola de Oracle Management Cloud, navegue a Administración > Agentes > Descargar Agentes .
- Descargue la clave de registro: desde la consola de Oracle Management Cloud, navegue hasta Administración > Agentes > Gestionar Claves de Registro.
Guarde los binarios del instalador de Oracle Management Cloud y la clave de registro en el directorio gs-accessing-data-rest/complete/src/dist
(debe crear el directorio dist
).
Debe registrar sus aplicaciones con Oracle Management Cloud. Para agregar la integración de Oracle Management Cloud, obtenga los binarios y realice la instalación del agente en el momento de crear la imagen de Docker. Para ello, utilice el plugin de gradle-docker-plugin
para agregar algunas instrucciones más en el archivo Dockerfile que está generando.
Agregue lo siguiente al archivo build.gradle
:
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')
}
Las líneas anteriores del código extraen primero el archivo JAR del agente y copian la clave de registro como un archivo. A continuación, el código ejecuta el instalador, ProvisionApmJavaAsAgent.sh
. El proceso instala el agente y agrega una configuración para agrupar todas las instancias de este contenedor en una clasificación denominada OMC_SAMPLE
. Por último, el código agrega el parámetro javaagent
a la variable de entorno JAVA_OPTS
. Esta variable de entorno permite externalizar algunas opciones utilizadas al iniciar JVM. Aquí se utiliza para agregar el agente.
Ahora, cada contenedor que se inicie utilizando esta imagen, automáticamente el agente se integra en él. En cuanto se inicie el contenedor, comienza a informar las métricas a Oracle Management Cloud. Además, todas las instancias se agruparán mediante Oracle Management Cloud con la clasificación que haya agregado. Esto permite supervisar automáticamente los despliegues de Oracle Container Engine for Kubernetes como un grupo en oposición a los pods o contenedores individuales, o bien configurar consultas o etiquetas personalizadas en nodos de grupo.
A continuación se muestra un ejemplo de build.gradle
con todas las entradas:
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")
}