Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-663

Request to improve Geronimo's JMX support for remote management systems

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.0-M4
    • Wish List
    • general
    • None

    Description

      The remote JMX support on Geronimo works amazing well.

      Because of this, it also painfully reveals the tightly
      coupled heritage between Geronimo core and local
      JMX based management/debugging tools.

      Unfortunately, this is not good for remote management.

      In particular, consider the topology where a bank of
      Geronimo servers may be managed via a single
      third-party management console. The same console
      may also manage a large number of non-Geronimo
      servers and assorted hardware. In order to "fit in" ,
      the attributes and operations exposed through Geronimo
      should conform to the capability of the
      system.

      The following are some suggestions/guidelines that can
      make the server more friendly to remote JMX management
      systems.

      1. Attributes with primitive types such as int, long, boolean, etc.
      should be exposed via their wrappers Integer, Long, Boolean, etc.
      In general, for maximal compatibility with remote JMX management
      systems, expose attributes with only the types described in the JDK 5
      javadoc for javax.management.openmbean.SimpleType.

      ---------------------------------------------------------
      2. Attributes with custom Geronimo specific-type should not be exposed.
      Currently, there are attributes with type as complex as:

      org.apache.geronimo.kernel.Kernel
      org.apache.geronimo.gbean.GBeanLifecycleController
      org.apache.geronimo.kernel.DependencyManager

      Remote JMX systems may need the entire Geronimo build
      to resolve all of the inter-dependencies; even if they
      manage to do this, they will not know what is meaningful
      to display to the management user for these attributes.

      Such attribute is better exposed as a String typed
      attribute that summarize its current state or value.
      ----------------------------------------------------------

      3. Attributes that are intrinsically date values should be exposed as Date,
      and not as Long (or worse, long).

      4. There are many attributes (such as classPath and dependencies) that are exposed
      currently as either java.util.List, java.util.URL, or java.net.URI. These should be exposed
      as a simple String attribute that concatenate or pre-format the relevant information.

      5. Last but not least, there exists almost no exposed attribute that changes dynamically
      in value with time.

      This is unusual, because such intrumentation is frequently used in trouble-shooting and
      performance tuning of servers.

      Instead of using alternate means, one may want to consider exposing them through
      JMX - and viewing the status via remote consoles, stats aggregators, etc.

      The highly desirable side-effect of exposing these meterics is that they will
      immediately provide a "visual face" for Geronimo, over and above the current
      festive rainbow feather.

      Network Management System users will be able to immediately
      wire up beautiful gauges, meters, pie charts, dancing grids,
      and rotating 3-D balls to these exposed metrics... indirectly
      helping to promote the server... right alongside the buzzing
      Weblogic/Websphere/JBoss dashboards

      PS... The components in the Tomcat 5 server have
      been thoroughly instrumented for remote JMX, but
      it seems that none of the metrics is exposed
      through Geronimo at this time

      Attachments

        Activity

          People

            Unassigned Unassigned
            roamer323 Sing Li
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: