3. CA Technologies Product References
This document references the following CA Technologies products and features:
■ CA Application Performance Management (CA APM)
■ CA Application Performance Management ChangeDetector (CA APM ChangeDetector)
■ CA Application Performance Management ErrorDetector (ErrorDetector)
■ CA Application Performance Management for CA Database Performance (CA APM for CA Database Performance)
■ CA Application Performance Management for CA SiteMinder (CA APM for CA SiteMinder)
■ CA Application Performance Management for CA SiteMinder Web Access Manager (CA APM for CA SiteMinder Web Access Manager)
■ CA Application Performance Management for CA SYSVIEW® (CA APM for CA SYSVIEW)
■ CA Application Performance Management for IBM CICS Transaction Gateway (CA APM for IBM CICS Transaction Gateway)
■ CA Application Performance Management for IBM WebSphere Application Server (CA APM for IBM WebSphere Application Server)
■ CA Application Performance Management for IBM WebSphere Distributed Environments (CA APM for IBM WebSphere Distributed Environments)
■ CA Application Performance Management for IBM WebSphere MQ (CA APM for IBM WebSphere MQ)
■ CA Application Performance Management for IBM WebSphere Portal (CA APM for IBM WebSphere Portal)
■ CA Application Performance Management for IBM WebSphere Process Server (CA APM for IBM WebSphere Process Server)
■ CA Application Performance Management for IBM z/OS® (CA APM for IBM z/OS)
■ CA Application Performance Management for Microsoft SharePoint (CA APM for Microsoft SharePoint)
■ CA Application Performance Management for Oracle Databases (CA APM for Oracle Databases)
■ CA Application Performance Management for Oracle Service Bus (CA APM for Oracle Service Bus)
■ CA Application Performance Management for Oracle WebLogic Portal (CA APM for Oracle WebLogic Portal)
4. ■ CA Application Performance Management for Oracle WebLogic Server (CA APM for Oracle WebLogic Server)
■ CA Application Performance Management for SOA (CA APM for SOA)
■ CA Application Performance Management for TIBCO BusinessWorks (CA APM for TIBCO BusinessWorks)
■ CA Application Performance Management for TIBCO Enterprise Message Service (CA APM for TIBCO Enterprise Message Service)
■ CA Application Performance Management for Web Servers (CA APM for Web Servers)
■ CA Application Performance Management for webMethods Broker (CA APM for webMethods Broker)
■ CA Application Performance Management for webMethods Integration Server (CA APM for webMethods Integration Server)
■ CA Application Performance Management Integration for CA CMDB (CA APM Integration for CA CMDB)
■ CA Application Performance Management Integration for CA NSM (CA APM Integration for CA NSM)
■ CA Application Performance Management LeakHunter (CA APM LeakHunter)
■ CA Application Performance Management Transaction Generator (CA APM TG)
■ CA Customer Experience Manager (CA CEM)
■ CA Embedded Entitlements Manager (CA EEM)
■ CA eHealth® Performance Manager (CA eHealth)
■ CA Insight™ Database Performance Monitor for DB2 for z/OS
■ CA Introscope® (CA Introscope)
■ CA SiteMinder®
■ CA Spectrum® Infrastructure Manager (CA Spectrum)
■ CA SYSVIEW® Performance Management (CA SYSVIEW)
5. Contact CA Technologies
Contact CA Support
For your convenience, CA Technologies provides one site where you can access the information you need for your Home Office, Small Business, and Enterprise CA Technologies products. At http://ca.com/support, you can access the following:
■ Online and telephone contact information for technical assistance and customer services
■ Information about user communities and forums
■ Product and documentation downloads
■ CA Support policies and guidelines
■ Other helpful resources appropriate for your product
Providing Feedback About Product Documentation
If you have comments or questions about CA Technologies product documentation, you can send a message to techpubs@ca.com.
If you would like to provide feedback about CA Technologies product documentation, complete our short customer survey, which is available on the CA Support website at http://ca.com/docs.
6. Product Documentation
CA APM documentation includes information for CA APM, CA Introscope, CA CEM, and CA APM extensions and integrations.
You can view and search all the titles in the CA APM documentation set from the CA APM bookshelf on the CA Support Online (CSO) website.
The following list shows the documentation specific to CA APM.
■ CA APM Release Notes — Release summary information for CA APM.
Note: In previous releases, this document was titled CA APM ReadMe.
■ CA APM Readme — Important last-minute release information for CA APM; available on the CA APM software download site or CA Support site.
Note: In previous releases, this document was titled CA APM Known Issues.
■ CA APM Installation and Upgrade Guide — Installation requirements; installing CA APM, including installing CA Introscope, Enterprise Manager, APM database, Workstation, WebView, CA CEM, TIM; upgrading from previous releases.
■ CA APM Overview Guide — A broad overview of CA APM components and architecture. Explains terms and concepts used in a CA APM deployment.
■ CA APM Configuration and Administration Guide — Combines configuration and administration information for CA Introscope and for CA CEM. CA Introscope and CA CEM properties are documented in the appendix.
■ CA APM Security Guide — Choosing and configuring CA APM, CA Introscope, and CA CEM security solutions. Includes information about Embedded Entitlements Manager.
■ CA APM Sizing and Performance Guide — Sizing, tuning, and capacity planning for your CA APM deployment and components.
■ CA APM Transaction Definition Guide — Transaction definition processes and procedures for CA APM; describes the necessary steps to record, define, and verify customer transactions.
The following list shows the documentation specific to CA Introscope. CA APM documentation is also pertinent for CA Introscope.
■ CA APM Java Agent Implementation Guide — Installation, configuration, and use of the CA APM Java Agent.
■ CA APM .NET Agent Implementation Guide — Installation, configuration, and use of the CA APM .NET Agent.
7. ■ CA APM Environment Performance Agent Implementation Guide — Implementing Environment Performance Agent (EPAgent) with CA Introscope to monitor system information, including process availability, disk statistics, web application server and web server logs, Solaris KStat and HTTP service availability. The guide provides instructions for installing, configuring, and using EPAgent.
■ CA APM Workstation User Guide — Using CA Introscope dashboards, Investigator tree and application triage map, Transaction Tracer, and reporting. Includes CA Introscope metrics overview and descriptions.
■ CA APM WebView User Guide — Using WebView to view CA Introscope data in dashboards and the Investigator.
■ CA APM ChangeDetector User Guide — Using CA APM ChangeDetector to monitor and report changes in application files and configuration.
■ CA APM Transaction Generator Implementation Guide — Using the CA APM Transaction Generator (CA APM TG) to monitor the availability, health, and performance of web sites and web services from the perspective of a user attempting to access web sites. How to use the CA APM TG Agent to generate synthetic transactions that you can monitor using CA APM.
The following list shows the documentation specific to extensions and integrations.
■ CA APM API Reference Guide — Contains data and components managed within CA APM that is exposed to consumers with an application programming interface (API).
■ CA APM Catalyst Connector Guide — Installing and using the Catalyst Connector for CA APM.
■ CA APM for CA SiteMinder SNMP Collector Guide — Installing and configuring CA APM for CA SiteMinder SNMP Collector. Understanding the associated metrics.
■ CA APM for CA SiteMinder Web Access Manager Guide — Installing, configuring, and using CA APM for CA SiteMinder Web Access Manager.
■ CA APM for IBM CICS Transaction Gateway Guide — Installing, configuring, and using CA APM for IBM CICS Transaction Gateway.
■ CA APM for IBM WebSphere Application Server for Distributed Environments Guide — Installing, configuring, and using CA APM for IBM WebSphere Distributed Environments.
■ CA APM for IBM WebSphere Application Server for z/OS Guide — Installing, configuring, and using CA APM for IBM WebSphere for z/OS.
■ CA APM for IBM WebSphere MQ Guide — Using CA Introscope to view metrics from IBM WebSphere MQ.
■ CA APM for IBM WebSphere Portal Guide — Installing, configuring, and using CA APM for IBM WebSphere Portal.
■ CA APM for IBM z/OS Guide — Installing, configuring, and using CA APM for IBM z/OS.
8. ■ CA APM for Microsoft SharePoint Guide — Installing and configuring CA APM for Microsoft SharePoint to monitor your SharePoint components during development, QA, staging, and production.
■ CA APM for Oracle Databases Guide — Installing, configuring, and using CA APM for Oracle Databases.
■ CA APM for Oracle WebLogic Portal Guide — Installing, configuring, and using CA APM for Oracle WebLogic Portal.
■ CA APM for Oracle WebLogic Server Guide — Installing, configuring, and using CA APM for Oracle WebLogic Server.
■ CA APM for SOA Implementation Guide — Installation and configuration information for using CA APM for SOA and SOA platform extensions with CA Introscope.
■ CA APM for Web Servers Guide — Installing, configuring, and using CA APM for Web Servers.
■ CA APM Integration for CA CMDB Guide — Installing, configuring, and using CA APM for CA CMDB.
■ CA APM Integration for CA Infrastructure Management Guide — Installing, configuring, and using CA APM for CA Infrastructure Management.
■ CA APM Integration for CA NSM Guide — Installing, configuring, and using CA APM for CA NSM.
■ CA Cross-Enterprise Application Performance Management Integration Guide — Installing, configuring, and using the SYSVIEW Agent extension, which allows you to manage application performance of distributed applications accessing mainframe back ends and trace transactions from distributed applications to mainframe CICS transactions. Allows you to monitor the health metrics of critical mainframe components.
■ CA Introscope SAP NetWeaver Conversion Guide — Using CA APM for SAP NetWeaver.
■ CA Introscope WebView User Guide for SAP — This guide is for SAP WebView users.
Note: In some product documentation, screenshots contain a logo or other reference to ‘Wily’, which CA Technologies has replaced with ‘APM.’ Ignore ‘Wily’ logos, as they have been removed in the current APM Workstation. References to ‘Wily’ in diagrams refer to CA Introscope.
9. Documentation Changes
The following documentation updates have been made since the last release of this documentation:
■ Java agent enhancements
– The Java agent architecture has been modified to provide more efficient correlation of traces in cross-process transactions.
– The Java agent directory structure (see page 38) has been modified to enable easier upgrades.
– Administrators can remotely issue commands from the Java agent to generate thread dumps (see page 67) as needed, directly from the Workstation user interface.
– The GC Monitor (see page 245) reports detailed information about Garbage Collectors and Memory Pools to detect memory-related issues that could adversely affect performance.
■ Java agent properties
New properties:
– introscope.agent.threaddump.enable
– introscope.agent.threaddump.deadlockpoller.enable
– introscope.agent.threaddump.deadlockpollerinterval
– introscope.agent.threaddump.MaxStackElements
– introscope.agent.primary.net.interface.name
Changed properties:
– introscope.agent.enterprisemanager.failbackRetryIntervalInSeconds—This property can now specify the number of seconds between attempts by the Java agent to reconnect to:
■ the primary Enterprise Manager based on the Java agent profile introscope.agent.enterprisemanager.connectionorder property value.
■ any Enterprise Manager based on the loadbalancing.xml configuration.
■ Documentation changes
– CA APM product names have been updated to reflect the current naming conventions.
10. – This guide is renamed from the Introscope Java Agent Guide to the CA APM Java Agent Implementation Guide.
– Virtual agents are not agents; they are conglomerations of agent metrics, therefore Enterprise Manager-related entities. Information about configuring and using virtual agents has been moved to the CA APM Configuration and Administration Guide.
11. Understanding Directory and File Name Conventions
This guide uses the following conventions in file names and directory paths:
Convention
Refers to
<Agent_Home>
The top-level directory where the CA Introscope agent is installed. This directory is typically named wily.
<APM_Db_Home>
The top-level directory where the APM database is installed, when referring to Database-only installations.
<AppServer_Home>
The top-level directory where your application server is installed. This directory is often the same as <Agent_Home>.
<EM_Home>
The top-level directory where the Enterprise Manager is installed.
<ProductName_Home>
The installation directory of a third-party product or type of application. For example, it is the installation directory of the application server if you are using WebLogic.
<version>
Version-specific identifier included in file names or displayed in the user interface.
For example, the following file name:
com.wily.introscope.soa.dependencymap_<version>.jar
represents a version-specific file name, such as:
com.wily.introscope.soa.dependencymap_9.1.0.jar
<File_Name><VersionNumber><Operating System or other identifier>.FileType
A file name that includes specific identifying information.
For example, if you extract files from a tar package for CA APM ChangeDetector 9.1.0.0 on a UNIX operating system, then download this file:
ChangeDetector9.1.0.0unix.tar
But, view it in this guide as follows:
ChangeDetector<VersionNumber>.unix.tar
12. Convention
Refers to
Forward slash (/) path separators
The path separator used in directory names on your operating environment.
The forward slash (/) is used on UNIX platforms and in examples throughout this guide, but use the separator appropriate for your operating system.
Dollar sign ($) environment variables
The environment variable notation used on your operating system.
The dollar sign ($) is used in UNIX environments and in examples throughout this guide, but you use the character appropriate to your environment.
13. Contents 13
Contents
Chapter 1: Introduction to the Java Agent 25
About Introscope and Java Agents ............................................................................................................................. 25
Planning a Java Agent Deployment ............................................................................................................................ 26
Install and Evaluate the Default Functionality .................................................................................................... 26
Determine Configuration Requirements ............................................................................................................. 27
Define a Baseline Agent Profile with Appropriate Configuration Properties ...................................................... 27
Evaluate Agent Performance Overhead .............................................................................................................. 28
Validate and Deploy the Agent Configuration .................................................................................................... 28
Deploying the Java Agent ........................................................................................................................................... 28
Chapter 2: Installing and Configuring the Java Agent 29
View the Product Compatibility Guide ....................................................................................................................... 29
Before You Install the Agent ...................................................................................................................................... 30
Select the method for installing the Java agent ......................................................................................................... 30
Install the Java Agent Interactively ..................................................................................................................... 31
Install the Java Agent Silently .............................................................................................................................. 33
Install Manually Using Installation Archives........................................................................................................ 37
About the Java Agent Directory Structure ................................................................................................................. 38
How to instrument applications ................................................................................................................................. 39
Configuring the Application Server to Start the Java Agent ....................................................................................... 40
Configure Apache Tomcat to use the Java agent ................................................................................................ 40
Configure JBoss to use the Java agent ................................................................................................................ 41
Configure Oracle WebLogic to use the Java agent .............................................................................................. 42
Configure WebLogic with JRockit JVM to Use the Java Agent ............................................................................ 46
Configure WebLogic with JRocket JVM to View Socket Metrics ......................................................................... 47
Configure IBM WebSphere to use the Java agent............................................................................................... 47
Configure Oracle Application Server to use the Java agent ................................................................................ 55
Configure GlassFish 2.1 to use the Java agent .................................................................................................... 56
Configure SAP Netweaver 7.1 to use the Java agent .......................................................................................... 56
Configuring the connection to the Enterprise Manager ............................................................................................ 57
Connect to the Enterprise Manager Using a Direct Socket Connection ............................................................. 57
Connect to the Enterprise Manager with HTTP tunneling .................................................................................. 58
Configure a proxy server for HTTP tunneling ...................................................................................................... 59
Connect to the Enterprise Manager with HTTPS tunneling ................................................................................ 59
Connect to the Enterprise Manager over SSL ..................................................................................................... 60
Configure Agent Load Balancing ......................................................................................................................... 61
14. 14 Java Agent Implementation Guide
Upgrading multiple agent types ................................................................................................................................. 61
Uninstalling the Java agent ........................................................................................................................................ 62
Uninstalling the Java agent from z/OS ................................................................................................................ 63
Chapter 3: Configuring Agent Properties 65
How to modify communication with Enterprise Manager ......................................................................................... 65
How to configure backup Enterprise Managers and failover properties ................................................................... 65
How to enable and use additional GC metrics ........................................................................................................... 67
How to enable and configure thread dumps ............................................................................................................. 67
Chapter 4: AutoProbe and ProbeBuilding Options 71
AutoProbe and ProbeBuilding overview .................................................................................................................... 71
Unsupported instrumentation methods ............................................................................................................. 72
Configuring ProbeBuilding ......................................................................................................................................... 72
Full or typical tracing options .............................................................................................................................. 72
Dynamic ProbeBuilding ....................................................................................................................................... 73
Dynamic ProbeBuilding vs. dynamic instrumentation ........................................................................................ 75
ProbeBuilding class hierarchies (JVM 1.5) .......................................................................................................... 76
Removing line numbers in bytecode ................................................................................................................... 79
Chapter 5: ProbeBuilder Directives 81
ProbeBuilder Directives Overview ............................................................................................................................. 81
Components traced by the default PBDs ............................................................................................................ 82
Default PBD Files ................................................................................................................................................. 83
Default PBD Files From Previous Releases .......................................................................................................... 86
Default PBL files .................................................................................................................................................. 86
Default tracer groups and toggles files ............................................................................................................... 86
Turning tracer groups on or off ........................................................................................................................... 95
Adding classes to a tracer group ......................................................................................................................... 96
EJB naming .......................................................................................................................................................... 98
Using the IntroscopeAgent.profile, PBLs, and PBDs together .................................................................................... 99
Applying ProbeBuilder Directives ............................................................................................................................... 99
Using JVM AutoProbe ....................................................................................................................................... 100
Using the ProbeBuilder Wizard or command-line ProbeBuilder ...................................................................... 100
Instrumenting with new and changed PBDs ..................................................................................................... 100
Creating custom tracers ........................................................................................................................................... 102
Using a custom BlamePointTracer tracer for common metrics ........................................................................ 102
Directive names and arguments used in tracer syntax ..................................................................................... 103
Commonly used tracer names and examples ................................................................................................... 105
Advanced single-metric tracers......................................................................................................................... 107
15. Contents 15
Skip directives ................................................................................................................................................... 110
Counting object instances ................................................................................................................................. 110
Turning on InstrumentPoint directives ............................................................................................................. 111
Combining custom tracers ................................................................................................................................ 111
Instrumenting and inheritance ......................................................................................................................... 111
Java 1.5 annotations ......................................................................................................................................... 112
Using Blame Tracers to mark blame points.............................................................................................................. 113
Blame Tracers .................................................................................................................................................... 113
High agent CPU overhead from deep nested frontend transactions ................................................................ 114
Custom FrontendMarker directive.................................................................................................................... 114
Blame Tracers in standard PBDs ....................................................................................................................... 115
Boundary Blame and Oracle backends ............................................................................................................. 115
Chapter 6: Java Agent Naming 117
Understanding the Java Agent name ....................................................................................................................... 117
How the agent determines its name ................................................................................................................. 118
How Introscope resolves agent naming conflicts ............................................................................................. 119
Agent naming considerations for clustered applications ......................................................................................... 120
Specifying an agent name using a Java system property ......................................................................................... 120
Specifying an agent name using a system property key .......................................................................................... 121
Obtaining an agent name from the application server ............................................................................................ 121
Application servers that support agent naming ................................................................................................ 121
Automatic agent naming .......................................................................................................................................... 122
Automatic agent naming and renamed agents ................................................................................................. 123
Advanced automatic agent naming options ..................................................................................................... 123
Enabling cloned agent naming in clustered environments ...................................................................................... 124
Cloned agent naming scenario .......................................................................................................................... 125
Configuring unique names for application instances ........................................................................................ 125
Application triage map and the agent name ............................................................................................................ 125
Chapter 7: Java Agent Monitoring and Logging 127
Configuring agent connection metrics ..................................................................................................................... 127
Socket metrics .......................................................................................................................................................... 128
Restricting socket and SSL metric collection ..................................................................................................... 128
Fine-tuning socket and SSL metric collection .................................................................................................... 129
SSL, NIO, and socket tracing in the application triage map .............................................................................. 129
Turning off socket and SSL metric collection .................................................................................................... 130
Backwards compatibility ................................................................................................................................... 131
Configuring logging options ..................................................................................................................................... 131
Running the agent in verbose mode ................................................................................................................. 132
Redirecting agent output to a file ..................................................................................................................... 132
16. 16 Java Agent Implementation Guide
Changing the name or location of the agent logfile .......................................................................................... 133
Agent log files and automatic agent naming .................................................................................................... 133
Rolling up logs by date or size ........................................................................................................................... 134
Managing ProbeBuilder Logs ................................................................................................................................... 135
Command-line ProbeBuilder and ProbeBuilder Wizard log name and location ............................................... 135
AutoProbe log name and location .................................................................................................................... 136
Chapter 8: Configuring LeakHunter and ErrorDetector 137
LeakHunter ............................................................................................................................................................... 137
How LeakHunter works ..................................................................................................................................... 138
What LeakHunter tracks in Java ........................................................................................................................ 138
What LeakHunter does not track ...................................................................................................................... 139
System and version requirements .................................................................................................................... 139
Enabling and disabling LeakHunter .......................................................................................................................... 140
Configuring LeakHunter properties .......................................................................................................................... 140
Ignoring collections that cause poor performance ........................................................................................... 142
Running LeakHunter ................................................................................................................................................. 143
Identifying potential leaks with collection IDs ......................................................................................................... 143
LeakHunter log file ................................................................................................................................................... 144
Potential leak first identified log entry ............................................................................................................. 144
Identified potential leak stops leaking log entry ............................................................................................... 145
Identified potential leak is leaking again log entry ........................................................................................... 146
LeakHunter timeout log entry ........................................................................................................................... 146
Using LeakHunter ..................................................................................................................................................... 146
ErrorDetector ........................................................................................................................................................... 147
Types of errors .................................................................................................................................................. 147
How ErrorDetector works ................................................................................................................................. 148
Enabling ErrorDetector in the Java Agent ................................................................................................................ 148
Configuring ErrorDetector options ........................................................................................................................... 149
Advanced error data capture ................................................................................................................................... 150
Defining new error types.......................................................................................................................................... 150
ExceptionErrorReporter .................................................................................................................................... 150
MethodCalledErrorReporter ............................................................................................................................. 151
ThisErrorReporter ............................................................................................................................................. 151
HTTPErrorCodeReporter ................................................................................................................................... 152
Using error tracer directives with caution ........................................................................................................ 152
Using ErrorDetector ................................................................................................................................................. 152
Chapter 9: Configuring Boundary Blame 153
Understanding Boundary Blame .............................................................................................................................. 153
Using URL groups ..................................................................................................................................................... 153
17. Contents 17
Defining keys for URL groups ............................................................................................................................ 154
Defining membership of each URL group ......................................................................................................... 154
Define the name for a URL group ..................................................................................................................... 155
Advanced naming techniques for URL groups (optional) ................................................................................. 155
Running the URLGrouper .................................................................................................................................. 159
Using Blame tracers ................................................................................................................................................. 159
Chapter 10: Configuring Transaction Trace Options 161
Controlling automatic Transaction Tracing behavior ............................................................................................... 161
Transaction Trace component clamp ................................................................................................................ 161
Transaction trace sampling ............................................................................................................................... 162
Agent heap sizing .............................................................................................................................................. 162
Configuring cross-process Transaction Tracing ........................................................................................................ 163
Extending transaction trace data collection ............................................................................................................. 163
About User ID data ............................................................................................................................................ 163
About servlet request data ............................................................................................................................... 164
Configuring Agent to collect additional transaction trace data ........................................................................ 164
Disabling the capture of stalls as Events .................................................................................................................. 166
Chapter 11: Configuring the Introscope SQL Agent 167
The SQL Agent overview .......................................................................................................................................... 167
The SQL Agent files ................................................................................................................................................... 168
SQL statement normalization ................................................................................................................................... 168
How poorly written SQL statements create metric explosions......................................................................... 168
SQL statement normalization options .............................................................................................................. 170
Turn Off Statement Metrics ..................................................................................................................................... 176
SQL metrics............................................................................................................................................................... 176
Chapter 12: Enabling JMX Reporting 179
Java Agent JMX support ........................................................................................................................................... 179
Introscope support for WebLogic 9.0 JMX metrics ........................................................................................... 180
Default JMX metric conversion process ................................................................................................................... 180
Using primary key conversion to streamline JMX metrics ....................................................................................... 181
Managing metric volume with JMX filters ............................................................................................................... 182
JMX filters for WebLogic ................................................................................................................................... 182
Configuring JMX reporting ....................................................................................................................................... 183
Enabling JSR-77 data for WAS 6.x ............................................................................................................................. 184
23. Contents 23
WebSphere PMI ....................................................................................................................................................... 301
introscope.agent.pmi.enable ............................................................................................................................ 302
introscope.agent.pmi.enable.alarmManager ................................................................................................... 302
introscope.agent.pmi.enable.bean ................................................................................................................... 303
introscope.agent.pmi.enable.cache .................................................................................................................. 303
introscope.agent.pmi.enable.connectionPool .................................................................................................. 304
introscope.agent.pmi.enable.hamanager ......................................................................................................... 304
introscope.agent.pmi.enable.j2c ...................................................................................................................... 305
introscope.agent.pmi.enable.jvmpi .................................................................................................................. 305
introscope.agent.pmi.enable.jvmRuntime ....................................................................................................... 306
introscope.agent.pmi.enable.objectPool .......................................................................................................... 306
introscope.agent.pmi.enable.orbPerf ............................................................................................................... 307
introscope.agent.pmi.enable.scheduler ........................................................................................................... 307
introscope.agent.pmi.enable.servletSessions................................................................................................... 308
introscope.agent.pmi.enable.system ................................................................................................................ 308
introscope.agent.pmi.enable.threadPool ......................................................................................................... 309
introscope.agent.pmi.enable.transaction ......................................................................................................... 309
introscope.agent.pmi.enable.webApp .............................................................................................................. 310
introscope.agent.pmi.enable.webServices ....................................................................................................... 310
introscope.agent.pmi.enable.wlm .................................................................................................................... 311
introscope.agent.pmi.enable.wsgw .................................................................................................................. 311
introscope.agent.pmi.filter.objref .................................................................................................................... 312
WLDF metrics ........................................................................................................................................................... 312
introscope.agent.wldf.enable ........................................................................................................................... 313
Appendix B: Alternative Methods for Instrumentation 315
Deploying the Java Agent on other application servers ........................................................................................... 315
Configuring Sun ONE 7.0 .......................................................................................................................................... 316
Configuring Oracle 10g 10.0.3 .................................................................................................................................. 317
Configuring WebLogic Server ................................................................................................................................... 318
Configuring HTTP servlet tracing .............................................................................................................................. 318
Creating an AutoProbe connector file ...................................................................................................................... 319
Running the AutoProbe Connector for a JVM ................................................................................................... 319
About running ProbeBuilder manually ..................................................................................................................... 322
AutoProbe for WebSphere 6.1 and 7.0 for z/OS ...................................................................................................... 322
Appendix C: Using the PBD Generator 325
About the CA PBD Generator ................................................................................................................................... 325
Configuring the PBD Generator ................................................................................................................................ 326
Required PBD Generator parameters ............................................................................................................... 326
Using the PBD Generator ......................................................................................................................................... 326
24. 24 Java Agent Implementation Guide
Appendix D: Using the Network Interface Utility 329
Determine Network Interface Names ...................................................................................................................... 329
Index 331
25. Chapter 1: Introduction to the Java Agent 25
Chapter 1: Introduction to the Java Agent
This section contains the following topics:
About Introscope and Java Agents (see page 25)
Planning a Java Agent Deployment (see page 26)
Deploying the Java Agent (see page 28)
About Introscope and Java Agents
CA Introscope is an enterprise application performance management solution that enables you to monitor complex web applications in production environments 24x7, detect problems before they affect your customers, and resolve these issues quickly and collaboratively. A key part of the architecture for this solution is the low overhead agent.
The agent is a data gathering component of Introscope that collects detailed performance information about applications and the computing environment as transactions are executed. The Java agent collects this information from applications and resources running on Java Virtual Machines (JVMs) and sends the information to the Enterprise Manager for further processing.
The Java agent inserts probes into the bytecode of the components that make up the JVM that the application uses. Inserting the probes into the bytecode is part of the instrumentation process that enables the monitoring of your applications.
Instrumenting an application also requires tracers that are defined in ProbeBuilder Directive (PBD) files. The instructions or directives in PBD files identify the application components to monitor. The tracers identify the metrics the agent should collect from which probes as the application runs in the JVM. You can control what is monitored by changing the PBD files to suit your environment.
When you install the Java agent, several default PBD files are deployed to enable default monitoring of your environment. You can modify the default monitoring to achieve the balance of visibility and performance that you require. After the application is instrumented, the Java agent collects the data you are interested in and reports the data to the Enterprise Manager. The Enterprise Manager then processes and stores the data for real-time and historical reporting. You can then view and work with the collected data using the Introscope Workstation to create alerts or take responsive action.
26. Planning a Java Agent Deployment
26 Java Agent Implementation Guide
For application management, the key activities are:
■ Deploy agents to monitor the performance and availability of application servers.
■ Test, adjust, and optimize monitoring of application components.
■ Customize the agent profile to control agent operations as needed.
■ Create application- or agent-specific metric groupings, dashboards, alerts, and actions
■ Investigate, triage, and diagnose application issues.
Planning a Java Agent Deployment
When planning a deployment, your goal is to develop the right balance between agent overhead and the visibility of application performance. Low overhead agents allow for real-time monitoring of all transactions in production environments. Keeping overhead low helps performance and availability of critical applications and server resources. However, keeping overhead low does not provide enough information to diagnose problems when they occur. Therefore, it is common to deploy and adjust the agent configuration throughout the lifecycle of an application. In addition, monitoring more components when an application is being developed or tested, then reducing the components after an application is released to production.
Install and Evaluate the Default Functionality
The first step in deploying agents involves installing and evaluating the default agent configuration. The default agent configuration demonstrates data collection for many common components of the application and the computing environment. The default agent configuration also includes several features enabled and other, less frequently used features, disabled.
Your goal is to evaluate the depth and breadth of data collection provided by default and become familiar with Introscope and how to monitor applications. After you are familiar with the performance metrics the agent provides by default, you can customize the agent to collect data, as needed.
As you evaluate the default performance, keep in mind that when the agent collects more metrics, it consumes more system resources. If the agent collects fewer metrics, you have less visibility into potential problems. As you refine the agent configuration, try to strike a balance between the depth of data collection and an acceptable level of performance. The appropriate level of instrumentation typically depends on where the agent is deployed. For example, an agent monitoring within a test environment is typically configured to collect large numbers of metrics. An agent on a production server, however, is typically configured to deliver essential information.
27. Planning a Java Agent Deployment
Chapter 1: Introduction to the Java Agent 27
Determine Configuration Requirements
Before you deploy the agent, determine your data collection requirements. This information lets you tailor the data collection behaviors of the agent, and evaluate the impact on overhead through alternative configurations of the agent.
Introscope can be used throughout the lifecycle of an application. For example, from development through testing, load verification, staging, and into production. At each stage in the lifecycle, the monitoring goals, environmental constraints, and service level expectations are likely to be different. To address these differences, you configure the agent to behave differently for the type of environment that is monitored.
Your goal is to determine the appropriate trade-off between the visibility of performance details and resource overhead. Also consider the optimum level of visibility at a reasonable cost for the environment being monitored.
In preproduction application environments, such as development, you typically configure a higher level of data collection to provide deeper visibility into the application performance. In production or high-volume transaction environments, you typically reduce the metrics reported to control agent overhead. Depending on your requirements, you can also configure agent properties to control specific agent behavior. For example, track the maximum number of metrics collected and the removal of old metrics.
For your environment, determine the appropriate level of visibility and acceptable performance overhead, so you can configure the agent to match your requirements.
Define a Baseline Agent Profile with Appropriate Configuration Properties
After you identify the type of application environment to monitor, you can create a "candidate" agent configuration. Most agent operations are controlled using properties in the agent profile (IntroscopeAgent.profile). For example, the IntroscopeAgent.profile file defines ProbeBuilder Directive and ProbeBuilder List files the agent uses. The files listed in the agent profile then control the specific metrics that the agent gathers. The IntroscopeAgent.profile file also provides properties that enable or disable specific features or tune operations such as polling intervals.
Depending on your configuration and environment, you can adjust the properties in the agent profile to evaluate the impact of each change. For example, you can start with a default agent profile that does not have ChangeDetector enabled. Later, you can enable ChangeDetector properties in the profile and evaluate agent performance after the change before adding any other features.
28. Deploying the Java Agent
28 Java Agent Implementation Guide
Evaluate Agent Performance Overhead
When evaluating an agent configuration, verify that the metrics collected provide sufficient visibility into application performance and availability. In addition, verify that the volume of metrics cannot impose an unacceptable load on the operating environment. The agent cannot report more metrics than are necessary to identify and localize performance and availability problems.
You can effectively evaluate agent performance by understanding the performance characteristics of the application. For example, you can load test your application before and after implementing default monitoring to verify impact.
To extend data collection in a controlled way, verify agent operation and overhead before and after implementing changes. For example, only add monitoring support for one application at a time, so you can evaluate the performance of each add-on individually.
Validate and Deploy the Agent Configuration
After verifying that the candidate agent configuration provides the visibility required, deploy the configuration across that environment.
You can deploy a validated configuration by installing the following configuration items to the target environment:
■ IntroscopeAgent.profile file
■ modified or custom PBD files
Deploying the Java Agent
Deploying the agent involves the following high level steps:
1. Install the agent on the target computer.
2. Configure the application server (see page 39) to instrument your applications.
3. Configure the startup script (see page 40) or Java command for the application server to include the agent and the location of the agent profile.
4. Configure the agent connection (see page 57) to the Enterprise Manager.
5. Restart the application server to instrument the application and start data collection.
6. Configure the IntroscopeAgent.profile (see page 65) if you want to change any properties set during installation or want to modify data collection or other agent operations.
29. Chapter 2: Installing and Configuring the Java Agent 29
Chapter 2: Installing and Configuring the Java Agent
This section contains the following topics:
View the Product Compatibility Guide (see page 29)
Before You Install the Agent (see page 30)
Select the method for installing the Java agent (see page 30)
About the Java Agent Directory Structure (see page 38)
How to instrument applications (see page 39)
Configuring the Application Server to Start the Java Agent (see page 40)
Configuring the connection to the Enterprise Manager (see page 57)
Upgrading multiple agent types (see page 61)
Uninstalling the Java agent (see page 62)
View the Product Compatibility Guide
The product Compatibility Guide provides a list of all supported operating environments.
Follow these steps:
1. Open a browser and go to http://www.ca.com/support.
The CA Support Online page appears.
2. Log in to CA Support Online.
3. Select CA Application Performance Management from the Support By Product, Select a Product page drop-down list.
The CA Application Performance Management page appears.
4. Scroll to the Product Status section and click the Application Performance Management Compatibility Guide link.
The Application Performance Management Compatibility Guide page appears.
5. Click the link that corresponds to the release you want.
The Compatibility Matrix appears.
30. Before You Install the Agent
30 Java Agent Implementation Guide
Before You Install the Agent
Before you install the agent, do the following steps:
1. Review the Java agent deployment process.
2. Verify that you have a supported version of the application server.
Note: The server where you plan to install the agent must have a supported version of the JVM available locally. For application server and JVM requirements, see the CA APM Compatibility Guide.
3. Verify that you have a supported version of the JVM. If you are unable to use a supported version, use a previous version:
■ Use the 8.x Java agent for Java 1.4.x.
■ Use the 7.2 Java agent for Java 1.3.x.
4. Verify that the Introscope Enterprise Manager and Workstation components are installed. Note the host name and port number for the Enterprise Manager connection with the agent.
You can use ping or telnet to verify connectivity between the agent and the Enterprise Manager.
Note: For information about installing the Enterprise Manager, Workstation, and WebView components, see the CA APM Installation and Upgrade Guide.
More information:
View the Product Compatibility Guide (see page 29)
Planning a Java Agent Deployment (see page 26)
Deploying the Java Agent (see page 28)
Select the method for installing the Java agent
You can install the Java agent in one of the following ways:
■ interactively using a graphical user interface (GUI) or text-based console installer
■ silently without interactive prompts using an edited response file
■ manually by extracting and configuring files for individual application servers
In most cases, you use the interactive installer when you want to install files locally on a computer. If you install interactively, the prompts displayed are the same for the graphical or text-based interface. However, the option to choose the GUI or text-based installer depends on the operating system of the computer where you run the installer. For example, most UNIX environments support the GUI or text-based console installer, but start the console installer by default.
31. Select the method for installing the Java agent
Chapter 2: Installing and Configuring the Java Agent 31
If you want to install files remotely on a computer or deploy a preconfigured set of installation instructions, you can run the installer silently using an edited response file.
If you do not want to run the installer interactively or silently, you can manually install and configure the agent using an installation archive. Manual installation enables you to extract specific sets of agent files from application server- and operating system-specific archives, and then manually configure deployment options. CA Technologies provides these archives to expedite deployment of the Java agent onto multiple systems that share the same type of application server and operating system.
For more information about installing interactively, silently, or manually see the appropriate section.
Install the Java Agent Interactively
You can install the Java agent interactively by selecting the Java agent installer appropriate for your operating system, starting the installer, and responding to the prompts. If you use the GUI installer, you can make selections using drop-down menus and clicking checkboxes. In the text-based console installer, you make selections by entering text.
Follow these steps:
1. Select the installation archive appropriate for your operating system. For example:
■ IntroscopeAgentInstaller<version>windows.zip to install on Microsoft Windows.
■ IntroscopeAgentInstaller<version>unix.tar to install on supported UNIX or Linux operating systems.
■ IntroscopeAgentInstaller<version>zOS.tar to install on IBM z/OS.
■ IntroscopeAgentInstaller<version>os400.zip to install on IBM OS/400 (IBM i operating system).
2. Extract the installation archive files using a command appropriate to your operating system. For example, on UNIX or Linux:
tar –xvf IntroscopeAgentInstaller<version>unix.tar
3. Follow the prompts displayed to start the installation.
4. Specify the location of the application server root directory.
If you do not want to specify an application server root directory, then accept the default response (C: on Windows, / on UNIX).
32. Select the method for installing the Java agent
32 Java Agent Implementation Guide
5. Select the application server type from the list of valid application servers:
■ Default
■ JBoss
■ Tomcat
■ WebLogic
■ WebSphere
■ Sun ONE
■ Oracle Application Server
■ Interstage
The application server you select determines the additional monitoring options available.
6. Specify the root installation directory for the Java agent. In most cases, use the application server root directory.
Within the root installation directory, the installer creates the “wily” directory that is the <Agent_Home> directory.
7. Specify whether you want to create an agent profile or use an existing agent profile.
If you create an agent profile, you are prompted to select:
■ Typical or Full instrumentation
■ Agent name and process name
■ Enterprise Manager host and port number
If you select an existing profile, you are prompted for the location of the file. Specify the fully qualified path to the file.
The settings you specify can be changed after installation if needed, by editing the IntroscopeAgent.profile file.
8. Specify the path to the Java executable that is used to launch your application server.
9. Specify the ProbeBuilding method for instrumenting your application. In most cases, use JVM AutoProbe.