A variável de ambiente que você deve definir é chamada de 'CATALINA_OPTS'. Aqui está um exemplo na documentação do tomcat, que também está relacionada ao monitoramento: Apache Tomcat 7 - Monitorando e gerenciando o Tomcat
Eu tenho o Tomcat instalado como serviço.
É CATALINA_HOME
e CATALINA_BASE
são iguais:
-Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7
Adicionei o script setenv.sh
a /usr/share/tomcat7/bin
nas próximas linhas:
$ cat /usr/share/tomcat7/bin/setenv.sh
#!/usr/bin/env bash
export JAVA_OPTS="-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=54.***.***.65"
Mas ainda não houve alterações no comportamento do Tomcat - nenhuma nova porta foi aberta, nenhuma nova opção é ps aux | grep java
:
# netstat -anp | grep 9090 | wc -l
0
# ps aux | grep java
tomcat 32063 96.6 23.5 1904000 399872 ? Sl 09:04 3:07 /usr/lib/jvm/jre/bin/java -Xms512M -Xmx1024M -javaagent:/usr/share/tomcat7/newrelic/newrelic.jar -classpath :/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat7/temp -Djava.util.logging.config.file=/usr/share/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
Arquivo de propriedade de tomcat
user e com exec
bit:
# ls -l /usr/share/tomcat7/bin/setenv.sh
-rwxr-xr-x 1 tomcat tomcat 329 Jun 15 08:52 /usr/share/tomcat7/bin/setenv.sh
A variável de ambiente que você deve definir é chamada de 'CATALINA_OPTS'. Aqui está um exemplo na documentação do tomcat, que também está relacionada ao monitoramento: Apache Tomcat 7 - Monitorando e gerenciando o Tomcat
De acordo com o meu blog, minha solução foi definida em JAVA_OPTS
com $CATALINA_HOME/conf/tomcat7.conf
, por exemplo:
# You can pass some parameters to java here if you wish to
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
JAVA_OPTS="-Xms512M -Xmx1024M -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=54.***.***.65"
E o resultado após o reinício do Tomcat foi:
# ps aux | grep java
tomcat 1359 96.6 13.0 1887508 220732 ? Sl 09:19 0:44 /usr/lib/jvm/jre/bin/java -Xms512M -Xmx1024M -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -[...]
P.S. Não se esqueça de criar uma cópia dos seus arquivos de configuração padrão. Então, grep -r JAVA_OPTS etc/*
para encontrá-lo em # documentation
será mais útil: -)