2008-11-25 18 views
1

Je suis actuellement chargé de développer un outil pour utiliser JMX pour surveiller les JVMs pour des choses comme, mais pas seulement, l'utilisation de la mémoire, tas taille, nombre de threads. L'outil désiré est celui qui peut afficher plusieurs graphiques pour chaque jvm l'un à côté de l'autre (exemple ci-dessous).Pour surveiller les JVM avec JMX, est-il préférable de créer votre propre outil ou d'utiliser quelque chose comme JConsole

Donc la question est-il préférable de créer votre propre? Utiliser un autre outil disponible? (Si oui lequel (s)) Ou y at-il un outil qui a une licence, que je peux construire?

Exemple: (Chaque machine virtuelle Java a de nombreux graphiques qui sont visibles à la fois pour que vous puissiez voir si une application spécifique/serveur/jvm agit en place assez facilement

  1. JVM1:. Graphique PermGen, Heap Taille graphique, threads graph
  2. JVM2: graphique PermGen, Heap graphique Taille, graphique threads
  3. JVM3: graphique PermGen, Heap graphique Taille, graphique threads

*** Edit: « Vous avez oublié la troisième option ... Achète-en un. " Tout en particulier qui pourrait correspondre à ces exigences? ou être suffisamment extensible pour les manipuler?

Répondre

2

Cela ressemble à ce que jConsole et VisualVM font - les deux sont distribués avec JDK-6.

+0

Je suis d'accord. JVisualVm surveillera plusieurs consoles et vous pourriez utiliser un wrapper de service comme YAJSW si vous vous inquiétez de le garder en cours d'exécution et de vous connecter continuellement. – djangofan

0

Web Services Connector for Java Management Extensions (JMX) Agents, qui semblent être prévus pour Java 7, offrent un moyen facile de mettre en œuvre un tel outil dans n'importe quelle langue. Il s'agit d'un standard d'agent JMX basé sur le service Web/http, et peut également être utilisé pour demander des informations de diagnostic à la JVM.

En fait, j'essaie cela avec Delphi et cela fonctionne déjà très bien (en utilisant l'implémentation de référence ws-jmx-connector). C'est déjà une application très ressemblante à JConsole, mais sans graphique.

Je vais essayer d'implémenter une vue de moniteur graphique dans une application de démonstration gratuite pour ma bibliothèque, qui n'est pas encore disponible pour le téléchargement public.

+0

Il semble que JSR-262 ne deviendra pas un standard de sitôt. Le statut du JSR est inactif et il n'y a pas eu de mise à jour depuis mai 2008. –

0

Avez-vous déjà regardé jmxtrans? (https://github.com/jmxtrans/jmxtrans). Est très extensible et peut avoir ce que vous cherchez.

+0

jmstrans + graphite est assez puissant, mais très compliqué à installer. – Dave