Introduction
Ce document décrit comment ajouter des indicateurs JVM (Java Virtual Machine) à JAVA_OPTS dans CloudCenter Manager (CCM).
Conditions préalables
Conditions requises
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Interface Linux
- Environnement de machine virtuelle
- composant CCM
Components Used
Les informations contenues dans ce document sont basées sur les versions de logiciel suivantes :
- CloudCenter version 4.x
- Appliance CCM
Informations générales
Parfois, le processus TOMCAT ne répond pas et s'arrête pour fonctionner correctement, mais il n'y a aucune information qui indique la raison pour laquelle le TOMCAT n'a pas répondu.
Problème
Les utilisateurs ne peuvent pas se connecter à CloudCenter et les utilisateurs connectés à CloudCenter voient l'interface utilisateur CCM ne répondre pas. Ce problème peut être déclenché car le service TOMCAT ne fonctionne pas et il s'est arrêté. Ensuite, les journaux par défaut de CCM n'indiquent aucun détail ni la raison pour laquelle le service TOMCAT s'est arrêté pour fonctionner.
Solution
Afin de collecter des informations supplémentaires avant que le service TOMCAT ne s'arrête pour s'exécuter, les indicateurs JVM doivent être ajoutés au JAVA_OPTS qui se trouve dans le /usr/local/tomcat/bin/setenv.sh. Ce paramètre vous aide à collecter le dumb de tas du processus JAVA et les statistiques de collecte des ordures du processus JAVA. Ensuite, lorsque le processus TOMCAT ne répond plus, il génère /usr/local/tomcat/logs/ccm.bin et /usr/local/tomcat/logs/ccm-gc.log.
Étape 1. Ajoutez ces paramètres à l'adresse /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
Étape 2. Accédez à 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
Étape 3. Redémarrez le processus CCM TOMCAT.
/etc/init.d/tomcat restart
Étape 4. Après le redémarrage, exécutez la commande ps -ef | grep tomcat afin de confirmer que le processus TOMCAT utilise les nouveaux paramètres qui ont été ajoutés au /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
Ces nouveaux paramètres vous aident à créer des fichiers supplémentaires qui peuvent être collectés une fois que le processus TOMCAT ne répond plus :
- Déversement de la pile du processus JAVA - /usr/local/tomcat/logs/ccm.bin
- Statistiques de collecte des ordures du processus JAVA - /usr/local/tomcat/logs/ccm-gc.log