进行应用监控的自定义设置(如调用链采样设置、Agent开关等)。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
arms:SaveTraceAppConfig | none | *TraceApp acs:arms:{#regionId}:{#accountId}:traceapp/{#Pid} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Pid | string | 是 | 应用 ID。 在 ARMS 控制台的应用监控>应用列表页面单击目标应用名称。此时浏览器地址栏中的 URL 即包含应用的 pid,格式为 pid=xxx。由于浏览器进行了编码,因此需要对 pid 稍作修改。例如,如果 URL 中包含的 pid 为 xxx%4074xxx,则需要将%40 替换为@,即:xxx@74xxx。 | a2n80plglh@745eddxxx |
Settings | array<object> | 否 | 自定义设置列表。 | |
object | 否 | 自定义设置列表。 | ||
Key | string | 否 | 自定义设置,各设置的详细字段见下文补充说明。 | sampling.enable |
Value | string | 否 | 自定义设置,各设置的详细字段见下文补充说明。 | true |
采样设置
Key | 字段说明 | Value |
---|---|---|
sampling.rate | 固定比例采样采样率 | 0~100 之间,默认为 10。 |
sampling.useSamplingStrategyV2 | 是否使用自适应采样 | 取值: - true:开启自适应采样。 - false(默认):关闭自适应采样。 |
sampling.v2config.spanNames4FullSampleStr | 全采样接口名 | 示例: "/api/v1/user"。 |
sampling.v2config.spanNamePrefixes4FullSampleStr | 全采样接口前缀 | - |
sampling.v2config.spanNameSuffixes4FullSampleStr | 全采样接口后缀 | - |
探针开关设置
Key | 字段说明 | Value |
---|---|---|
enable | 探针开关 | 取值: - true:开启监控。 - false(默认):关闭监控。 |
akka.enable | 插件开关 | 取值: - true(默认) - false |
cassandra.enable | 插件开关 | 取值: - true(默认) - false |
dubbo.enable | 插件开关 | 取值: - true(默认) - false |
elasticsearch.enabled | 插件开关 | 取值: - true(默认) - false |
elasticjob.enable | 插件开关 | 取值: - true(默认) - false |
googlehttpclient.enable | 插件开关 | 取值: - true(默认) - false |
grpc.enable | 插件开关 | 取值: - true(默认) - false |
hsf.enable | 插件开关 | 取值: - true(默认) - false |
httpclient3.enable | 插件开关 | 取值: - true(默认) - false |
httpclient4.enable | 插件开关 | 取值:- true(默认) - false |
influxdb.enable | 插件开关 | 取值: - true(默认) - false |
jdbc.druid.enable | 插件开关 | 取值: - true(默认) - false |
jdbc.hikaricp.enable | 插件开关 | 取值: - true(默认) - false |
jdkhttp.enable | 插件开关 | 取值: - true(默认) - false |
jetty.enable | 插件开关 | 取值: - true(默认) - false |
liberty.enable | 插件开关 | 取值: - true(默认) - false |
mongodb.enable | 插件开关 | 取值: - true(默认) - false |
memcached.enable | 插件开关 | 取值: - true(默认) - false |
mysql.enable | 插件开关 | 取值: - true(默认) - false |
netty.enable | 插件开关 | 取值: - true(默认) - false |
okhttp.enable | 插件开关 | 取值: - true(默认) - false |
oracle.enable | 插件开关 | 取值: - true(默认) - false |
postgresql.enable | 插件开关 | 取值: - true(默认) - false |
play.enable | 插件开关 | 取值: - true(默认) - false |
quartz.enable | 插件开关 | 取值: - true(默认) - false |
redis.enable | 插件开关 | 取值: - true(默认) - false |
redis.redisson.enable | 插件开关 | 取值: - true(默认) - false |
lettuce.enable | 插件开关 | 取值: - true(默认) - false |
reactor.enable | 插件开关 | 取值: - true(默认) - false |
rabbitmq.client.enable | 插件开关 | 取值: - true(默认) - false |
kafka.enable | 插件开关 | 取值: - true(默认) - false |
onsclient.enable | 插件开关 | 取值: - true(默认) - false |
rxjava.enable | 插件开关 | 取值: - true(默认) - false |
schedulerx.enable | 插件开关 | 取值: - true(默认) - false |
servlet.enable | 插件开关 | 取值: - true(默认) - false |
spring.enable | 插件开关 | 取值: - true(默认) - false |
springBean.enable | 插件开关 | 取值: - true(默认) - false |
tomcat.enable | 插件开关 | 取值: - true(默认) - false |
vertx.enable | 插件开关 | 取值: - true(默认) - false |
weblogic.enable | 插件开关 | 取值: - true(默认) - false |
undertow.enable | 插件开关 | 取值: - true(默认) - false |
motan.enable | 插件开关 | 取值: - true(默认) - false |
ning.asynchttpclient.enable | 插件开关 | 取值: - true(默认) - false |
xxljob.enable | 插件开关 | 取值: - true(默认) - false |
mybatis.enable | 插件开关 | 取值: - true(默认) - false |
应用日志关联配置
Key | 字段说明 | Value |
---|---|---|
logging.enable | 关联业务日志与 TraceId 开关 | 取值: - true(默认):开启关联业务日志与 TraceId 开关。 - false:关闭关联业务日志与 TraceId 开关。 开启后业务日志中会自动生成调用链的 TraceId。 |
logging.injectTraceId2Log.enable | 是否自动往用户日志注入 TraceId | 取值: - true - false(默认) |
logging.injectSpanId2Log.enable | 是否自动往用户日志注入 SpanId | 取值: - true - false(默认) |
logging.inject2MDC.enable | 是否往用户 MDC 放置 Trace 上下文 | 取值: - true - false(默认) |
SLS.bindType | 关联类型 | 取值: - logstore - storeview |
SLS.project | 当前区域业务日志的 project | 当前区域业务日志的 project。 |
SLS.logStore | 当前区域业务日志的 logstore | 当前区域业务日志的 logstore。 |
SLS.index | 当前区域业务日志的关联索引 | 取值: - 当指定全文索引时,不传。 - 指定字段索引时,取值为相应的字段名。例如:SLS.index: tag。 字段索引及全文索引的区别,请参见配置索引。 |
SLS.storeView | StoreView 名称 | 当前区域业务日志的 StoreView。 |
URL 收敛设置
Key | 字段说明 | Value |
---|---|---|
convergence.enable | 收敛 URL | 取值: - true(默认):开启收敛 URL。 - false:关闭收敛 URL。 |
convergence.minServerSize | 收敛阈值 | 默认 1000,大于此阈值即进行收敛。 |
convergence.pattern | 收敛规则正则表达式 | 可使用正则表达式设置收敛规则,多个正则表达式之间以英文逗号(,)分隔,直接填写 URL 原文表示不收敛此 URL,例如:/service/(.*?)/demo。 |
Arthas 监控
Key | 字段说明 | Value |
---|---|---|
arthas.enable | Arthas 开关 | 取值: - true(默认):开启 Arthas 开关。 - false:关闭 Arthas 开关。 |
arthas.enableIps | 生效实时 IP | 配置启用 Arthas 诊断的 IP,如果填写,Arthas 诊断仅对特定 IP 有效,不填写则默认对所有 IP 生效。多个 IP 请使用英文逗号(,)分割。 |
持续性能剖析设置
Key | 字段说明 | Value |
---|---|---|
cp.enable | 持续剖析开关 | 取值: - true:开启持续剖析开关。 - false:关闭持续剖析开关。 该开关开启后,需要配置生效 IP 或生效网段。 |
cp.cpuEnable | 是否开启 CPU 热点 | 取值: - true - false |
cp.cpuInterval | 采样频率,每次线程执行 CPU 耗时达到阈值后进行 CPU 热点方法栈采集。从 4.x 版本探针开始生效。 | 取值范围 1~1000ms,默认值:10ms |
cp.allocEnable | 是否开启内存热点 | 取值: - true - false |
cp.allocInterval | 采样阈值,每次线程申请对应大小堆内存后进行内存热点方法栈采集。 从 4.x 版本探针开始生效。 | 取值范围 256~10240KB,默认值:1024KB |
cp.wallClockEnable | 是否开启代码热点 | 取值: - true - false |
cp.wallClockInterval | 采样频率,每次线程运行相关时长后进行代码热点方法栈采集。从 4.x 版本探针开始生效。 | 取值范围 1~1000ms,默认值:10ms |
cp.allowIPs | 生效 IP。指定生效的 IP 地址,多个 IP 用英文逗号分隔。 | 示例:10.10.1.1,10.10.1.2 |
cp.allowNetwork | 生效网段。3.2.x+版本探针支持 0.0.0.0/0 地址。 | 示例:192.0.0.0/8 |
信息脱敏设置
Key | 字段说明 | Value |
---|---|---|
sanitizer.enable | 信息脱敏开关 | 取值: - true(默认):开启信息脱敏开关。 - false:关闭信息脱敏开关。 |
sanitizer.keys | 脱敏规则 | 默认支持如示例规则,对 key 进行直接匹配,以 password 为例,规则等同于正则式 .password.,不分区大小写。多个规则之间以英文逗号分隔。 示例:password,secret,key,token,credentials |
接口调用配置
Key | 字段说明 | Value |
---|---|---|
thresholds.interface | 慢调用阈值 | 默认为 500,单位为 ms。当接口响应时间大于该阈值的时候,该接口会被标记为慢调用。 |
error.skip | 错误码过滤,配置的 HTTP 状态码不会被统计为错误调用 | 示例值:"404,403"。 |
defined.excludeurl | 无效接口调用过滤 | 支持以英文逗号(,)分隔多个接口调用。 示例:/service/taobao,/service/status。 |
metrics.prpc.enable | 接口调用指标是否记录上游接口名 | 取值: - true(默认) - false |
metrics.ppid.enable | 接口调用指标是否记录上游应用名 | 取值: - true(默认) - false |
http.metrics.recordHttpCode | 接口调用指标是否记录原始状态码 | 取值: - true - false(默认) |
数据库调用配置
Key | 字段说明 | Value |
---|---|---|
thresholds.sql | 慢 SQL 阈值。当 SQL 查询的耗时大于该阈值的时候,该查询会被标记为慢 SQL。 | 默认为 500,单位为 ms。 |
callsql.maxLength | 采集 SQL 最大保留长度。当 SQL 语句大于该阈值的时候,会被截断。 | 默认为 1024 个字符,最小长度为 256 个字符,最大长度为 4096 个字符。 |
jdbc.tracesqlbindvalue | 是否展示 SQL 中的变量绑定值 | 取值: - true:开启捕获 PrepareStatement 参数绑定变量值开关。 - false(默认):关闭捕获 PrepareStatement 参数绑定变量值开关。 |
jdbc.tracesqlraw | 是否展示 SQL 中的常量值 | 取值: - true - false(默认) |
preparestatement.response.size | 是否记录 MySql 查询返回值大小 | 取值: - true - false(默认) |
Trace 上下文传播协议设置
Key | 字段说明 | Value |
---|---|---|
trace.protocol.name | 首选传播协议 | 可配置为 EagleEye、W3C、Skywalking、Zipkin、Jager。 |
trace.protocol.strategy | 传播模式 | 首选传播协议的传播策略,默认未 Unset,可设置为 PriorityUse 或 ForceUse。 |
消息队列配置
Key | 字段说明 | Value |
---|---|---|
rabbitmq.client.consumer.classes | 自定义 RabbitMQ 消费者。通过设置自定义消费者的类名或者包含匿名内部消费者的类名,可以看到该消费者的调用链路。 | 多个消费者以英文半角逗号(,)分隔。示例:com.xxx.xxx.RabbitMQConsumer |
kafka.consumer.entryPoint | 自定义 Kafka 消费方法。通过自定义消费方法,可以在通过 Kafka 原生 SDK 消费消息的场景下看到链路以及指标数据。 | 需要设置的自定义消费方法的需要包含一个类型为 org.apache.kafka.clients.Consumer.ConsumerRecord 或者 org.apache.kafka.clients.consumer.ConsumerRecords 的参数。 |
kafka.enableInjectKafkaHeaders | kafka 发送消息自动透传上下文。发送时自动往 Kafka 消息中添加若干个 Header 用于关联发送链路和消费链路。 | 取值: - true - false (默认) |
探针采集配置
Key | 字段说明 | Value |
---|---|---|
sampling.enable | 是否采集调用链 | 取值: - true(默认) - false |
thresholds.limit | 探针每秒最大链路采集量。保护性手段,防止大流量场景下因为链路采集影响业务正常运行。高于默认值会消耗额外的系统资源,请您谨慎操作! | 默认值:100 |
control.flow.threshold | 探针最大可处理 QPS 阈值。每秒请求量超过该阈值后,超出部分请求不再记录 span 和生成指标,探针 4.1.10 版本开始生效。 | 默认值:10000 |
metricsAndSpan.entranceless.enable | 是否采集无入口内部调用的数据 | 取值: - true(默认) - false |
log.report.level | 探针日志级别 | DEBUG、INFO、WARN(默认)、ERROR |
异常高级过滤配置
Key | 字段说明 | Value |
---|---|---|
exception.fromInstrumentedMethod.enable | 是否采集插件异常。 | 取值: - true(默认) - false |
exception.stacktrace | 同类异常堆栈区分深度 | 默认为 2。基于此堆栈深度识别同类型的异常。修改此配置会造成非预期的统计行为,请您谨慎操作! |
exception.whitelist | 异常过滤白名单 | 默认值:""。 示例值:"java.lang.RuntimeException"。 |
exception.filterByParentClass | 异常过滤父类继承。打开后,异常过滤中可配置父类异常。所有继承该父类的异常都会被过滤。该功能仅支持 4.1.6 及以上版本探针。 | 取值: - true - false(默认) |
exception.advancedWhitelist | 异常 message 过滤。 | 默认值:""。 示例:[{"exceptionName":"java.lang.RuntimeException","messageStartsWith":"prefixString"},{"exceptionName":"java.lang.NullPointerException","messageEndsWith":"suffixString"},{"exceptionName":"java.lang.IndexOutOfBoundsException","messageContains":"keyword"}] 对于上面配置,当满足下述条件时对应的异常会被过滤: 异常为 java.lang.RuntimeException 且异常 message 以 prefixString 开头。 异常为 java.lang.NullPointerException 且异常 message 以 suffixString 结尾。 异常为 java.lang.IndexOutOfBoundsException 且异常 message 包含 keyword 关键字。 |
池化监控配置
Key | 字段说明 | Value |
---|---|---|
threadpoolmonitor.enable | 线程池、连接池监控 | 取值: - true(默认) - false |
threadpoolmonitor.threadNamePatternExtractStrategy | 线程池线程名模式提取策略 | REPLACE_ALL_DIGITAL 代表将线程名中所有数字替换为得到线程名模式。 REPLACE_TAIL_DIGITAL 代表将线程名中结尾的数字替换为得到线程名模式。 |
threadpoolmonitor.threadPoolUsage.blacklist | 线程池使用场景过滤。不采集的线程池线使用场景,如果线程池的使用场景匹配上,则该线程池不监控。 | 默认值:""。 示例值:"Tomcat,Vertx"。 |
threadpoolmonitor.threadNamePattern.blacklist | 线程池线程名模式过滤。不采集的线程池线程名模式黑名单,如果线程池的线程名模式匹配上,则该线程池不监控。 | 默认值:""。 示例值:"http-nio-*-*, pool-1-thread-*"。 |
Span Attribute 配置
Key | 字段说明 | Value |
---|---|---|
otel.attribute.enable | 记录 OTel Spec 约定 attributes | 取值: - true - false(默认) |
tags.injection.strategy | Span 关联应用标签配置 | ALL_SPAN 代表对标签会注入到所有的 span 中。 INCOMING_SPAN 代表标签仅会注入到入口 span 中。 |
高级设置
Key | 字段说明 | Value |
---|---|---|
quantile.enable | 是否记录分位数指标 | 取值: - true(默认) - false |
callstack.maxLength | 方法堆栈最大保留长度 | 默认为 128。超出长度的方法栈将会在采集的时候被截断。高于默认值会消耗额外的系统资源,请您谨慎操作! |
compress.enable | 调用链压缩,是否将重复调用(比如 for 循环)简化。 | 取值: - true(默认) - false |
param.maxLength | 请求入参最大展示长度 | 默认为 512。高于默认值会消耗额外的系统资源,请谨慎操作。 |
thread.match.package | 异步透传扫描包名。4.x 以上探针自动支持异步透传,无需配置。 | - |
responseInject.enable | HTTP 返回结果中包含 TraceId | 取值: - true - false(默认) |
metrics.jvm.captureGcCause | 是否记录 JVM GC Cause 信息。探针需升级到 4.4.0 版本。 | 取值: - true - false(默认) |
返回参数
示例
正常返回示例
JSON
格式
{
"Data": "success",
"RequestId": "78901766-3806-4E96-8E47-CFEF59E4****",
"Message": "message",
"Code": 200,
"Success": true
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | ParameterMissing | You must specify the parameter. | 必选参数缺失 |
400 | ParameterTraceAppSettingKeyIllegal | The application configuration key is invalid. | 应用监控自定配置key非法 |
400 | ParameterTraceAppSettingValueIllegal | The application configuration value is invalid. | 应用监控自定配置value非法 |
400 | InternalError | InterPlease try again. Contact the DingTalk service account if the issue persists after multiple retries. | - |
404 | AppNotExist | The application does not exist. | 应用不存在 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-11-06 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-08-14 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-08-03 | OpenAPI 返回结构发生变更 | 查看变更详情 |