apm_9.5--net agent implementation guide
TRANSCRIPT
-
.NET Agent Implementation Guide Release 9.5
CA Application Performance Management
-
This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation) is for your informational purposes only and is subject to change or withdrawal by CA at any time.
This Documentation may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in part, without the prior written consent of CA. This Documentation is confidential and proprietary information of CA and may not be disclosed by you or used for any purpose other than as may be permitted in (i) a separate agreement between you and CA governing your use of the CA software to which the Documentation relates; or (ii) a separate confidentiality agreement between you and CA.
Notwithstanding the foregoing, if you are a licensed user of the software product(s) addressed in the Documentation, you may print or otherwise make available a reasonable number of copies of the Documentation for internal use by you and your employees in connection with that software, provided that all CA copyright notices and legends are affixed to each reproduced copy.
The right to print or otherwise make available copies of the Documentation is limited to the period during which the applicable license for such software remains in full force and effect. Should the license terminate for any reason, it is your responsibility to certify in writing to CA that all copies and partial copies of the Documentation have been returned to CA or destroyed.
TO THE EXTENT PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION AS IS WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
The use of any software product referenced in the Documentation is governed by the applicable license agreement and such license agreement is not modified in any way by the terms of this notice.
The manufacturer of this Documentation is CA.
Provided with Restricted Rights. Use, duplication or disclosure by the United States Government is subject to the restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.227-7014(b)(3), as applicable, or their successors.
Copyright 2013 CA. All rights reserved. All trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.
-
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 (CA APM 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 Application Server Agents (CA APM for CA SiteMinder ASA)
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)
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 Cross-Enterprise Application Performance Management
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 SiteMinder
CA Spectrum Infrastructure Manager (CA Spectrum)
CA SYSVIEW Performance Management (CA SYSVIEW)
-
Contact CA Technologies
Contact CA Support
For your convenience, CA Technologies provides one site where you can access the information that you need for your Home Office, Small Business, and Enterprise CA Technologies products. At http://ca.com/support, you can access the following resources:
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 [email protected].
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.
-
Contents 7
Contents
Chapter 1: Introduction to the .NET Agent 17
About the .NET Agent in an Introscope Deployment ................................................................................................. 17
How the .NET Agent Works in Your Application Environment ................................................................................... 19
How IIS Controls the .NET Agent ......................................................................................................................... 19
About .NET Agent Instantiation and the IIS Worker Process .............................................................................. 20
About the .NET Agent Instance in the Default Domain ....................................................................................... 21
Understanding How to Deploy the .NET Agent in the Enterprise .............................................................................. 21
Install and Evaluate the Default Functionality .................................................................................................... 22
Determine Configuration Requirements ............................................................................................................. 22
Define a Baseline Agent Profile with Appropriate Configuration Properties ...................................................... 23
Evaluate Agent Performance Overhead .............................................................................................................. 23
Validate and Deploy the Agent Configuration .................................................................................................... 24
Deploying the .NET Agent .......................................................................................................................................... 24
Chapter 2: Installing the .NET Agent 25
Before You Install the .NET Agent .............................................................................................................................. 25
Select the Method for Installing the .NET Agent ........................................................................................................ 26
Install .NET Agent Interactively ........................................................................................................................... 27
Install .NET Agent Silently ................................................................................................................................... 29
Install .NET Agent Manually Using Installation Archives ..................................................................................... 32
Install .NET Agent in Chinese or Japanese .......................................................................................................... 34
Understanding the .NET Agent Directory Structure ................................................................................................... 34
User Permissions to Agent Directory .................................................................................................................. 35
Modify Default User Permissions to Agent Directory ......................................................................................... 36
How to Configure the Enterprise Manager and Agent Connection ........................................................................... 36
Connect to the Enterprise Manager Using a Direct Socket Connection ............................................................. 38
Select a Communication Method........................................................................................................................ 38
Verify the Communication Connection ............................................................................................................... 42
Check the User Permissions for the IIS Worker Process ............................................................................................ 43
Determine the User Running the Application ..................................................................................................... 43
Verify User Permissions on the Agent Directory ................................................................................................. 44
Set user permissions for Performance Monitor metrics ..................................................................................... 45
Customizing Instrumentation ..................................................................................................................................... 45
Modifying the default instrumentation .............................................................................................................. 46
Configuring application idle time ............................................................................................................................... 49
Removing the .NET agent ........................................................................................................................................... 49
-
8 .NET Agent Implementation Guide
Remove .NET Agent Interactively........................................................................................................................ 50
Remove .NET Agent in Silent Mode .................................................................................................................... 50
Remove .NET Agent Manually ............................................................................................................................. 51
Chapter 3: Configuring Agent Properties 53
How to configure backup Enterprise Managers and failover properties ................................................................... 53
How to use a specific agent profile for an application ............................................................................................... 54
Create separate profiles for each application ..................................................................................................... 55
Define an agent name ......................................................................................................................................... 55
Set the agent profile location for a specific application and agent instance ...................................................... 56
How to Collect and Customize Performance Monitor Data ....................................................................................... 56
Use regular expressions to filter metric collection ............................................................................................. 57
Set a limit on the total number of metrics .......................................................................................................... 58
Control how frequently Performance Monitor data is collected ........................................................................ 59
Prevent browsing of Performance Monitor objects ........................................................................................... 59
Start the Collection of Performance Monitor Data ............................................................................................. 60
Stop the Collection of Performance Monitor Data ............................................................................................. 60
How to control startup time....................................................................................................................................... 60
How to enable in-process side-by-side execution ...................................................................................................... 61
Configure Agent Load Balancing ................................................................................................................................ 62
How to Configure an Agent to Collect Distribution Statistic Metrics ......................................................................... 62
Examples of Distribution Statistics Metrics ......................................................................................................... 63
Configuring Detection of Synthetic Transactions ....................................................................................................... 65
Using the TagScript Utility ................................................................................................................................... 67
Chapter 4: Customizing Default Data Collection 69
About the default ProbeBuilder files .......................................................................................................................... 69
Components traced by default PBDs .................................................................................................................. 70
Default ProbeBuilder Directive (PBD) Files ......................................................................................................... 70
Default PBD Files From Previous Releases .......................................................................................................... 71
Default ProbeBuilder List (PBL) files .................................................................................................................... 72
Default tracer groups and toggles files ............................................................................................................... 72
Turning tracer groups on or off ........................................................................................................................... 73
Configuring agent connection metrics ....................................................................................................................... 74
Turning off socket metrics .......................................................................................................................................... 75
Configuring .NET agent logging options ..................................................................................................................... 75
Running the .NET Agent in verbose mode .......................................................................................................... 75
Changing the .NET agent log file location ........................................................................................................... 76
.NET Agent log files and automatic agent naming .............................................................................................. 76
Default domain logs ............................................................................................................................................ 77
-
Contents 9
Chapter 5: Working with ProbeBuilder Directives 79
Adding classes to an existing tracer group ................................................................................................................. 79
Creating custom tracers ............................................................................................................................................. 79
Common custom tracer example ........................................................................................................................ 80
Tracer syntax ....................................................................................................................................................... 81
Tracer names ....................................................................................................................................................... 82
Custom method tracer examples ........................................................................................................................ 83
Creating advanced custom tracers ............................................................................................................................. 85
Advanced single-metric tracers........................................................................................................................... 85
Skip directives ..................................................................................................................................................... 87
Combining custom tracers .................................................................................................................................. 88
Notes about specific tracers................................................................................................................................ 88
Explicit interface implementation ....................................................................................................................... 89
Instrumenting and inheritance ........................................................................................................................... 89
Applying ProbeBuilder Directives ............................................................................................................................... 89
Using the hotdeploy directory ............................................................................................................................ 90
Using the /wily directory ............................................................................................................ 90
Custom locations and permissions...................................................................................................................... 91
Transaction Tracing and Dynamic Instrumentation ................................................................................................... 92
Chapter 6: Configuring LeakHunter 93
How LeakHunter works .............................................................................................................................................. 93
What LeakHunter tracks in .NET ................................................................................................................................ 94
Specialized Collections ........................................................................................................................................ 94
Specialized Interfaces .......................................................................................................................................... 95
Generic Collections ............................................................................................................................................. 95
Generic Interfaces ............................................................................................................................................... 96
What LeakHunter does not track ............................................................................................................................... 96
Enabling and disabling LeakHunter ............................................................................................................................ 96
Configuring LeakHunter properties ............................................................................................................................ 97
Ignoring collections that cause poor performance ............................................................................................. 98
Running LeakHunter ................................................................................................................................................... 98
Identifying potential leaks with collection IDs ........................................................................................................... 99
LeakHunter log file ..................................................................................................................................................... 99
Potential leak first identified log entry ............................................................................................................... 99
Identified potential leak stops leaking log entry ............................................................................................... 100
Identified potential leak is leaking again log entry ........................................................................................... 101
LeakHunter timeout log entry ........................................................................................................................... 101
Using LeakHunter ..................................................................................................................................................... 101
-
10 .NET Agent Implementation Guide
Chapter 7: Configuring ErrorDetector 103
ErrorDetector overview............................................................................................................................................ 103
Types of errors .................................................................................................................................................. 104
How ErrorDetector works ................................................................................................................................. 104
Enabling ErrorDetector in the .NET Agent................................................................................................................ 105
Configuring ErrorDetector options ........................................................................................................................... 105
Advanced error data capture ................................................................................................................................... 105
Defining new error types.......................................................................................................................................... 106
ExceptionErrorReporter .................................................................................................................................... 106
MethodCalledErrorReporter ............................................................................................................................. 107
ThisErrorReporter ............................................................................................................................................. 107
HTTPErrorCodeReporter ................................................................................................................................... 107
Warning ............................................................................................................................................................. 108
Using ErrorDetector ................................................................................................................................................. 108
Chapter 8: Configuring Boundary Blame 109
Understanding Boundary Blame .............................................................................................................................. 109
Using URL Groups ..................................................................................................................................................... 109
URL Group properties ....................................................................................................................................... 110
Sample URL Groups ........................................................................................................................................... 110
Defining URL Groups ......................................................................................................................................... 111
Advanced naming techniques for URL Groups (optional) ................................................................................. 112
Using Blame tracers to mark Blame points .............................................................................................................. 115
Blame tracers .................................................................................................................................................... 115
Blame tracers in standard PBDs ........................................................................................................................ 116
Custom FrontendMarker directive.................................................................................................................... 116
Chapter 9: Transaction Tracer Options 117
New Mode of Transaction Tracing ........................................................................................................................... 117
Configuring the Agent to Use Legacy Mode Transaction Tracing ..................................................................... 118
Controlling Transaction Trace Sampling ................................................................................................................... 120
Transaction Trace component clamp ................................................................................................................ 120
Transaction Tracer options....................................................................................................................................... 121
Enable collection of filter parameters ...................................................................................................................... 121
Filter Transaction Traces By User ID ................................................................................................................. 122
Filter Transaction Traces By HTTP Request Data .............................................................................................. 123
Configuring Component Stall Reporting .................................................................................................................. 124
Downstream Subscriber Component Stalls ....................................................................................................... 124
Upstream Inherited Component Stalls ............................................................................................................. 125
Disable the Capture of Stalls as Events ............................................................................................................. 125
-
Contents 11
NonIdentifying Transaction Tracing ......................................................................................................................... 126
Chapter 10: Configuring the Introscope SQL Agent 127
The SQL Agent overview .......................................................................................................................................... 127
The SQL Agent files ................................................................................................................................................... 128
SQL statement normalization ................................................................................................................................... 128
How poorly written SQL statements create metric explosions......................................................................... 128
SQL statement normalization options .............................................................................................................. 130
Default SQL statement normalizer .................................................................................................................... 130
Custom SQL statement normalizer ................................................................................................................... 131
Chapter 11: Troubleshooting and Tips 133
Checking whether the .NET agent has been installed correctly ............................................................................... 133
Correcting version information for agent extensions .............................................................................................. 134
Choosing to use or disable the hotdeploy directory ................................................................................................ 135
Appendix A: .NET Agent Properties 137
.NET Agent to Enterprise Manager Connection ....................................................................................................... 138
introscope.agent.enterprisemanager.transport.tcp.host.DEFAULT ................................................................. 138
introscope.agent.enterprisemanager.transport.tcp.port.DEFAULT ................................................................. 139
introscope.agent.enterprisemanager.transport.tcp.socketfactory.DEFAULT .................................................. 140
Agent failover ........................................................................................................................................................... 140
introscope.agent.enterprisemanager.connectionorder ................................................................................... 141
introscope.agent.enterprisemanager.failbackRetryIntervalInSeconds ............................................................ 141
Agent metric aging ................................................................................................................................................... 143
Configuring agent metric aging ......................................................................................................................... 144
Agent metric clamp .................................................................................................................................................. 148
introscope.agent.metricClamp ......................................................................................................................... 148
introscope.agent.simpleInstanceCounter.referenceTrackingLimit ................................................................... 149
Agent memory overhead ......................................................................................................................................... 149
introscope.agent.reduceAgentMemoryOverhead ............................................................................................ 150
Agent naming ........................................................................................................................................................... 150
introscope.agent.agentAutoNamingEnabled .................................................................................................... 150
introscope.agent.agentAutoNamingMaximumConnectionDelayInSeconds .................................................... 151
introscope.agent.agentAutoRenamingIntervalInMinutes ................................................................................ 152
introscope.agent.disableLogFileAutoNaming ................................................................................................... 152
introscope.agent.agentName ........................................................................................................................... 153
introscope.agent.clonedAgent .......................................................................................................................... 154
introscope.agent.display.hostName.as.fqdn .................................................................................................... 154
Agent recording (business recording) ...................................................................................................................... 155
-
12 .NET Agent Implementation Guide
introscope.agent.bizRecording.enabled ........................................................................................................... 156
Agent thread priority ................................................................................................................................................ 156
introscope.agent.thread.all.priority .................................................................................................................. 157
Application triage map ............................................................................................................................................. 157
introscope.agent.appmap.enabled ................................................................................................................... 158
introscope.agent.appmap.metrics.enabled ...................................................................................................... 158
introscope.agent.appmap.queue.size ............................................................................................................... 159
introscope.agent.appmap.queue.period .......................................................................................................... 160
introscope.agent.appmap.intermediateNodes.enabled................................................................................... 161
Application Triage Map and Catalyst Integration ..................................................................................................... 161
Configure the Ability to Send Information ........................................................................................................ 162
Configure a List of Available Networks ............................................................................................................. 162
Application triage map business transaction POST parameters .............................................................................. 163
introscope.agent.bizdef.matchPost .................................................................................................................. 164
Known limitations ............................................................................................................................................. 165
AutoProbe ................................................................................................................................................................ 166
introscope.autoprobe.directivesFile ................................................................................................................. 166
introscope.autoprobe.enable ........................................................................................................................... 167
introscope.autoprobe.logfile ............................................................................................................................ 168
CA CEM Agent Profile Properties ............................................................................................................................. 169
introscope.autoprobe.directivesFile ................................................................................................................. 169
introscope.agent.remoteagentconfiguration.allowedFiles .............................................................................. 170
introscope.agent.remoteagentconfiguration.enabled ..................................................................................... 171
introscope.agent.decorator.enabled ................................................................................................................ 172
introscope.agent.decorator.security ................................................................................................................ 172
introscope.agent.cemtracer.domainconfigfile.................................................................................................. 173
introscope.agent.cemtracer.domainconfigfile.reloadfrequencyinminutes ...................................................... 174
introscope.agent.distribution.statistics.components.pattern .......................................................................... 175
ChangeDetector configuration ................................................................................................................................. 175
introscope.changeDetector.enable................................................................................................................... 176
introscope.changeDetector.agentID ................................................................................................................. 176
introscope.changeDetector.rootDir .................................................................................................................. 177
introscope.changeDetector.isengardStartupWaitTimeInSec............................................................................ 177
introscope.changeDetector.waitTimeBetweenReconnectInSec....................................................................... 178
introscope.changeDetector.profile ................................................................................................................... 178
introscope.changeDetector.profileDir .............................................................................................................. 179
Cross-process transaction trace ............................................................................................................................... 179
introscope.agent.transactiontracer.tailfilterPropagate.enable ........................................................................ 180
Default domain configuration .................................................................................................................................. 180
introscope.agent.dotnet.enableDefaultDomain ............................................................................................... 180
Dynamic instrumentation ........................................................................................................................................ 181
introscope.agent.remoteagentdynamicinstrumentation.enabled ................................................................... 181
-
Contents 13
ErrorDetector ........................................................................................................................................................... 182
introscope.agent.errorsnapshots.enable .......................................................................................................... 183
introscope.agent.errorsnapshots.throttle ........................................................................................................ 183
introscope.agent.errorsnapshots.ignore. ............................................................................................. 184
Extensions ................................................................................................................................................................ 184
introscope.agent.extensions.directory ............................................................................................................. 185
Filtered parameters .................................................................................................................................................. 185
introscope.agent.asp.disableHttpProperties .................................................................................................... 185
HTTP Header Decorator ........................................................................................................................................... 186
introscope.agent.decorator.enabled ................................................................................................................ 186
LeakHunter configuration ........................................................................................................................................ 187
introscope.agent.leakhunter.enable ................................................................................................................. 187
introscope.agent.leakhunter.logfile.location .................................................................................................... 188
introscope.agent.leakhunter.logfile.append .................................................................................................... 189
introscope.agent.leakhunter.leakSensitivity..................................................................................................... 190
introscope.agent.leakhunter.timeoutInMinutes .............................................................................................. 191
introscope.agent.leakhunter.collectAllocationStackTraces .............................................................................. 191
introscope.agent.leakhunter.ignore.0 .............................................................................................................. 192
Logging ..................................................................................................................................................................... 192
introscope.agent.log.config.path ...................................................................................................................... 193
NativeProfiler ........................................................................................................................................................... 193
introscope.nativeprofiler.clrv4.transparency.checks.disabled ......................................................................... 193
introscope.nativeprofiler.logfile ....................................................................................................................... 194
introscope.nativeprofiler.logBytecode ............................................................................................................. 195
introscope.nativeprofiler.logAllMethodsNoticed ............................................................................................. 195
introscope.nativeprofiler.directivematching.cache.max.size ........................................................................... 196
introscope.nativeprofiler.generic.agent.trigger.enabled.................................................................................. 197
com.wily.introscope.nativeprofiler.monitor.inprocsxs.multiple.clrs ................................................................ 198
Performance Monitor data collection ...................................................................................................................... 199
introscope.agent.perfmon.metric.filterPattern ................................................................................................ 199
introscope.agent.perfmon.metric.limit ............................................................................................................ 200
introscope.agent.perfmon.metric.pollIntervalInSeconds ................................................................................. 200
introscope.agent.perfmon.category.browseEnabled ....................................................................................... 201
introscope.agent.perfmon.category.browseIntervalInSeconds ....................................................................... 201
Process name ........................................................................................................................................................... 201
introscope.agent.customProcessName ............................................................................................................ 202
introscope.agent.defaultProcessName ............................................................................................................. 202
Restricting instrumentation configuration ............................................................................................................... 203
introscope.agent.dotnet.monitorApplications ................................................................................................. 203
introscope.agent.dotnet.monitorAppPools ...................................................................................................... 203
Socket metrics .......................................................................................................................................................... 204
introscope.agent.sockets.reportRateMetrics ................................................................................................... 204
-
14 .NET Agent Implementation Guide
SQL Agent ................................................................................................................................................................. 204
introscope.agent.sqlagent.sql.maxlength ......................................................................................................... 205
introscope.agent.sqlagent.normalizer.extension ............................................................................................. 205
introscope.agent.sqlagent.normalizer.regex.keys ............................................................................................ 207
introscope.agent.sqlagent.normalizer.regex.key1.pattern .............................................................................. 208
introscope.agent.sqlagent.normalizer.regex.key1.replaceAll .......................................................................... 209
introscope.agent.sqlagent.normalizer.regex.key1.replaceFormat ................................................................... 210
introscope.agent.sqlagent.normalizer.regex.key1.caseSensitive ..................................................................... 211
introscope.agent.sqlagent.normalizer.regex.matchFallThrough ...................................................................... 211
introscope.agent.sqlagent.sql.artonly .............................................................................................................. 212
introscope.agent.sqlagent.sql.rawsql ............................................................................................................... 213
introscope.agent.sqlagent.sql.turnoffmetrics .................................................................................................. 213
introscope.agent.sqlagent.sql.turnofftrace ...................................................................................................... 214
Stall metrics .............................................................................................................................................................. 214
introscope.agent.stalls.thresholdseconds ........................................................................................................ 215
introscope.agent.stalls.resolutionseconds ....................................................................................................... 215
Transaction tracing ................................................................................................................................................... 216
introscope.agent.crossprocess.compression .................................................................................................... 216
introscope.agent.crossprocess.correlationid.maxlimit ..................................................................................... 217
introscope.agent.crossprocess.compression.minlimit...................................................................................... 218
introscope.agent.transactiontrace.componentCountClamp ............................................................................ 219
introscope.agent.transactiontrace.headFilterClamp ........................................................................................ 220
introscope.agent.transactiontracer.parameter.httprequest.headers .............................................................. 221
introscope.agent.transactiontracer.parameter.httprequest.parameters ........................................................ 221
introscope.agent.transactiontracer.parameter.httpsession.attributes ............................................................ 222
introscope.agent.transactiontracer.sampling.enabled ..................................................................................... 222
introscope.agent.transactiontracer.sampling.perinterval.count ...................................................................... 223
introscope.agent.transactiontracer.sampling.interval.seconds ....................................................................... 223
Configure the Session ID Collection .................................................................................................................. 224
introscope.agent.transactiontracer.userid.key ................................................................................................. 225
introscope.agent.transactiontracer.userid.method ......................................................................................... 225
URL grouping ............................................................................................................................................................ 226
introscope.agent.urlgroup.keys ........................................................................................................................ 227
introscope.agent.urlgroup.group.default.pathprefix........................................................................................ 227
introscope.agent.urlgroup.group.default.format ............................................................................................. 228
Appendix B: Application-Specific Configuration 229
Add Properties for Configuration ............................................................................................................................. 229
Appendix C: Using the Network Interface Utility 231
Determine Network Interface Names ...................................................................................................................... 231
-
Contents 15
Index 233
-
Chapter 1: Introduction to the .NET Agent 17
Chapter 1: Introduction to the .NET Agent
This section contains the following topics:
About the .NET Agent in an Introscope Deployment (see page 17) How the .NET Agent Works in Your Application Environment (see page 19) Understanding How to Deploy the .NET Agent in the Enterprise (see page 21) Deploying the .NET Agent (see page 24)
About the .NET Agent in an Introscope Deployment
The .NET agent is an application management solution for .NET applications. The .NET agent monitors mission critical .NET applications running in a Microsoft Common Language Runtime (CLR) environment, providing visibility to the component level.
In an Introscope deployment, an agent collects application and environment metrics and relays them to the Enterprise Manager. An application that reports metrics to an Introscope agent is referred to as instrumented. After you install and configure the .NET agent on a system, the applications that run there are automatically instrumented at startup.
-
About the .NET Agent in an Introscope Deployment
18 .NET Agent Implementation Guide
The following illustration shows a simple Introscope deployment in which .NET applications connect to SQL Server databases. Each application server hosts a .NET and SQL agent. The agents monitor the application activity and report metrics to the Enterprise Manager. Metrics are viewed through the Workstation and WebView. Larger, more complex deployments can have more agents and multiple Enterprise Managers.
By default, only ASP.NET applications that are deployed using Microsoft Internet Information Services (IIS) and active on a system are instrumented. You can also instrument standalone .NET executables or instrument only a subset of applications.
The instrumentation process, performed by tracers, is defined in ProbeBuilder Directive (PBD) files. The directives in PBD files identify the application components to monitor. Tracers identify the metrics an agent collects for those components as they run in the CLR. The .NET agent then sends this metric information to the Enterprise Manager.
The Enterprise Manager stores the metrics reported by multiple agents. You can then use the Introscope Workstation or WebView client application to monitor application activity, investigate the source of performance issues, and diagnose problems.
More information:
Modifying the default instrumentation (see page 46)
-
How the .NET Agent Works in Your Application Environment
Chapter 1: Introduction to the .NET Agent 19
How the .NET Agent Works in Your Application Environment
In your Introscope deployment, you install the .NET agent on each computer that runs an application you want to monitor. After the installation, the Microsoft Internet Information Service (IIS) controls the .NET agent. Until IIS receives a user request for an application, the .NET agent is not active. When the application code (.aspx, .asmx, for example) is exercised, the .NET agent starts and the NativeProfiler instruments the code.
How IIS Controls the .NET Agent
By default, the .NET agent only monitors applications managed by IIS and run under the IIS worker process. The following steps summarize how IIS controls the .NET agent and the instrumentation process when a .NET application starts.
1. IIS receives a user request for an application.
2. IIS starts the .NET worker process.
3. The requested .NET application starts.
4. The Common Language Runtime (CLR) starts the NativeProfiler.
5. The NativeProfiler loads the .NET agent from the Global Assembly Cache (GAC).
6. The .NET agent reads the IntroscopeAgent.profile to determine the PBL and PBD files to use for instrumentation.
7. The NativeProfiler uses the information in the PBL and PBD files to insert probes into the bytecode to collect the appropriate metrics from application components. The application is instrumented.
8. The instrumented application starts reporting metrics to the .NET agent.
As long as the IIS worker process continues to run, the agent collects metrics and reports them to the Enterprise Manager. If the instrumented application stops experiencing user activity for a period-of-time, the IIS worker process stops the application process. If IIS stops the application process, it effectively stops the .NET agent until user activity resumes.
Note: Standalone applications that do not use ASP.NET can also be instrumented when the .NET agent is configured to do so. The process is similar for standalone applications except that steps 1 and 2 are skipped because the Windows operating system can bootstrap standalone applications.
-
How the .NET Agent Works in Your Application Environment
20 .NET Agent Implementation Guide
About .NET Agent Instantiation and the IIS Worker Process
You install a .NET agent on each system that hosts the managed .NET applications you want to monitor. At the time of the .NET agent startup, one agent instance is created for the CLRs default domain. In addition, one .NET agent instance is created for each application running in the CLR.
This illustration shows a managed ASP.NET application that has one IIS worker process in each domain where one .NET agent has been started:
If multiple .NET applications are grouped together in an IIS application pool that share a single worker process, there is one .NET agent for the default domain, and still one .NET agent for each of the applications in the application pool, as shown in the following illustration:
-
Understanding How to Deploy the .NET Agent in the Enterprise
Chapter 1: Introduction to the .NET Agent 21
For scalability reasons, some companies can assign multiple worker processes to a single application. Therefore, one .NET agent instance is created for the default domain, and one for each of the worker processes is associated with the application.
Note: The configuration shown in the following illustration is the most common.
If there are multiple worker processes, and hence multiple .NET agents associated with a single managed application, configure those agents as a virtual agent. The configuration enables metrics from multiple physical .NET agents to be aggregated.
Note: For more information, see the CA APM Configuration and Administration Guide.
About the .NET Agent Instance in the Default Domain
As described in .NET Agent instantiation (see page 20), a .NET Agent is always created for the CLR default domain. By default, the .NET Agent for the default domain does not connect to the Enterprise Manager, or appear as a node in the Investigator tree in Workstation or WebView. However, you can configure the .NET Agent for the default domain to connect to the Enterprise Manager if necessary. For more information, see the agent property in Default domain configuration (see page 180).
Understanding How to Deploy the .NET Agent in the Enterprise
Developing the right .NET agent configuration for your application and the environments in which it runs is an iterative process.
-
Understanding How to Deploy the .NET Agent in the Enterprise
22 .NET Agent Implementation Guide
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.
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.
-
Understanding How to Deploy the .NET Agent in the Enterprise
Chapter 1: Introduction to the .NET Agent 23
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.
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.
-
Deploying the .NET Agent
24 .NET Agent Implementation Guide
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 .NET Agent
To deploy the .NET agent, perform the following tasks:
1. Install the .NET agent (see page 25).
2. Configure the .NET agent (see page 36).
3. Configure .NET agent properties (see page 53).
More information:
Understanding the .NET Agent Directory Structure (see page 34)
-
Chapter 2: Installing the .NET Agent 25
Chapter 2: Installing the .NET Agent
The instructions in this section describe how to install a .NET agent on a Microsoft Internet Information Service (IIS) server and configure the agent to communicate with the Enterprise Manager.
Note: For information about installing the Enterprise Manager, Workstation, and WebView components, see the CA APM Installation and Upgrade Guide.
This section contains the following topics:
Before You Install the .NET Agent (see page 25) Select the Method for Installing the .NET Agent (see page 26) Understanding the .NET Agent Directory Structure (see page 34) How to Configure the Enterprise Manager and Agent Connection (see page 36) Check the User Permissions for the IIS Worker Process (see page 43) Customizing Instrumentation (see page 45) Configuring application idle time (see page 49) Removing the .NET agent (see page 49)
Before You Install the .NET Agent
If you are new to Introscope or the .NET agent, review the deployment process.
Follow these steps:
1. Verify that you have installed a supported version of the following components:
.NET framework
Note: By default, the agent only monitors one Framework. You can configure agent properties to control what is monitored by using the .NET Framework 4 and In-Process Side-by-Side Execution.
Windows operating system and IIS
Microsoft SQL Server or Oracle database
ODP.NET driver
2. Verify that the applications that you want to monitor run using the IIS worker process.
To verify that a web application is using a worker process, load a page from the application, then open the Task Manager and look for:
aspnet_wp.exe on IIS
-
Select the Method for Installing the .NET Agent
26 .NET Agent Implementation Guide
w3wp.exe on IIS
If you do not see the worker process, enable IIS to handle managed components. Navigate to the .NET Framework directory for the version of .NET you are using and run the following command:
aspnet_regiis.exe i
For example:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
3. Verify that you have sufficient disk space available to install the agent files. CA Technologies recommends that the disk space is equal to three times the size of the installer executable.
4. Verify that any previous version of the .NET agent has been removed from the computer where you intend to install a new .NET agent.
You can verify whether the .NET agent is present by opening a Command window and typing "set" to list the environment variables currently defined. If com.wily.introscope.agentProfile= is listed, remove the agent before proceeding.
5. Verify that the computer where you intend to install the .NET agent does not have another monitoring agent or CLR profiler installed.
6. Verify that you have installed the Introscope Enterprise Manager and Workstation. Note the host name and port number for configuring the Enterprise Manager connection.
Use ping or telnet to verify connectivity between the agent and the Enterprise Manager.
Note: For .NET agent supported versions and installation requirements, see the Compatibility Guide.
More information:
Understanding How to Deploy the .NET Agent in the Enterprise (see page 21) Configuring Agent Properties (see page 53) Removing the .NET agent (see page 49)
Select the Method for Installing the .NET Agent
You can install the .NET agent in one of the following ways:
interactively using a graphical user interface (GUI) installer (see page 27)
silently without interactive prompts (see page 29)
manually using an installation archive (see page 32)
-
Select the Method for Installing the .NET Agent
Chapter 2: Installing the .NET Agent 27
In most cases, you use the interactive installer when you want to install files locally on a computer. If you want to install files remotely on a computer or deploy a preconfigured set of installation instructions, you can run the installer in a script with command line parameters. If you do not want to run the installer interactively or silently, you can manually install and configure the agent using an installation archive.
Important! Regardless of the method you choose, your SharePoint domain user account is required to have Log on as Service privileges.
More information:
Checking whether the .NET agent has been installed correctly (see page 133)
Install .NET Agent Interactively
You can install the .NET agent interactively by starting the .NET agent installer program and responding to the prompts displayed.
Follow these steps:
1. Double-click the agent installer executable for 32-bit or 64-bit operating system. For example, double-click the following:
introscopewindowsAgent_dotNET_32.exe file
The Welcome page appears. Click Next to start the installation.
Note: You can install using either the .exe or .msi executable. The .msi executable is provided to enable software delivery by group policy or other automated delivery, such as a scheduled task. The .exe executable provides additional functionality. For example, if you use the .exe executable, you can right-click to run the installer as an Administrator when you are not logged on as an administrator.
2. Click Next to accept the default installation directory or click Change to select another directory, then click Next.
The default installation directory for the .NET agent is:
C:\Program Files\CA APM\Introscope
Within the root installation directory, the installer creates the wily directory that is the directory.
3. Type the host name and port number for the Enterprise Manager to which the agent should report metrics, then click Next.
Note: The default Enterprise Manager for the agent is localhost, which is appropriate in a lab environment where the Enterprise Manager and agent are installed on the same computer. In a typical production environment, configure the connection to a remote Enterprise Manager. The default Enterprise Manager port is 5001.
-
Select the Method for Installing the .NET Agent
28 .NET Agent Implementation Guide
4. Select the monitoring options you want to enable, then click Next.
ChangeDetector tracks changes in the application environment and reports them in the Workstation. If you enable ChangeDetector, type the ID for the ChangeDetector agent. For more information on enabling and working with ChangeDetector, see the CA APM ChangeDetector User Guide.
CA APM for SOA provides extended monitoring for client- and server-side web services. This option is selected by default.
Note: The .NET agent provides web service monitoring by default. Selecting CA APM for SOA provides additional capabilities, such as enhanced transaction tracing, monitoring for WCF services, and additional dependency metrics. After installation, the content of the .pbd files depends on whether you enable CA APM for SOA. For more information, see the CA APM for SOA Implementation Guide.
CA APM for Microsoft SharePoint and CA APM Standalone Agent for Microsoft SharePoint (SPMonitor) enable monitoring for Microsoft SharePoint web applications and services. The option is only applicable on Windows Server 2003 or 2008. For more information, see the CA APM for Microsoft SharePoint Guide.
If you do not enable any monitoring options, you can manually enable monitoring options later.
5. Select whether additional agent services should be started automatically or manually.
If you selected the CA APM Standalone Agent for Microsoft SharePoint (SPMonitor), specify a SharePoint domain user account and password for the service to run.
Example: \
6. Click Install.
The installer creates the .NET agent root installation directory and installs the files the agent uses.
7. When the installation is complete, click Finish.
8. To verify the agent has been installed successfully, do one of the following:
.exe installer:
Verify that the IntroscopeDotNetAgentInstall*.exe.log file is in the same directory as the installer executable.
.msi installer:
Verify that the MSI*.LOG file is created under the %temp% folder. The log file is only available for Windows Installer 4.0 minimum.
-
Select the Method for Installing the .NET Agent
Chapter 2: Installing the .NET Agent 29
9. Restart IIS Admin Service to complete the installation.
Note: Installing the .NET agent adds the following system environment variables to the operating system: com.wily.introscope.agentProfile, Cor_Enable_Profiling, COR_PROFILER. Restarting IIS or rebooting the local computer is required to inform IIS that system environment variables have changed.
More information:
Understanding the .NET Agent Directory Structure (see page 34) How to Configure the Enterprise Manager and Agent Connection (see page 36)
Install .NET Agent Silently
To run the installer in silent mode, invoke the .NET agent installer from a command line and specify the installation instructions as command line parameters. The installation then runs in the background without displaying any information about its progress. Because this installation method enables you to install the agent without user interaction, it is most commonly used to install .NET agents on remote computers. You can also install multiple agents with the same configuration. You can specify either the .exe or .msi executable on the command.
Follow these steps:
1. Open a Command Prompt window.
2. Invoke the appropriate .exe or .msi installer executable with the appropriate command line parameters. For example, to install on a 64-bit system you can use the following command line parameters:
.msi installer:
IntroscopeDotNetAgentInstall64_9.1.0.0.msi /qn
[INSTALLDIR=""] [EMHOST=myhost] [EMPORT=5001] [ENABLECD=1
CDAGENTID=] [ENABLESOA=1] [ENABLESPP=1]
[INSTALLSPMONITOR=1 IS_NET_API_LOGON_USERNAME=
IS_NET_API_LOGON_PASSWORD=]
.exe installer:
IntroscopeDotNetAgentInstall64.exe /s /v"/qn [INSTALLDIR=""]
[EMHOST=myhost] [EMPORT=5001] [ENABLECD=1
CDAGENTID=] [ENABLESOA=1] [ENABLESPP=1]
[INSTALLSPMONITOR=1] [INSTALLSPMONITOR=1 IS_NET_API_LOGON_USERNAME= IS_NET_API_LOGON_PASSWORD=]"
Note: You invoke the installer with the /s /v /qn options to install silently. Specifying the other parameters is optional. If you do not specify a parameter on the command line, the default setting for that parameter is used.
-
Select the Method for Installing the .NET Agent
30 .NET Agent Implementation Guide
These optional parameters are equivalent to the selections you make when running the installer interactively:
INSTALLDIR=""
Specifies the directory for installing the .NET agent. If the path includes a backslash, you add a preceding backslash to the path. For example:
\"C:\IntroscopeDir"
The default root installation directory is:
C:\Program Files\CA APM\Introscope
Modify this property when you want to change the default directory.
EMHOST=
Specifies the host name for the Enterprise Manager to which the agent reports metrics. The default host name for the agent is localhost.
EMPORT=
Specifies the listening port number for the Enterprise Manager to which the agent reports metrics. The default port is 5001.
ENABLECD=0
Specifies whether to enable ChangeDetector. The default value for this parameter is 0, indicating that ChangeDetector must not be enabled.
If you want to enable ChangeDetector, set the ENABLECD parameter to 1.
If you leave ChangeDetector disabled, the related files are placed in the \examples directory and can be enabled later.
CDAGENTID=
Specifies a name for the ChangeDetector agent. Only include this parameter on the command line when you set ENABLECD to 1. The default agent name for the ChangeDetector agent is SampleApplicationName.
ENABLESOA=0
Specifies whether to enable CA APM for SOA. The default value for this parameter is 0, indicating that CA APM for SOA must not be enabled.
If you want to enable CA APM for SOA, set the ENABLESOA parameter to 1.
If you leave CA APM for SOA disabled, the related files are placed in the \examples directory and can be enabled later.
ENABLESPP=0
Specifies whether to enable CA APM for Microsoft SharePoint Portal. The default value for this parameter is 0, indicating that CA APM for Microsoft SharePoint must not be enabled.
-
Select the Method for Installing the .NET Agent
Chapter 2: Installing the .NET Agent 31
If you want to enable CA APM for Microsoft SharePoint Portal, set the ENABLESPP parameter to 1. Only enable monitoring for Microsoft SharePoint if the operating system is Windows Server 2003 or Windows Server 2008.
If you leave CA APM for Microsoft SharePoint Portal disabled, the related files are placed in the \examples directory and can be enabled later.
INSTALLSPMONITOR=0
Specifies whether to install the CA APM Standalone Agent for Microsoft SharePoint Portal. The default value for this parameter is 0, indicating that CA APM Standalone Agent for Microsoft SharePoint must not be installed.
If you want to install the CA APM Standalone Agent for Microsoft SharePoint, set the INSTALLSPMONITOR parameter to 1.
If you do not install the CA APM Standalone Agent for Microsoft SharePoint, you can install it later by running the CA APM Standalone Agent installer.
For example, to change the default settings, specify a command line similar to the following on a 64-bit system:
IntroscopeDotNetAgentInstall64.exe /s /v"/qn INSTALLDIR=\"C:\IntroscopeAgent\"
EMHOST=dell-M65.org EMPORT=5001 ENABLECD=1 CDAGENTID=myCDAgent ENABLESOA=1
ENABLESPP=1 INSTALLSPMONITOR=1 IS_NET_API_LOGON_USERNAME=apm-domain\apmuser
IS_NET_API_LOGON_PASSWORD=apmPassword"
IS_NET_API_LOGON_USERNAME=\
Specifies the Microsoft SharePoint monitor domain user name. This parameter is provided when the INSTALLMONITOR parameter is set to 0. The default value for this parameter is null.
IS_NET_API_LOGON_PASSWORD=
Specifies the password for the Microsoft SharePoint monitor. The default value for this parameter is null.
3. To verify that the agent has been installed successfully, view the log file as follows:
.exe installer:
View the IntroscopeDotNetAgentInstall*.exe.log file in the same directory as the installer executable.
.msi installer:
View the MSI*.LOG file in the %temp% folder. The log file is only available for Windows Installer 4.0 minimum.
4. (Optional) Create a script that invokes the installer with the appropriate settings as a scheduled task or to run remotely on additional computers.
5. Restart IIS Admin Service to complete the installation.
-
Select the Method for Installing the .NET Agent
32 .NET Agent Implementation Guide
Note: Installing the .NET agent adds the following system environment variables to the operating system: com.wily.introscope.agentProfile, Cor_Enable_Profiling, and COR_PROFILER. Restarting IIS or rebooting the local computer is required to inform IIS that system environment variables have changed.
Install .NET Agent Manually Using Installation Archives
You can include the agent files on a system without running the installer interactively or configuring a response file. Application server-specific archives let you install the agent.
Installation archives contain the same files for the agent installer. After you copy an archive to a computer, extract the contents and configure the agent. Use these files for deploying multiple agents in a batch job, or keeping the files as an archive of the default set of agent files.
Follow these steps:
1. Download one of the following installation archives based on your operating system from the CA APM software download area on CA Support.
DotNetAgentFiles-NoInstaller.x64..zip
DotNetAgentFiles-NoInstaller.x86..zip
For example:
DotNetAgentFiles-NoInstaller.x64.9.1.0.0.zip
2. Extract the installation archive contents into a directory of your selection.
3. Set up the \wily directory for the .NET agent.
Note: When you run the .NET agent installer program, the default root installation directory is C:\Program Files\CA APM\Introscope. From the root installation directory, the installer creates the wily directory that is the directory.
4. Register the wily.Agent.dll file to the Global Assembly Cache as follows:
a. Open a command prompt as the administrator.
b. Navigate to the wily\bin directory. For example:
explorer \wily\bin
c. Navigate to the assembly directory. For example:
explorer C:\WINDOWS\assembly
d. Copy wily.Agent.dll from the \wily\bin directory to the assembly directory.
-
Select the Method for Installing the .NET Agent
Chapter 2: Installing the .NET Agent 33
5. Register the wily.NativeProfiler file as follows:
a. From a command line, navigate to the wily\bin directory and invoke the following executable:
C:\WINDOWS\SysWOW64\regsvr32.exe
\wily\bin\x86\wily.NativeProfiler.dll
6. Open the IntroscopeAgent.profile file in a text editor and configure the Enterprise Manager connection as follows:
a. Locate the line: introscope.agent.enterprisemanager.transport.tcp.host.DEFAULT, and specify the host name of the Enterprise Manager for the agent. For example:
introscope.agent.enterprisemanager.transport.tcp.host.DEFAULT=sfcollect01
b. Set other properties for communication with the Enterprise Manager as appropriate.
7. Start the PerfMon Collector Service from a command line as follows:
sc create PerfMonCollectorAgent binPath=
"\bin\PerfMonCollectorAgent.exe start= auto DisplayName= "CA APM
PerfMon Collector Service"
8. To verify that users have permission to access the directory, run the wilypermissions utility from a command line. For example:
wilypermissions.exe c:\WilyAgent9065\wily w3wp.exe
9. Configure the following .NET agent environment variables:
com.wily.introscope.agentProfile=\wily\IntroscopeAgent.profile
Cor_Enable_Profiling=0x1
COR_PROFILER={5F048FC6-251C-4684-8CCA-76047B02AC98}
10. To complete the installation, restart IIS Admin Service.
More information:
Modify Default User Permissions to Agent Directory (see page 36) How to Configure the Enterprise Manager and Agent Connection (see page 36)
-
Understanding the .NET Agent Directory Structure
34 .NET Agent Implementation Guide
Install .NET Agent in Chinese or Japanese
You can specify a language value when you run the .msi installer executable.
Note: This information applies to 32- and 64-bit Windows only.
Follow these steps:
1. Open a Command Prompt window.
2. Invoke the .msi installer executable with the language value as follows:
Japanese:
IntroscopeDotNetAgentInstall64_.msi TRANSFORMS=1041.mst
ProductLanguage=1041
Chinese:
IntroscopeDotNetAgentInstall64_.msi TRANSFORMS=2052.mst
ProductLanguage=2052
3. To complete the installation, restart the application server.
The installer creates the .NET agent root installation directory and installs the agent files. The .MSI*.LOG file is created in the %temp% folder.
Understanding the .NET Agent Directory Structure
After you install the .NET agent, the following directory structure is created in the root installation directory:
wily
Contains the IntroscopeAgent.profile, ProbeBuilder Directive files (.pbd), and ProbeBuilder List files (.pbl) files that control agent operations, metric data collection, and the instrumentation process. The specific properties defined in the IntroscopeAgent.profile that are deployed and referenced in the agent depend on choices you made during installation.
Within the directory, subdirectories provide the libraries and extension files that enable v