Este post apresenta de forma sucinta os passos necessários para configuração dos agentes JMX e SNMP na Máquina Virtual Java (JVM) assim como exemplos de utilização das ferramentas jconsole e snmpwalk para monitoração. Esse conteúdo é baseado na documentação de gerenciamento da JDK Sun/Oracle.

A instalação padrão da JRE/JDK possui um modelo dos arquivos management.properties e snmp.acl com todas as configurações disponíveis (ambos em $JAVA_HOME/jre/lib/management/). Para facilitar a leitura e manutenção recomendo criar estes arquivos na estrutura de diretórios da sua aplicação, principalmente porque isso será necessário caso queira monitorar mais de uma JVM na mesma máquina (ver exemplo do Tomcat abaixo).

snmp.acl

Crie o arquivo snmp.acl no local desejado com as linhas abaixo. Tenha em mente que o dono desse arquivo deve ser o mesmo do processo da JVM, a não ser que esteja executando com root que não é recomendável, diga-se de passagem:

acl = {
{
communities = public, private
access = read-only
managers = 0.0.0.0/0
}
}

altere as permissões do mesmo para 600 (leitura e escrita apenas para o dono):

chmod 600 <CAMINHO_ARQUIVO_SNMP_ACL>

management.properties

Crie o arquivo management.properties no local desejado e insira as linha a seguir. Neste exemplo utilizamos as portas 9998 e 9999 para os agentes SNMP e JMX consecutivamente. Não esqueça de substituir <CAMINHO_ARQUIVO_SNMP_ACL> pelo caminho absoluto do arquivo snmp.acl:

com.sun.management.jmxremote.port=9999
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
com.sun.management.snmp.port=9998
com.sun.management.snmp.interface=0.0.0.0
com.sun.management.snmp.acl.file=<CAMINHO_ARQUIVO_SNMP_ACL>

Inicialização da JVM

Adicione o seguinte parâmetro na inicialização da JVM:

-Dcom.sun.management.config.file=<CAMINHO_ARQUIVO_MANAGEMENT_PROPERTIES>

Tomcat

Sugiro o seguinte padrão para a configuração dos agentes no Tomcat:
  • Crie os arquivos management.properties e snmp.acl no diretório $CATALINA_BASE/conf.
  • Crie ou edite o arquivo $CATALINA_HOME/bin/setenv.sh e adicione a linha a seguir. O script catalina.sh carrega esse arquivo na inicialização caso exista:
    CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.config.file=<CAMINHO_MANAGEMENT_PROPERTIES>"


comments powered by Disqus

leia também...

traceroute 216.81.59.173

Recentemente começou a aparecer nas redes sociais um tal `traceroute 216.81.59.173`, principalmente na timeline dos nerds de plantão. A brincadeira me fez lembra do meu velho exemplar do [TCP/IP Illustrated,...

jmeter-reports

Nas últimas semanas dediquei boa parte do meu tempo trabalhando em testes de performance do Abril ID, o sistema de autenticação utilizado por quase todos os sites da casa.Utilizamos o...

Java JDK 1.5 no OS X Lion e Mountain Lion

Basicamente segui os passos descritos no artigo [Java 1.5 for OS X Mountain Lion](http://www.s-seven.net/java_15_mountain_lion), exceto que não usei o Pacifist nos passos 6 e 7 (20 pratas pra extrair um...

Mongo on Rails no MongoDB São Paulo

No dia 13 de Julho tivemos o evendo anual MongoDB São Paulo, que pela primeira vez realizado inteiramente pela 10gen, empresa responsável pelo desenvolvimento do MongoDB e que inclusive está abrindo um escritório...