[ <b>Mood:</b> Cool ]<br />[ <b>Currently:</b> Working ]<br />We have been getting requests on how to monitor Glassfish (Open Source Application Server) using ManageEngine Applications Manager . So I will cover the various aspects supported by Applications Manager so that you get more visibility.

Applications Manager in addition to supporting Server Monitoring and Database Monitoring has the capability to build dashboards for JMX MBeans. We will use this along with Java Runtime Monitoring and URL Sequence Monitoring to monitor Glassfish. Before going forward, I would like to thank Gregrluck for his post on Glassfish monitoring in our forums.

JMX Dashboard :

Basically any JMX enabled Application on JMX 1.2 / JDK 1.5 can be monitored with this approach. Glassfish has some useful management information already exposed and you could monitor the same with this option.

1) Download and Install Applications Manager

2) I downloaded Glassfish here and this doc was very useful to get started !

I used the default configuration for Glassfish : Details below

Quote:
[exec] Using port 4848 for Admin.[exec] Using port 8080 for HTTP Instance.[exec] Using port 7676 for JMS.

[exec] Using port 3700 for IIOP.

[exec] Using port 8181 for HTTP_SSL.

[exec] Using default port 3820 for IIOP_SSL.

[exec] Using default port 3920 for IIOP_MUTUALAUTH.

[exec] Using default port 8686 for JMX_ADMIN.

User Name : admin

Password : adminadmin

3) Now, in Glassfish make the following changes in domain.xml

Make “accept-all” property to “true” for the “jmx-connector” node.

<jmx-connector accept-all=”true”

My config line looks like :

Quote:
<jmx-connector accept-all=”true” address=”0.0.0.0″ auth-realm-name=”admin-realm” enabled=”true” name=”system” port=”8686″ protocol=”rmi_jrmp” security-enabled=”false”/>

4) Now Login to Applications Manager Web Console (http://localhost:9090 admin/admin)

Click “New Monitor” > “JMX Applications” link :

Quote:
Specify the following :Host Name : hostnameSubNet Mask: 255.255.255.0

Port : 8686 (assuming default, check jmx-connector xml node > port property in domain.xml)

Polling Interval : 5

JNDI Name : /jmxrmi

Authentication Enabled : selected

User Name : admin

Password : adminadmin (for me same as my Glassfish admin console password)Click “Add Monitor”

5) Now in the Web Console, navigate to the “JMX Application” details page : “Monitors tab” > “JMX Applications”. Click “Add Custom Attributes” > Select a MBean domain and add those attributes.

I had deployed hello.war”, hence I went to the MBean domain “com.sun.appserv” > added the MBean ” com.sun.appserv:j2eeType=Servlet,name=jsp,WebModule=//server/hello,…” attributes.

More details in help and website.

JVM Monitoring

This has similar capability of JConsole. Additionally there is the capability to configure thresholds, email alerts, mbean operations triggered based on a monitored metric, Reports etc.

Check out the help docs on how to configure.

Quote:
The values I had given in Applications Manager while Adding a “New Monitor” for “Java Runtime” are :Host Name : localhostSubNet Mask : 255.255.255.0

Port : 8686

JNDI Name : /jmxrmi

Authentication Enabled : selected

Username : admin

Password :adminadmin

That’s it and you have the JVM of Glassfish monitored.

I know this post is getting long, but its not complete without 🙂

URL Sequence Monitoring for Web Applications

For web applications you could create a synthetic test (URL Sequence monitor) and ensure that your Web Application is up and also track response times at various steps in the transaction.

I created one for the hello web application and that’s how i ensured I get a non zero “requestCount” for mbean attribute for my hello.war web app 🙂

ok, more seriously, take for example a ticketing web application, you could record (using the recorder.exe tool) a flight status query to your web application and configure Applications Manager to check this every 10 minutes and let you know when there a slump in performance. You may also want to check out the multi-location capability.

If you are still reading, then get started and download the product and try the free edition atleast !

Cheers

Gibu

  1. Hi Jessica,

    The page to add the GlassFish monitor will not be available when you click on “New Monitor Group”, this link is used to create a monitor group.

    A monitor Group is particularly useful for grouping the resources of a location say the resources available in sales office or for grouping the resources used by a business application.

    To add the glassfish monitor, please use the “New Monitor” link.

    Thanks,
    Dilipk

  2. Jessica

    After finished the first three options, and
    Login to Applications Manager Web Console (http://localhost:9090 admin/admin)

    Click “New Monitor grout” (not “New Monitor”)
    then, I cannot find the “JMX Applications” link :

    Could help me to resolve this question?

    Thanks~~

  3. Marcelo

    Hi. Currently, this would be the way that most companies monitor the performance and availability of their services? I’m researching this, but I am not sure if this is the way most used!
    Thanks!
    Marcelo