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. BEA WebLogic v7.x to v12.x
  3. IBM WebSphere v5.x to v8.x
  4. Tomcat 5.0.x
  5. Tomcat v5.5.x to v8.x
  6. JBoss v3.2.x to v7.x
  7. JRun 4.x
  8. SunOne 7.x / 8.x
  9. Jetty v6.x to v9.x
  10. Oracle Application Server 10.1.x

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

BEA WebLogic v7.x to v12.x

BEA is one of the world's leading application infrastructure software companies. BEA WebLogic Server is among the top application servers according to major industry analysts. The AppPerfect Monitor Java/J2EE monitor for BEA 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 BEA WebLogic Server. Default values of user name and password are weblogic.

BEA 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

BEA WebLogic v9.x to v12.x

Note : BEA 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 BEA 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 BEA Weblogic monitor.

IBM WebSphere v5.x to v8.x

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:

JBoss v3.2.x to v7.x

JBoss is a free open source, solid and scalable J2EE application server. JBoss doesn't require any special configuration. You have to only specify the version of JBoss.

Note : AppPerfect needs to load few jar files from the JBoss server hence its very important that correct JBoss HOME directory is provided. In case JBoss 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.

JRun 4.x

JRun application server interoperates with a variety of Web servers across multiple platforms. The Web-based administrative interface eases deployment and it runs on a variety of Web servers. The AppPerfect Monitor Java/J2EE monitor for JRun 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 JRun.jar to monitor a JRun application server. The Listening port is required as the JNDI property - java.naming.provider.url. The port value is specified in the jndi.properties configuration file. The jndi.properties file exists in the folder <JRun Install Folder>/servers/admin/SERVER-INF/. The default value is 2910.

SunOne 7.x / 8.x

The AppPerfect Monitor Java/J2EE monitor for SunOne 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 SunOne Server or path of SunOne installation folder to monitor SunOne Server. You also need to provide Application Server Port which is the port on which the Sun Application Server(AS) Admin Console is listening. The default port number is 4848.

Note : AppPerfect needs to load few jar files from the SunOne server hence its very important that correct SunOne HOME directory is provided. In case SunOne 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.

SunOne HOME should contain folders like,
%SUNONE_HOME%/bin
%SUNONE_HOME%/config
%SUNONE_HOME%/docs
%SUNONE_HOME%/domains
%SUNONE_HOME%/share

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