Installation WebSphere

Install on WebSphere

  • WebSphere Version 8.5.5.7
  • Start the WebSphere server using the Windows/Linux start menu or using the command line: For example
    Windows: c:\WebSphere61\AppServer\bin\startserver server1
    Linux:<WebSphere-Home>/AppServer/bin/startServer.sh server1
  • Open the Administrative Console through the graphical user interface or use the URL http://localhost:9045/ibm/console (when accessing the server remotely, specify the machine´s hostname rather than of localhost; the given port is the default for the first profile, at installation it is specified by WC_adminhost_secure).
  • Enter your user ID and Password
  • Navigate to: Servers -> Server Types -> WebSphere application servers -> server1 -> Java and Process Management -> Process definition -> Java Virtual Machine
  • In the text field Generic JVM arguments add: 
    Windows: -Xbootclasspath/p:C:\inspectit\agent\inspectit-agent.jar -javaagent:C:\inspectit\agent\inspectit-agent.jar -Dinspectit.repository=[REPOSIOTRY_IP]:[REPOSITORY_PORT] -Dinspectit.agent.name=[AGENT_DISPLAY_NAME]
    Linux:-Xbootclasspath/p:<PATH_TO_INSPECTIT>/inspectit-agent.jar -javaagent:<PATH_TO_INSPECTIT>/inspectit-agent.jar -Dinspectit.repository=[REPOSIOTRY_IP]:[REPOSITORY_PORT] -Dinspectit.agent.name=[AGENT_DISPLAY_NAME]
  • Apply the changes, save the configuration, and restart the server

Configure Java 2 Security

To use the inspectit-agent.jar file inside your WebSphere environment, the jar file must be given appropriate privileges.

For an individual application server, you have to change the server.policy (<WebSphere-Home>/AppServer/profiles/<AppServer>/properties/server.policy) file:

server.policy
grant codeBase "file:<PATH_TO_INSPECTIT>/agent/inspectit-agent.jar" {
  permission java.security.AllPermission;
};

 

For all application servers,  you have to change the java.policy (<WebSphere-Home>/AppServer/java/jre/lib/security/java.policy) file:

java.policy
grant codeBase "file:<PATH_TO_INSPECTIT>/agent/inspectit-agent.jar" {
  permission java.security.AllPermission;
};
  • Restart the server

 

Creation of the Platform Sensor Info Provider for IBM virtual machine failed.

With IBM JVM 1.7.0 and WebSphere 8.5.5.7 the creation of the Platform Sensor failed. Please, see: INSPECTIT-2013 - Getting issue details... STATUS

Make sure configuration is saved

Please make sure that the server configuration is properly saved. Please make sure that you execute OK on each configuration page until you reached the Server > Application servers page. WebSphere may additionally ask to save current configuration to the global configuration after each page, so please do so.

If there are any problems with starting the WebSphere with inspectIT, please make sure that the configuration is correct.

inspectIT error output

It is most likely that if there is any error with starting WebSphere with inspectIT, the error output will be located in the /profile_name/logs/native_stderr.log. Please check this file to find out what exception was raised during the start-up.

WebSphere Application Server (WAS) is indirectly started by a batch file, which sets some environment variables and then starts a launcher. This launcher then starts WAS. So setting the environment settings for instrumentation in the batch file will instrument the launcher, which is probably not the intention.

If, by any chance, your application server does not start any more after configuring inspectIT (for example because of wrong path to agent) you can change the jvm arguments in server.xml. (Located in %profileHome%/config\cells%cellName%\nodes%nodeName%\servers%serverName%). Another easy way of restoring your server configuration is to do a backupConfig before configuring and restoreConfig afterwards. (Both scripts are located in bin folder of the profile.)

using the standard agent configuration file for jdbc instrumentation with the interface=true option set for the sensors causes Websphere to throw several exceptions of the type info.novatec.inspectit.javassist.NotFoundException.

You can avoid this by not using the interface=true option and specify the jdbc classes directly:

e.g. instead of using: sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String) interface=true

use something like (depends on the implementing classes of the jdbc Interfaces): sensor jdbc-connection com.ibm.ws.rsadapter.jdbc.WSJdbcConnection prepareStatement(java.lang.String)

Do not instrument the Apache Axis Engine. This will cause a "NoClassDefFoundError" when trying to call a WebService.

Problems can occur instrumenting entity beans because of Websphere OpenJPA's byte-code enhancement. Make sure, entity beans are not instrumented.