Oracle WebLogic
These are the steps to complete the installation and initial configuration:
apmdevops106
These are the steps to complete the installation and initial configuration:
3
Configure WebLogic to Use the Java Agent
To configure Oracle WebLogic to use the Java agent, you edit the WebLogic startup script. By default, the WebLogic startup script is startWebLogic.sh or startWebLogic.cmd in the
$WEBLOGIC_HOME
/samples/domain/<domain_name>
/bin directory. Depending on your requirements, the startup script can be specific to a WebLogic domain or you can use a different startup script. For example, an application-specific startup script. You can also use a different location for the startup script.Follow these steps:
- Navigate to the directory that has the WebLogic startup script you want to modify. For example:cd $WL_HOME/samples/domain/wl_server
- Open the WebLogic startup script in a text editor. For example:vi startWebLogic.sh
- Locate the command line for setting Java options or the Java command line and add the following command-line options. For example:-javaagent:<PathToAgentJar>-DagentProfile=<PathToAgentProfile>
- Save and close the script.
Configure WebLogic with IBM J9 Virtual Machine (JVM) to Use the Java Agent
You can configure your application server on different Java Virtual Machines. When using IBM J9 JVM, consider the following guidelines:
- IBM J9 JVM with JRE 1.6.0: It is required to use theAgentNoRedefNoRetrans.jarfile instead ofAgent.jar.
- IBM J9 JVM with JRE 1.7.0 or 1.8.0: It is recommended to use theAgentNoRedefNoRetrans.jarfile instead ofAgent.jar.
AgentNoRedefNoRetrans.jar
deactivates class redefinition and retransformation to prevent possibly performance issues.Using the AgentNoRedefNoRetrans.jar file has the following limitations:
- Metrics are not reported for system classes (java.*), NIO (Sockets and Datagrams), and SSL sockets because the class redefinition and retransformation functions are deactivated.
- Instrumentation on sockets reverts to pre-Introscope 9.0.
- ManagedSocket style remote dynamic instrumentation is disabled.
- Changes to the PBD files require the instrumented JVM to be restarted before being applied.
- Deep inheritance and hierarchy support instrumentation features are disabled.
- Automatic entry point and automatic backend detection are disabled.
- If you are using the AllAppServer agent distribution with the AgentNoRedefNoRetrans.jar file, the alternate profile is named IntroscopeAgent.websphere.NoRedef.profile.
- If you have both instrumented and noninstrumented applications on the same computer, include the-Xshareclasses:nonesetting in the Generic JVM Argument. This setting avoids errors on AIX. A unique directory is required when there is more than one version of WebSphere using the same agent directory.
- If you use a non-IBM JVM or an IBM JVM version other than 1.5, not all metrics and messages are output.
Follow these steps:
- Edit the WebLogic startup script as explained above.
- Set the Java command line options as follows:-javaagent:<Path_To_AgentJar> -DagentProfile=<Path_To_AgentProfile>,where <Path_To_AgentJar> and <Path_To_AgentProfile> are the paths toAgentNoRedefNoRetrans.jarandIntroscopeAgent.NoRedef.profile, respectively. For example:-javaagent:<Agent_Home>/AgentNoRedefNoRetrans.jar -DagentProfile=<Agent_Home>/core/config/IntroscopeAgent.NoRedef.profile
- Save and close the script and restart the WebLogic application server.
Enable Cross-Process Tracing
Transaction trace sessions enable you to trace all the operations that occur in a transaction. The operations include transactions that cross JVM boundaries on computers with compatible JVM versions.
Cross-process transaction tracing is supported for synchronous transactions, such as servlets to EJBs, and asynchronous transactions.
Follow these steps:
- Add-Dweblogic.TracingEnabled=trueto the java command line for starting WebLogic Server.
- Open the IntroscopeAgent.profile in a text editor.
- Locate and set theintroscope.agent.weblogic.crossjvmproperty to true as follows:introscope.agent.weblogic.crossjvm=true
- Save and close the IntroscopeAgent.profile. Cross-process transaction tracing in WebLogic Server has been enabled.
Enable JMX Metrics
Application Performance Management (Digital Experience Insights from CA) does not support JMX metric reporting.
Introscope can collect management data that application servers or Java applications expose as JMX-compliant MBeans. The JMX metrics display in the metric browser tree.
WebLogic provides the following sources of JMX metrics:
- RuntimeServiceMBean–
- DomainRuntimeServiceMBean– provides domain-wide runtime metrics
- EditServiceMBean–
Introscope polls only RuntimeServiceMBean for metrics, and supports local access and contains data that is expected to be relevant. However, Introscope can support any MBean built to the JMX specification. For more information about the JMX specification, see the Oracle.com website.
To support the collection of JMX metrics, the following keywords are defined and enabled by default in the IntroscopeAgent.profile file for WebLogic:
- ActiveConnectionsCurrentCount
- WaitingForConnectionCurrentCount
- PendingRequestCurrentCount
- ExecuteThreadCurrentIdleCount
- OpenSessionsCurrentCount
Introscope displays the JMX metrics in the Metric Browser tree under the following node:
<Domain>|<Host>|<Process>|AgentName|JMX|
Configure WebLogic with JRockit JVM to Use the Java Agent
If you are using WebLogic with JRockit JVM, use the following command-line options to start the JVM:
JAVA_VENDOR=BeaJAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:PathToAgentJar -DagentProfile=PathToIntroscopeAgent.profile
Troubleshoot WebLogic with JRockit JVM to View Socket Metrics
Symptom:
Due to a third-party compatibility issue, you can experience a problem with viewing metrics for socket clients.
Solution:
Turn on metrics for socket clients by using the Managed Socket option.
Follow these steps:
- Open the toggles_typical.pbl or toggles_full.pbl file in a text editor.
- Turn on theManaged Socketoption to trace socket metrics. For example:######################## Network Configuration# ================#TurnOn: SocketTracing# NOTE: Only one of SocketTracing and ManagedSocketTracing should be 'on'. ManagedSocketTracing is provided to# enable pre 9.0 socket tracing. TurnOn: ManagedSocketTracingTurnOn: UDPTracing
- Save your changes.
Troubleshoot WebLogic to Fix WebAppSupport Failure
WebAppSupport is implemented as an agent extension. Starting with CA Application Performance Management 10.7, no WebAppSupport configuration is normally needed on any application server. However, unpredictable classload behavior of some application servers when using certain JVMs can cause the WebAppSupport extension to fail. In this case, you must configure a startup class or custom service manually and apply a small workaround to use the legacy WebAppSupport configuration.
Follow these steps:
- Open the WebLogic Administrative console and select theEnvironmentsfolder.
- Click theStartup & Shutdownfolder, then clickConfigure a New Startup Class.
- In theNamefield, enter:Introscope Startup Class
- In theClassNamefield, enter:com.wily.introscope.api.weblogic.IntroscopeStartupClass
- ClickCreate.The Target and Deploy tab displays.
- Select the servers where this startup class is available.
- ClickApplyand select theRunabove the Application Deployments option.
- Add the location of theWebAppSupport.jarto the <server or application server> startup classpath. The location of theWebAppSupport.jaris/wily/core/ext.
- Open the/core/config/wl100x.pbdfile in a text editor and comment out the following line:#TurnOn: webappTracing
- Restart the application server.