O GlassFish não iniciará quando o SNMP estiver ativado

O GlassFish não iniciará quando o SNMP estiver ativado

Eu tenho um servidor de aplicativos GlassFish v3 rodando no Debian Lenny de 64 bits. Tudo está funcionando bem, exceto que eu gostaria de monitorar a instância JVM do GF com SNMP. No entanto, sempre que tento ativá-lo, adicionei o seguinte <jvm-options>em domain.xml:

-Dcom.sun.management.snmp.port=10161
-Dcom.sun.management.snmp.acl.file=/path/to/snmp.acl
-Dcom.sun.management.snmp.interface=127.0.0.1

GlassFish se recusa a iniciar:

$ asadmin start-domain
Waiting for DAS to start .Error starting domain: default.
The server exited prematurely with exit code 1.
Command start-domain failed.
$

Também não há nada esclarecedor (bem, realmente nada) em jvm.log ou server.log. O arquivo snmp.acl contém:

acl = {
  {
    communities = public
    access = read-only
    managers = localhost
  }
}

e é chmod 600 (eu sei que este não é o problema porque ele falhará com um erro sobre as permissões se estiver definido como algo diferente de 600)

$ java -version
java version "1.6.0_0"
OpenJDK  Runtime Environment (build 1.6.0_0-b11)
OpenJDK 64-Bit Server VM (build 1.6.0_0-b11, mixed mode)

Responder1

-Dcom.sun.management as opções sãoSolextensão para JVM. Não faz parte das especificações da JVM e, portanto, não estão disponíveis emOpenJDK!

De qualquer forma, mesmo usando uma Sun JVM, recebi um erro fatal ao implantar aplicativos em meu cluster em execução. Talvez seja intencional da Sun porque eles venderam uma extensão para monitoramento SNMP.

Responder2

Eu tive o mesmo problema. Depois de ativar o SNMP, o Glassfish não inicia mais. A solução é simples e descrita aqui:http://www.randombugs.com/java/glassfish/snmp-support-glassfish-211-cluster-support.html

Basta colocar as permissões corretas no seu arquivo acl.

[randombugs@jack]# chown <application user> /etc/java-6-sun/management/snmp.acl
[randombugs@jack]# chmod o-r /etc/java-6-sun/management/snmp.acl
[randombugs@jack]# chmod g-r /etc/java-6-sun/management/snmp.acl

Responder3

Você provavelmente já verificou, mas já há alguma escuta nessa porta?

netstat -an | grep LISTEN mostrará isso.

informação relacionada