文档

自定义配置

更新时间:

您可以在自定义配置页签上调整探针功能开关、采样策略等常用设置。

说明

如果您需要使用API方式调整,请参见SaveTraceAppConfig

前提条件

已为应用安装探针,具体操作,请参见应用监控接入概述

功能入口

  1. 登录ARMS控制台,在左侧导航栏选择应用监控 > 应用列表

  2. 应用列表页面顶部选择目标地域,然后单击目标应用名称。

    说明

    语言列的图标含义如下:

    Java图标:接入应用监控的Java应用。

    image:接入应用监控的Golang应用。

    -:接入可观测链路 OpenTelemetry 版的应用。

  3. 在左侧导航栏中单击应用设置,并在右侧页面单击自定义配置页签。

  4. 设置自定义配置参数,设置完毕后,在页面底部单击保存

调用链采样设置

调用链采样设置区域,可以打开或关闭调用链采集开关。调用链采样设置

采样率设置

ARMS专家版

采样率设置区域,可以为调用链设置采样策略和采样接口名称。更多详细,请参见调用链采样模式选择(3.2.8以下探针版本)

  • 固定采样率:在采样率设置字段输入百分比的数字部分即可,例如输入10代表采样10%。

  • 自适应采样:自定义需要全采样的接口前缀或后缀。

说明

调用链采样率优先级高于限流阈值。

Chain sampling

ARMS基础版

ARMS基础版支持设置客户端采样策略,并按照采集数据行数进行计费。ARMS默认免费为您账号下所有接口的每个探针每分钟采集一条调用链。除此之外,您还可以单击添加客户端采样策略,添加自定义的采样策略。

设置项

说明

策略名称

自定义采样策略名称。

采样类型采样值

  • 固定比例采样:按照设置的固定比例进行调用链采样。若选择此选项,则采样值设置为固定比例,如10%

  • 流量限额:若选择此选项,采样值需设置每个探针在设定时间范围内采集的调用链条数,如5条Trace/每个探针每1秒,表示每个探针每1秒钟采集5条调用链。

适用接口

设置采样策略生效的接口范围,可选择每个接口指定接口并输入指定的接口名称。

说明

目前每个采样策略在选择指定接口时,仅支持输入一个接口名。若需对多个接口进行调用链采样,则需设置多个采样策略。

完成采样策略设置后,您可以在控制台选择是否开启该策略。多个采样策略会同时生效,但存在优先级如下:默认采样(免费)> 单接口流量限额 > 单接口固定比例采样 > 全部接口流量限额 > 全部接口固定比例采样。您也可以编辑已添加的采样策略,或删除不需要的采样策略。

采样策略-基础版

Agent(探针)开关和日志级别

Agent开关配置区域,可以打开或关闭探针总开关以及各插件开关,并配置日志级别。

重要

探针总开关和日志级别的修改即时生效,无需重启应用。如果关闭探针总开关,则系统将无法监控您的应用,请谨慎操作。要使对各插件开关的修改生效,必须手动重启应用。

Agent Switches

阈值设置

阈值设置区域,可以设置慢SQL查询阈值、接口响应时间阈值和限流阈值。

说明

调用链采样率优先级高于限流阈值。

Threshold Settings

高级设置

高级设置区域,可以设置需过滤的接口、方法堆栈最大长度等。

  • 无效接口调用过滤:输入不需要查看调用情况的接口,从而将其从接口调用页面隐去。

  • 方法堆栈最大长度:默认为128条,最大值为400条。

  • 同类异常堆栈区分深度:同类型异常,用于作为不同异常区分的堆栈深度,一般设置为第一个差异调用的深度。

  • 采集SQL最大长度:默认为1024个字符,最小值为256,最大值为4096。

  • 采集SQL绑定值:捕获PrepareStatement参数绑定的变量值,无需重启应用即可生效,当前仅支持向PrepareStatement中设置SQL变量值的场景。

  • 原始SQL:仅对SQL截断,不做额外处理。

  • 异常过滤:此处输入的异常不会显示在应用详情和异常分析页面的图表中。

  • 错误数过滤:默认情况下,大于400的状态码会计入错误数,您可以自定义大于400但不计入的HTTP状态码。

  • 调用链新格式:采用支持调用链时间排序的新存储格式(默认打开)。

  • 调用链压缩:是否将重复调用(比如for循环)简化,无需重启应用即生效。

  • 请求入参最大长度:默认为512字符,支持的最大长度为2048字符。

  • 分位数统计:是否开启分位数统计功能。

    说明

    分位数:指将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。

  • RabbitMQ自定义消费者:通过设置自定义消费者的类名或者包含匿名内部消费者的类名,可以看到该消费者的调用链路。多个消费者以半角逗号(,)分隔。

  • Kafka自定义消费方法:通过自定义消费方法,可以在通过Kafka原生SDK消费消息的场景下看到链路以及指标数据。

  • kafka发送消息自动透传上下文:发送时自动往Kafka消息中添加若干个Header用以将发送链路以及消费链路关联,注意仅到kafka版本为v0.11.0及以上可打开,否则会导致发送消息异常。

  • 线程池、连接池监控:支持Tomcat/Dubbo/HSF等框架的线程池、连接池指标监控。该设置需重启应用后生效。

  • 自动透传异步:当通过线程池提交异步任务时,自动透传异步上下文。

  • 异步透传扫描包名:添加异步透传扫描包实现异步任务监控。异步透传扫描包中的Runnable、Callable和Supplier接口在创建新对象时会自动捕获当前线程调用链的上下文,并在异步线程中执行时使用该调用链上下文,完成串联。探针版本必须为v2.7.1.3及以上。

  • 请求中返回TraceId:仅针对HTTP类型的请求,在Response Header中返回字段为eagleeye-traceid

  • 内存优化开关:当应用维度比较发散的场景下,探针指标预聚合功能可能导致部分对象进入老年代,造成老年代内存缓慢增长,打开改开关可缓解此现象。探针版本必须为v2.9.0及以上。

线程设置

线程设置区域,可以打开或关闭线程分析总控开关、线程分析方法栈开关,并设置慢调用监听触发阈值。

说明

仅应用监控专家版支持该功能。

Thread Settings

说明

服务调用耗时超过慢调用监听触发阈值(默认值为2000毫秒)时才会启动监听,并一直持续到该次调用结束或超过15秒。建议将此阈值设为调用耗时的第99百分位数。假设有100次调用,则按耗时从小到大排序,排在第99位的耗时就是第99百分位数。

应用日志关联配置

应用日志关联配置区域,可以设置应用关联的日志源信息。更多信息,请参见日志分析

说明

仅应用监控专家版支持该功能。

本地日志分析

URL收敛规则

URL收敛设置区域,可以打开或关闭收敛功能的开关,并设置收敛阈值、收敛规则。URL收敛是指将具有相似性的一系列URL作为一个单独的个体展示,例如将前半部分都为/service/demo/的一系列URL集中展示。收敛阈值是指要进行URL收敛的最低数量条件,例如当阈值为100时,则符合规则正则表达式的URL达到100时才会对它们进行收敛。

URL Aggregation

设置Arthas监控

Arthas监控区域,可以打开或关闭Arthas诊断功能,并设置生效IP。更多信息,请参见Arthas诊断

说明

仅应用监控专家版支持该功能。

自定义配置-Arthas监控

持续剖析

持续剖析区域,可以打开或关闭总开关、CPU热点、内存热点、代码热点功能,并设置生效IP或网段。更多信息,请参见接入持续剖析功能CPU&内存诊断

调用链透传协议设置

调用链透传协议设置区域,您可以根据自己的需求选择使用的Trace协议,ARMS支持的Trace协议请参见ARMS支持Tracing协议

image

默认情况下,当一次调用到来时,ARMS探针会按照EagleEye、OpenTelemetry、SkyWalking、Jaeger、Zipkin的顺序依次探测是否存在该协议约定的请求头,如果探测到某个协议存在,则按照该协议约定恢复Trace上下文,后续调用下游时,也按照该协议约定往请求中塞入相关Header。当上述检测都失败时,默认使用EagleEye协议。

您可以在该页面选择任一协议作为优先协议。选择并保存后,ARMS会优先探测是否存在该协议约定的请求头。例如,按照如下配置,当一次调用到来时,ARMS探针将会改为按照Jaeger、EagleEye、OpenTelemetry、SkyWalking、Zipkin的顺序依次探测是否存在协议约定上下文。

image

您也可以选择强制使用某一种协议。例如,按照如下配置,当一次调用到来时,ARMS探针只会探测是否存在Jaeger协议约定的请求头,如果不存在,不会依次检测其他协议,而是重新生成新的Trace上下文。

image

信息脱敏

信息脱敏区域,通过设置脱敏规则,探针将对JVM系统参数、K8s Yaml、方法入参、Arthas环境变量和系统变量等内容在采集时就进行脱敏处理。脱敏规则中各元素通过英文半角逗号分隔,每一个元素代表一个不区分大小写的正则表达式,以password为例,脱敏规则等同于正则表达式.*password.*信息脱敏

探针在采集数据时会对数据的key按照对应的表达式进行过滤,如果满足条件,该key会被认为包含敏感数据进行脱敏处理。如下图所示,当脱敏规则为licenseKey时,其对-Darms.licenseKey为key的信息进行了脱敏处理。信息脱敏2

将配置复制到其他应用

如果您需要为其他应用同步相同配置,可以将对应配置复制到其他应用上。

将单个配置复制到其他应用

  1. 在对应配置区域单击批量复制到其他应用

  2. 在弹出的对话框中选择生效的应用,然后单击确定

    批量复制

将所有配置复制到其他应用

  1. 在页面底部单击批量复制到其他应用

  2. 在弹出的对话框中选择生效的应用,然后单击确定

    批量复制

全局默认配置

您可以将当前配置保存为全局默认配置,在之后创建新应用时将会默认使用当前配置。

  1. 在页面底部单击保存当前应用设置为全局默认配置

  2. 在弹出的对话框中单击确认