全部产品
Search
文档中心

应用实时监控服务ARMS:Java应用自定义配置

更新时间:Aug 26, 2024

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

说明

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

前提条件

重要

ARMS应用监控面向已开通新版计费的用户提供全新的监控详情页面,新版计费详情,请参见产品计费(新版)

对于未开通新版计费的用户,如需查看新版监控详情页面,可在应用列表页面单击切换新版

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

功能入口

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

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

    说明

    语言列的图标含义如下:

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

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

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

  3. 在上方导航栏选择应用配置 > 自定义配置

  4. 设置自定义配置参数,设置完成后,单击保存

采样设置

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

image.png

探针开关设置

探针开关设置区域,可以控制应用监控的启停并调整各插件开关。

重要

应用监控的启停修改即时生效,无需重启应用。如果暂停应用监控,则系统将无法监控您的应用,请谨慎操作。要使对各插件开关的修改生效,必须手动重启应用。

image.png

线程分析设置

线程分析设置区域,可以打开或关闭线程分析总控开关、定期保存本地方法栈信息开关,并设置高耗时调用阈值。

说明

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

image.png

应用日志关联配置

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

image

URL收敛设置

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

image.png

Arthas监控

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

说明

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

image.png

持续剖析设置

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

image.png

信息脱敏设置

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

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

接口调用配置

接口调用配置区域,可以设置慢调用阈值,并调整异常白名单、HTTP状态码白名单以及调整无效接口调用过滤策略。

  • 异常白名单:输入不需要查看的异常名,从而将其从异常相关图表隐去。使用正则表达式匹配异常全名,多个异常规则请使用英文半角逗号(,)分隔。

  • 异常过滤父类继承:异常过滤中可配置父类异常。所有继承该父类的异常都会被过滤。该功能仅支持4.1.6及以上版本探针。

  • HTTP状态码白名单:输入不需要查看调用情况的接口,从而将其从接口调用页面隐去。精确匹配HTTP状态码,多个状态码请使用英文半角逗号(,)分隔。

  • 无效接口调用过滤:输入不需要查看调用情况的接口,从而将其从接口调用页面隐去。使用正则表达式匹配无效接口全名,多个规则请使用英文半角逗号(,)分隔。

image.png

数据库调用配置

数据库调用配置区域,可以设置慢SQL阈值、采集SQL最大保留长度,并设置是否展示SQL中的变量绑定值以及常量值。

  • 展示SQL中的变量绑定值:捕获PrepareStatement参数绑定的变量值,无需重启应用即可生效。

  • 展示SQL中的常量值:仅对SQL截断,不做额外处理,无需重启应用即可生效。

image.png

调用链透传协议设置

调用链透传协议设置区域,您可以根据自己的需求选择使用的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

高级设置

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

  • 探针每秒最大链路采集量:探针每秒最大可以处理的请求数量,默认为100,大于该阈值的调用链不会被收集。

  • 探针日志级别:调整探针日志的打印级别,用于问题排查。

  • 暂停采集调用链:控制调用链功能的启停,开关打开时,采集停止。

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

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

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

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

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

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

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

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

将配置复制到其他应用

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

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

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

  2. 如果弹出当前设置未保存对话框,请单击确定保存本应用配置后,再单击保存并批量复制到其他应用

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

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

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

  2. 如果弹出当前设置未保存对话框,请单击确定保存本应用配置后,再单击保存并批量复制到其他应用

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

全局默认配置

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

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

  2. 如果弹出当前设置未保存对话框,请单击确定保存本应用配置后,再单击保存当前应用设置为全局默认配置

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