安装与配置DotNet Agent


安装DotNet Agent

要监控.NET应用,在透视宝云端的“配置→应用”页面中选择“.NET”语言,按照页面中的引导安装DotNet Agent,详细说明如下。

获取授权编号

授权编号是透视宝用户身份识别的License Key,每个用户对应一个唯一的授权编号,在后续配置中需要使用。

下载DotNet Agent安装包

DotNet Agent只支持Windows系统。

点击<下载DotNet Agent(版本)>按钮,下载最新版本的DotNet Agent安装包。

安装DotNet Agent

1、解压缩安装包。

2、在DotNet Agent的conf目录(如DotnetAgent_2.2.0/conf)下的config文件中,填写license、sendHost、registHost。例如:

License=J45Engw88NeKhK2NmrQque1/zEDvsVyPs/qJ6gVwSvcJ7epMEUpz6zDQxRn8nJKl
sendHost=seal-data.toushibao.com 
registHost=seal-data.toushibao.com

3、执行如下命令启动DotNet Agent,输入Y后,会重启IIS服务。

.\dotNetAgent.bat start

图片 11.png

4、启动成功后显示如下页面。

图片 12.png

5、查看数据

安装配置完成后,稍等几分钟您可以在“应用”模块查看.NET应用数据。请注意,从来没被访问过的应用不会显示在应用列表中。


配置DotNet Agent

注意:为了保证DotNet Agent能够获取数据,IIS应用程序池的配置需要选择“集成模式”。

安装DotNet Agent后,您可以在DotNet Agent conf目录的app.conf文件中查看可配置项,主要配置项及相关说明见下表:

配置项

说明

AccountId

用户ID,不需要配置。

HostId

主机唯一标识,不需要配置。

AppName

用于生成APPID标识。

RegistHost

用户APP注册、主机注册、心跳发送、license配额监测的API服务器地址。

SendHost

探针收集数据往外发送的地址。

License

用户注册码

AgentServicePort

探针与Windows服务通信端口

Log

用于设置日志级别,级别包括debug、info、error、false。此配置需要在探针为debug版本时生效。

Qualifier

探针标识,可为空,例如1004x0。

TracedUri

uri过滤,不采集包含此字符的URI请求,如果为空则全部采集。

CustomInstrumentRumJSUri

用于设置JS脚本地址。

IsCatchFormAndCookieInfo

用于设置是否抓取cookie数据,设置为“true”抓取,设置为“false”则不抓取。

MaxmusSizeInTracerbus

用于配置DotNet Agent堆积的最大任务数量,默认配置值为“500000”,即当前DotNet Agent可堆积的最大任务数量为“500000”。

DotNet Agent运行时会不断抓取应用程序的运行数据并放入任务处理队列,DotNet Agent会以分钟为单位定时处理和发送这些数据,为避免产生性能问题和堆积任务过多,当数据量达到一个峰值时,DotNet Agent将不再抓取应用程序运行数据。

  •  当堆积任务大于“5000”时,DotNet Agent会在运行日志中进行记录并提示。

MinimumTimeToRecordTracer

用于配置DotNet Agent抓取任务的最小时间阀值,默认配置值为“100”毫秒,即响应时间小于100毫秒的Request请求,将不会被记录。

DotNet Agent会以Request请求为单位抓取应用程序堆栈数据并记录时间,为更好的发现问题,提高程序运行效率,当Request 的响应时间小于MinimumTimeToRecordTracer中配置的值时,DotNet Agent将不会抓取此Request请求的堆栈等数据。

MaxmumTraceLine

用于配置DotNet Agent抓取单次Request请求的最大堆栈深度,默认配置值为“500”,即Dotnet插件抓取的最大堆栈深度为“500”。

如果应用程序堆栈深度大于MaxmumTraceLine的值,DotNet Agent将不再抓取。

DealTracerCountInOnthTime

用于配置队列批量处理单元。

SecurityMode

用于配置安全模式,即是否抓取用户信息,设置为“true”时会抓取用户名、密码等信息。

IsInstrumentRumJS

用于配置是否像Web前端页面注入JS,设置为“true”时会自动向应用的Web页面注入一段JS代码来监控页面性能。

FilterKey

用于配置是否过滤敏感数据,主要针对SQL语句的敏感参数值。默认值为“true”,即打开敏感数据过滤功能,打开过滤功能后对应的敏感数据将显示为“##”。不需要过滤敏感数据时,设置为“false”即可。

目前支持过滤的敏感数据包括:

  • SQLServer数据库SQL语句中相关参数的值

  • WebAPI、WebService、WCF相关参数的值

  • Form表单中相关参数的值

SetEnv

环境参数,为空则为生产环境。当此值为qa时打印调试日志。

CpuFusing

是否开启CPU熔断。

Sampling

是否开启采样,此采样规则不同Java版本,此采样规则为同一个URI单位时间内只采集一条数据。

SamplingPoint

采样单位秒。

 此外,您还可以自定义详细的抓取信息。默认情况下,DotNet Agent仅会抓取Request请求的响应时间及当前请求所执行的SQL脚本(如果存在)。当您需要深入了解应用程序运行信息和堆栈时,您可自定义DotNet Agent抓取的程序集及程序集中特定的类、方法或参数。

配置方法如下:

在DotNet Agent conf目录下,使用文本编辑器打开InstrumentActoin.xml文件,文件内容如下图所示。

图片 13.png

在extension结点下新增一个名称为tracer的结点,在assembly、class、method、parameters属性中设置您需要抓取的应用程序集名称、类名称、方法名称或参数名称。其中:

  • 配置文件中只能存在一个名称为extension的根结点,extension结点下可以存在多个名称为tracer的子结点,tracer结点中只能存在一个名称为assembly的属性。

  • assembly属性中配置的应用程序集名称,不需要填写程序的扩展名“.dll”。

  • assambly为必需设置的属性,class、method、parameters属性可根据需要选择是否设置。

图片 14.png

注意:修改“InstrumentActoin.xml”文件后,需要重启IIS后才会生效。


管理与卸载DotNet Agent

安装应用DotNetAgent后,您可以管理DotNetAgent,包括启动、停止、重启等。

首先,进入DotNetAgent安装目录下(如cloudwise/DotNetAgent),然后执行相应命令管理DotNetAgent。 

启动DotNet Agent

在Windows系统中,执行以下命令可以启动DotNet Agent:

.\dotNetAgent.bat start

停止DotNet Agent

在Windows系统中,执行以下命令可以停止DotNet Agent:

.\dotNetAgent.bat stop

重启DotNet Agent

在Windows系统中,执行以下命令可以重启DotNet Agent:

.\dotNetAgent.bat restart

查看DotNet Agent状态

在Windows系统中,执行以下命令可以查看DotNet Agent状态:

.\dotNetAgent.bat status

兼容性说明

目前,DotNet Agent支持的.Net框架、应用框架、应用服务器、开发语言、数据库等说明如下:

.NET框架+OS

类型

支持类型/版本

Framework4.0 + Windows Server 2008 R2 SP1(195)

Web/App Server

IIS 7.5

SQL数据库

  • SQL Sever

  • MySQL 5.3.2.0

NoSQL数据库

ServiceStack.Redis-V4.0.17

Framework4.0 + Windows Server 2008 R2(6.104)

Web/App Server

IIS 7.5

应用框架

Web API

SQL数据库

  • SQL Sever

  • MySQL 5.3.2.0

Framework4.0 + Windows Server 2008 SP1

Web/App Server

IIS 7.0

SQL数据库

SQL Sever

NoSQL数据库

  • ServiceStack.Redis-V4.0.17

  • MongDB.dll-v0.9

Framework4.0 + Windows Server 2012 R2

Web/App Server

IIS 8.5

应用框架

  • MVC 3.0

  • Web API

  • Web Services

  • WCF

SQL数据库

  • Oracle

  • SQL Sever

  • MySQL 5.2.3.0

NoSQL数据库

ServiceStack.Redis-V4.0.17

Framework4.0 + Windows Server 2012

Web/App Server

IIS 8.0

SQL数据库

SQL Sever

NoSQL数据库

ServiceStack.Redis-V4.0.17

Framework4.5 + Windows Server 2008 R2 SP1

Web/App Server

IIS 7.5

NoSQL数据库

ServiceStack.Redis-V4.0.17

Framework4.5 + Windows Server 2008 R2

Web/App Server

IIS 7.5

NoSQL数据库

ServiceStack.Redis-V4.0.17

Framework4.5 + Windows Server 2012 R2

Web/App Server

IIS 8.5

SQL数据库

SQL Sever

NoSQL数据库

  • ServiceStack.Redis-V4.0.17

  • MMemcached.ClientLibray-v1.0.0

  • MongDB.dll-v2.0

  • MongDB.dll-v0.9

Framework4.6 + Windows Server2016

Web/App Server

IIS 10

SQL数据库

SQL Sever

NoSQL数据库

ServiceStack.Redis-V4.0.17