GlassFish startet nicht, wenn SNMP aktiviert ist

GlassFish startet nicht, wenn SNMP aktiviert ist

Ich habe einen GlassFish v3-App-Server, der auf 64-Bit-Debian Lenny läuft. Alles läuft gut, außer dass ich die JVM-Instanz von GF mit SNMP überwachen möchte. Allerdings versuche ich es jedes Mal zu aktivieren, indem ich Folgendes <jvm-options>in domain.xml einfüge:

-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 lässt sich nicht starten:

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

Auch in jvm.log oder server.log gibt es nichts Erhellendes (also eigentlich gar nichts). Die Datei snmp.acl enthält:

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

und ist chmod 600 (ich weiß, dass das nicht das Problem ist, weil es tatsächlich mit einem Fehler bezüglich der Berechtigungen fehlschlägt, wenn es auf einen anderen Wert als 600 eingestellt ist)

$ 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)

Antwort1

-Dcom.sun.management Optionen sindSonneErweiterung für JVM. Es ist kein Teil der JVM-Spezifikation und daher nicht verfügbar inOpenJDK!

Trotzdem trat selbst bei Verwendung einer Sun JVM beim Bereitstellen von Anwendungen auf meinem laufenden Cluster ein schwerwiegender Fehler auf. Vielleicht ist dies von Sun beabsichtigt, da sie eine Erweiterung für die SNMP-Überwachung verkauft haben.

Antwort2

Ich hatte das gleiche Problem. Nach dem Aktivieren von SNMP startet Glassfish nicht mehr. Die Lösung ist einfach und hier beschrieben:http://www.randombugs.com/java/glassfish/snmp-support-glassfish-211-cluster-support.html

Geben Sie Ihrer ACL-Datei einfach die richtigen Berechtigungen.

[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

Antwort3

Sie haben es wahrscheinlich schon überprüft, aber lauscht auf diesem Port bereits etwas?

netstat -an | grep LISTEN wird das anzeigen.

verwandte Informationen