Introducción
Este documento describe cómo agregar indicadores de máquina virtual de Java (JVM) a JAVA_OPTS en CloudCenter Manager (CCM).
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Interfaz Linux
- Entorno de máquina virtual
- componente CCM
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
- CloudCenter versión 4.x
- dispositivo CCM
Antecedentes
A veces, el proceso TOMCAT no responde y se detiene para funcionar correctamente, pero no hay información que indique la razón por la que el TOMCAT no respondió.
Problema
Los usuarios no pueden iniciar sesión en CloudCenter y los usuarios que han iniciado sesión en CloudCenter ven que la interfaz de usuario de CCM no responde. Este problema se puede activar porque el servicio TOMCAT no se ejecuta y ha dejado de funcionar. A continuación, los registros predeterminados de CCM no muestran ningún detalle ni la razón de por qué el servicio TOMCAT ha dejado de funcionar.
Solución
Para recopilar información adicional antes de que el servicio TOMCAT se detenga a ejecutarse, los indicadores JVM deben agregarse a JAVA_OPTS que se encuentra en /usr/local/tomcat/bin/setenv.sh. Estos parámetros le ayudan a recopilar el montón de tontos del proceso JAVA y las estadísticas de recolección de elementos no utilizados del proceso JAVA. Luego, cuando el proceso TOMCAT deja de responder, genera /usr/local/tomcat/logs/ccm.bin y /usr/local/tomcat/logs/ccm-gc.log.
Paso 1. Agregue estos parámetros en el sitio /usr/local/tomcat/bin/setenv.sh.
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/logs/ccm.bin -verbose:gc -XX:+PrintGCDetails
-XX:+PrintGCDateStamps -Xloggc:/usr/local/tomcat/logs/ccm-gc.log
Paso 2. Vaya a CCM > /usr/local/tomcat/bin/setenv.sh
[root@ccm bin]# cat /usr/local/tomcat/bin/setenv.sh
export LD_LIBRARY_PATH=/usr/local/apr/lib
export CATALINA_PID=$CATALINA_HOME/catalina.pid
export JPDA_ADDRESS=8000
export JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m
-XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/usr/local/tomcat/logs/ccm.bin -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps
-Xloggc:/usr/local/tomcat/logs/ccm-gc.log -Dhttp.proxyHost=rcdn-calo-proxy.cisco.com -Dhttp.proxyPort=3128
-Dhttp.nonProxyHosts=10.201.210.1"
export CLASSPATH=/usr/local/osmosix/etc
export CATALINA_OUT=/dev/null
Paso 3. Reinicie el proceso CCM TOMCAT.
/etc/init.d/tomcat restart
Paso 4. Después del reinicio, ejecute el comando ps -ef | grep tomcat para confirmar que el proceso TOMCAT utiliza los nuevos parámetros que se agregaron a /usr/local/tomcat/bin/setenv.sh.
[root@ ccm ~]# ps -ef | grep tomcat
cliqrus+ 18683 1 99 16:46 ? 00:00:27 /usr/lib/jvm/java-8-sun/bin/java
-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/logs/ccm.bin -verbose:gc -XX:+PrintGCDetails
-XX:+PrintGCDateStamps -Xloggc:/usr/local/tomcat/logs/ccm-gc.log -Dhttp.proxyHost=rcdn-calo-proxy.cisco.com
-Dhttp.proxyPort=3128 -Dhttp.nonProxyHosts=10.201.210.1 -Djava.endorsed.dirs=/usr/local/tomcat/endorsed
-classpath /usr/local/osmosix/etc:/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
-Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp
org.apache.catalina.startup.Bootstrap start
root 18765 17947 0 16:47 pts/1 00:00:00 grep --color=auto tomcat
Estos nuevos parámetros le ayudan a crear archivos adicionales que se pueden recopilar una vez que el proceso TOMCAT deja de responder de nuevo:
- Volcado de montón del proceso JAVA - /usr/local/tomcat/logs/ccm.bin
- Estadísticas de recolección de elementos no utilizados del proceso JAVA - /usr/local/tomcat/logs/ccm-gc.log