要监控.NET应用,在透视宝云端的“配置→应用”页面中选择“.NET”语言,按照页面中的引导安装DotNet Agent,详细说明如下。
获取授权编号
授权编号是透视宝用户身份识别的License Key,每个用户对应一个唯一的授权编号,在后续配置中需要使用。
安装SendProxy(可选)
SendProxy是主机与透视宝平台通讯的插件,如果您的主机需要与透视宝平台直接通讯且没有安装过SendProxy,请下载并安装该插件,详细说明请参考“安装SendProxy”。
下载DotNet Agent安装包
DoNet Agent只支持Windows系统。
点击<下载DotNet Agent(版本)>按钮,下载最新版本的DotNet Agent安装包。
安装DotNet Agent
1、解压缩安装包
2、注册DotnetAgent,进入解压目录执行命令
.\DotnetAgent.bat init
3、输入已生成的License Key
4、输入SendProxy IP地址,直接回车默认IP为127.0.0.1
5、输入SendProxy UDP端口,直接回车默认UDP端口为26799
6、输入SendProxy TCP端口,直接回车默认TCP端口为26789
7、启动DotnetAgent,输入Y后,会重启IIS服务
.\dotNetAgent.bat start
配置DotNet Agent
注意:为了保证DotNet Agent能够获取数据,IIS应用程序池的配置需要选择“集成模式”。
安装DotNet Agent后,您可以在DotNet Agent conf目录的app.conf文件中查看可配置项,主要配置项及相关说明见下表:
配置项 | 说明 |
HostKey | 主机唯一标识。 |
HostId | 与HostKey关联的一个主机唯一编号。 |
TransferProtocol | 用于设置默认数据发送方式,可以设置为udp或tcp。 |
SendProxyHost | 用于设置SendProxy的IP地址。 |
SendProxyUdpPort | 用于设置SendProxy的udp端口。 |
SendProxyTcpPort | 用于设置SendProxy的tcp端口 |
SendProxy | 用于设置SendProxy 的完整路径。 |
Log | 用于设置日志级别。 |
CustomInstrumentRumJSUri | 用于设置JS脚本地址。 |
IsCatchFormAndCookieInfo | 用于设置是否抓取cookie数据,设置为“true”抓取,设置为“false”则不抓取。 |
SetEnv | 环境参数,为空则为生产环境。 |
WcfIp | 配置WCF服务的IP地址,实现端到端。 |
WcfPort | 配置WCF服务的端口,实现端到端。 |
TransferProtocol | 用于配置数据发送端口,默认配置为tcp,即使用TCP端口发送数据。 如果需要使用UDP端口来发送数据,直接将TransferProtocol对应的值“tcp”修改为“udp”即可。 |
MaxmusSizeInTracerbus | 用于配置Dotnet插件堆积的最大任务数量,默认配置值为“6000”,即当前Dotnet插件可堆积的最大任务数量为“6000”。 Dotnet插件运行时会不断抓取应用程序的运行数据并放入任务处理队列,Dotnet插件会以分钟为单位定时处理和发送这些数据,为避免产生性能问题和堆积任务过多,当数据量达到一个峰值时,Dotnet插件将不再抓取应用程序运行数据。 注:当堆积任务大于“5000”时,Dotnet插件会在运行日志中进行记录并提示。 |
MinimumTimeToRecordTracer | 用于配置Dotnet插件抓取任务的最小时间阀值,默认配置值为“200”毫秒,即响应时间小于200毫秒的Request请求,将不会被记录。 Dotnet插件会以Request请求为单位抓取应用程序堆栈数据并记录时间,为更好的发现问题,提高程序运行效率,当Request 的响应时间小于MinimumTimeToRecordTracer中配置的值时,Dotnet插件将不会抓取此Request请求的堆栈等数据。 |
MaxmumTraceLine | 用于配置Dotnet插件抓取单次Request请求的最大堆栈深度,默认配置值为“500”,即Dotnet插件抓取的最大堆栈深度为“500”。 如果应用程序堆栈深度大于MaxmumTraceLine的值,Dotnet插件将不再抓取。 |
DealTracerCountInOnthTime | 用于配置队列批量处理单元。 |
SecurityMode | 用于配置安全模式,即是否抓取用户信息,设置为“true”时会抓取用户名、密码等信息。 |
IsInstrumentRumJS | 用于配置是否像Web前端页面注入JS,设置为“true”时会自动向应用的Web页面注入一段JS代码来监控页面性能。 |
FilterKey | 用于配置是否过滤敏感数据,主要针对SQL语句的敏感参数值。默认值为“true”,即打开敏感数据过滤功能,打开过滤功能后对应的敏感数据将显示为“##”。不需要过滤敏感数据时,设置为“false”即可。 目前支持过滤的敏感数据包括:
|
以下参数用于配置对Redis的监控方式 | |
MonitorRedis | 用于设置是否监控Redis的运行,设置为“true”则监控,设置为“false”则不监控。 |
IsAllwaysMonitorRedis | 用于设置是否一直监控Redis的运行,设置为“true”则一直监控,设置为“false”则需要通过下面两个参数设置监控时间。 |
MonitorRedisStartTime | 用于设置开始监控Redis的时间,例如设置为“2016-5-18 08:00:00”,则Dotnet插件会从2016年5月18日的8点开启对Redis的监控。 |
MonitorRedisTime | 用于设置开启监控后执行的时间,即监控Redis的时长,单位为分钟。例如设置为“30”,则Dotnet插件会持续监控Redis 30分钟,2016年5月18日的8点开启对Redis的监控后,会持续到8点30分后停止监控。 |
以下参数用于配置对Memcache的监控方式 | |
MonitorMemcached | 用于设置是否监控Memcache的运行,设置为“true”则监控,设置为“false”则不监控。 |
IsAllwaysMonitorMemcached | 用于设置是否一直监控Memcache的运行,设置为“true”则一直监控,设置为“false”则需要通过下面两个参数设置监控时间。 |
MonitorMemcachedStartTime | 用于设置开始监控Memcache的时间,例如设置为“2016-5-18 08:00:00“,则Dotnet插件会从2016年5月18日的8点开启对Memcached的监控。 |
MonitorMemcachedTime | 用于设置开启监控后执行的时间,即监控Memcache的时长,单位为分钟。例如设置为“30”,则Dotnet插件会持续监控Memcache 30分钟,2016年5月18日的8点开启对Memcache的监控后,会持续到8点30分后停止监控。 |
此外,您还可以自定义详细的抓取信息。默认情况下,Dotnet插件仅会抓取Request请求的响应时间及当前请求所执行的SQL脚本(如果存在)。当您需要深入了解应用程序运行信息和堆栈时,您可自定义Dotnet插件抓取的程序集及程序集中特定的类、方法或参数。
配置方法如下:
在Dotnet插件conf目录下,使用文本编辑器打开InstrumentActoin.xml文件,文件内容如下图所示。
在extension结点下新增一个名称为tracer的结点,在assembly、class、method、parameters属性中设置您需要抓取的应用程序集名称、类名称、方法名称或参数名称。其中:
配置文件中只能存在一个名称为extension的根结点,extension结点下可以存在多个名称为tracer的子结点,tracer结点中只能存在一个名称为assembly的属性。
assembly属性中配置的应用程序集名称,不需要填写程序的扩展名“.dll”。
assambly为必需设置的属性,class、method、parameters属性可根据需要选择是否设置。
注意:修改“InstrumentActoin.xml”文件后,需要重启IIS后才会生效。