GlassFish no se iniciará cuando SNMP esté habilitado

GlassFish no se iniciará cuando SNMP esté habilitado

Tengo un servidor de aplicaciones GlassFish v3 ejecutándose en Debian Lenny de 64 bits. Todo funciona bien, excepto que me gustaría monitorear la instancia JVM de GF con SNMP. Sin embargo, cada vez que intento habilitarlo agregando lo siguiente <jvm-options>en 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 niega a comenzar:

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

Tampoco hay nada revelador (bueno, realmente nada en absoluto) en jvm.log o server.log. El archivo snmp.acl contiene:

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

y es chmod 600 (sé que este no es el problema porque en realidad fallará con un error sobre los permisos si está configurado en un valor distinto 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)

Respuesta1

-Dcom.sun.gestión las opciones sonSolextensión para JVM. No forma parte de la especificación JVM y, por lo tanto, no están disponibles enAbiertoJDK!

De todos modos, incluso usando Sun JVM, obtuve un error fatal al implementar aplicaciones en mi clúster en ejecución. Tal vez sea intencional por parte de Sun porque vendieron una extensión para el monitoreo SNMP.

Respuesta2

Yo tuve el mismo problema. Después de habilitar SNMP, Glassfish ya no se inicia. La solución es simple y se describe aquí:http://www.randombugs.com/java/glassfish/snmp-support-glassfish-211-cluster-support.html

Simplemente coloque los permisos correctos en su archivo 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

Respuesta3

Probablemente ya lo hayas comprobado, pero ¿hay algo escuchando en ese puerto?

netstat-an | grep LISTEN lo mostrará.

información relacionada