Java/J2EE Monitor

Java is today the dominant platform for server-based applications. With the widespread adoption of J2EE application servers, Java provides an open standards based platform to build upon. A wide range of vendors provide J2EE application servers and the AppPerfect monitor's Java/J2EE monitor supports many of the commonly available ones.

The reason we use Java/J2EE rather than only J2EE, is some application servers such as Apache's Tomcat are not a full fledged J2EE application server. While it provides many of the J2EE servers, it lacks a few. Other vendors such as JBoss which do provide a full J2EE container, have not certified their product as J2EE compliant.

Internally, the Java/J2EE monitor uses Java Management Extensions (JMX) to extract monitoring data from the Java application server. Most Java app servers that support JMX are supported. Note however that based on the specifics of the JMX implementation by that particular vendor, the data that is displayed can vary greatly from one app server to another.

This chapter describes how to work with Java/J2EE monitor provided by AppPerfect Monitor to monitor your Java application infrastructure.

Managing Java/J2EE monitors

To view the list of all available monitors defined with the AppPerfect Monitor, log in as administrator and click the "Monitors" tab. A list of all defined monitors is displayed. You can edit the properties of a monitor by clicking it and updating the properties page for that monitor.

To delete a monitor, select the checkbox to the left of that monitor and click "Delete". When you delete a monitor, you may choose to preserve the data already recorded for that monitor or you may delete the monitor along with all its historical data.

Defining a new monitor

Please refer to the chapter Managing Monitors for the common settings required.

  1. Java v1.5 to v1.8
  2. Oracle WebLogic v7.x to v8.x
  3. Oracle WebLogic v9.x to v12.x
  4. IBM WebSphere v5.x to v8.x
  5. Tomcat 5.0.x
  6. Tomcat v5.5.x to v8.x
  7. Jetty v6.x to v9.x
  8. Oracle Application Server 10.1.x
  9. JMS Queue

Java v1.5 to v1.8

The AppPerfect Agentless monitor can monitor any application or any server running on Java 1.5 or above. It monitors attributes like Heap Memory, Non-Heap Memory, CPU Usage (on some platforms), Classes Loaded, Classes unloaded etc. You will need to configure remote access to JMX service running in your Java 1.5 or above for the monitoring.

Steps : Steps to configure Java 1.5 or above for Monitoring

Oracle WebLogic v7.x to v12.x

Oracle is one of the world's leading application infrastructure software companies. Oracle WebLogic Server is among the top application servers according to major industry analysts. The AppPerfect Monitor Java/J2EE monitor for WebLogic Server monitors attributes like Heap, Sockets, EJBs, JSP/Servlets, JDBC connection, JMS and JTA. You will need to provide a user name, password and the information about the HOME directory of the WebLogic Server or path of WebLogic installation folder to monitor WebLogic Server. Default values of user name and password are weblogic.

Oracle WebLogic 7.x / 8.x

Note : AppPerfect needs to load few jar files from the Weblogic server hence its very important that correct Weblogic HOME directory is provided. In case weblogic is running on remote machine then you should create a folder on local machine (on which monitor is running) and should copy all the jars on local machine maintaining the folder structure.

WebLogic HOME should contain folders like,
%WEBLOGIC_HOME%/common
%WEBLOGIC_HOME%/samples
%WEBLOGIC_HOME%/server
%WEBLOGIC_HOME%/uninstall

Oracle WebLogic v9.x to v12.x

Note : Oracle Weblogic 9.x or above server implements JMX 1.2 architecture and also requires JDK/JRE 1.5.x or above. AppPerfect Agentless Monitor server run in Apache Tomcat server with built-in JAVA_HOME of JDK 1.4.x as all the older versions of Java/J2EE servers had proprietary implementation of JMX and hence monitor server cannot be run with JAVA_HOME of JDK/JRE 1.5.x or above. If you want to monitor Oracle Weblogic 9.x or above server please configure the built-in tomcat server to run with JDK 15. Please download & install JDK 1.5.x and above from Sun's site. Please do the following to configure built-in tomcat server to use JDK 1.5.x or above:

If you have added other Java/J2EE monitors for monitoring, please suspend these monitors as running the tomcat server with JDK 1.5 or above will result in error fetching the data of the attributes being monitored.

For Windows: If Agentless Monitor is installed in C:\AppPerfect\AgentlessMonitor directory then open C:\AppPerfect\AgentlessMonitor\tomcat\bin\tc.bat in some text editor for editing like Notepad. Modify the line that defines JAVA_HOME environment variable. Set its value to point to the JDK 1.5.x or above home location.

For Linux/Solaris/MAC OS X: If Agentless Monitor is installed in /AppPerfect/AgentlessMonitor directory then open /AppPerfect/AgentlessMonitor/tomcat/bin/am.sh in some text editor for editing like vi editor. Modify the line that defines JAVA_HOME environment variable. Set its value to point to the JDK 1.5.x or above home location.

Now, Start AppPerfect Monitor server and add Oracle Weblogic monitor.

IBM WebSphere

IBM WebSphere Application Server fully supports EJBs and provides a portable application deployment environment. It comprises of Application-level partitioning and load balancing features. The AppPerfect Monitor Java/J2EE monitor for IBM WebSphere monitors attributes like Heap, Sockets, EJBs, JSP/Servlets, JDBC connection, JMS and JTA.

Notes on configuring the monitors:

Make sure:

For WebSphere, AppPerfect Agentless Monitor uses the Performance Monitoring Service (PMI) on the WebSphere server. You can enable the PMI via the WebSphere Administrator's Console. Following are the steps to be performed to enable the PMI.

  1. Start the WebSphere server.
  2. Log on to the WebSphere Administrator Console.
  3. Click Servers -> Application Servers.
  4. Select the server to be monitored from the Application Server list.
  5. In the Configuration tab, Click 'Performance Monitoring Service' link in the Additional Properties list.
  6. Click the Start Up checkbox and select the Initial specification level as Standard or Custom.
  7. Click the Apply button and save the changes.
  8. Restart the WebSphere server.

To monitor WebSphere version the necessary WebSphere libraries must be available to AppPerfect Agentless Monitor. To provide the libraries you can either provide the WebSphere's HOME path or you can also copy all of the files mentioned below on the local machine where the AppPerfect Agentless Monitor has been installed and just provide the local folder where the files are copied as the WebSphere Home. The structure of the folder should be similar to what is present in the WebShpere server. All the jar files present in all its sub-directories are added to monitor's classpath expect from a few folders mentioned below:

_uninst, bin, cloudscape, classes, config, deploytool, etc, firststeps, installableApps, installedApps, lafiles, logs, properties, prt, samples, temp, tranlog, universalDriver, web, wstemp

For the IBM Websphere , AppPerfect Agentless Monitor uses the Websphere JMX interface so the port number used to communicate with the application server is the SOAP port number. The default SOAP port number is 8880.

Note : The above settings are necessary for configuring the setting for Performance Monitoring Infrastructure (PMI)

Tomcat 5.0.x

Apache Tomcat is a free, open source application server developed under the Jakarta project at the Apache Software Foundation. The AppPerfect Monitor Java/J2EE monitor for Apache Tomcat monitors attributes like Heap, Sockets, JSP/Servlets, JDBC connection, JMS and JTA.

Notes on configuring the monitors:

Tomcat 5.0.9

Make sure:

Steps to follow:

Tomcat 5.0.10 and above

Make sure:

Steps to follow:

Tomcat v5.5.x to v8.x

Apache Tomcat is a free, open source application server developed under the Jakarta project at the Apache Software Foundation. The AppPerfect Monitor Java/J2EE monitor for Apache Tomcat monitors attributes like Heap, Sockets, JSP/Servlets, JDBC connection, JMS and JTA.

Notes on configuring the monitors:

Tomcat 5.5.0 and above

Make sure:

Steps to follow:

Jetty v6.x to v9.x

The AppPerfect Monitor Java/J2EE monitor for Jetty application server monitors attributes like Heap, Sockets, EJBs, JSP/Servlets, JDBC connection, JMS and JTA. You will need to provide a user name, password and the information about the HOME directory of the Jetty Server and path of JMX libraries to use.

Jetty 6.x / 7.x

Steps : Steps to configure Jetty server for Monitoring

Note : AppPerfect needs to load few jar files from the Jetty server hence its very important that correct Jetty HOME directory is provided. In case Jetty is running on remote machine then you should create a folder on local machine (on which monitor is running) and should copy all the jars on local machine maintaining the folder structure.

Jetty HOME should contain folders like,
%JETTY_HOME%/bin
%JETTY_HOME%/etc
%JETTY_HOME%/modules
%JETTY_HOME%/domains
%JETTY_HOME%/webapps

Jetty 8.x /9.x

Steps : Steps to configure Jetty server for Monitoring

Oracle Application Server 10.1.x

The AppPerfect Monitor Java/J2EE monitor for Oracle application server monitors attributes like Heap, Sockets, EJBs, JSP/Servlets, JDBC connection, JMS and JTA. You will need to provide a user name, password and the information about the HOME directory of the Oracle Application Server and path of JMX libraries to use.

Steps : Steps to configure Oracle application server for Monitoring

Note : AppPerfect needs to load few jar files from the Jetty server hence its very important that correct Oracle HOME directory is provided. In case Oracle is running on remote machine then you should create a folder on local machine (on which monitor is running) and should copy all the jars on local machine maintaining the folder structure.

Oracle HOME should contain folders like,
%ORACLE_HOME%/ant
%ORACLE_HOME%/bin
%ORACLE_HOME%/diagnostics
%ORACLE_HOME%/j2ee
%ORACLE_HOME%/javacache
%ORACLE_HOME%/javavm
%ORACLE_HOME%/jdbc
%ORACLE_HOME%/jlib
%ORACLE_HOME%/lib
%ORACLE_HOME%/opmn
%ORACLE_HOME%/rdbms
%ORACLE_HOME%/sqlj
%ORACLE_HOME%/toplink
%ORACLE_HOME%/webservices
%ORACLE_HOME%/xqs