apm_9.5--net agent implementation guide

Upload: ggenmailru

Post on 11-Oct-2015

57 views

Category:

Documents


0 download

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