创建或修改告警规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| AlertId |
integer |
否 |
告警规则 ID。
|
546xxx |
| AlertName |
string |
是 |
告警规则名称。 |
Alert Rule Demo |
| RegionId |
string |
是 |
地域 ID。 |
cn-hangzhou |
| AlertType |
string |
是 |
告警规则类型:
|
APPLICATION_MONITORING_ALERT_RULE |
| AlertStatus |
string |
否 |
设置告警规则运行状态。
|
RUNNING |
| NotifyStrategy |
string |
否 |
指定通知策略。
|
569xxx |
| Pids |
string |
否 |
应用监控或前端监控告警规则关联应用的 PID。 |
["b590lhguqs@40d8deedfa9******"] |
| AutoAddNewApplication |
boolean |
否 |
应用监控或前端监控是否开启新创建应用追加到此告警规则功能。
|
false |
| MetricsType |
string |
否 |
应用监控或前端监控告警规则的告警指标类型。详细信息请参见下方表格。 |
jvm |
| Filters |
string |
否 |
应用监控或前端监控告警规则的筛选条件。 格式如下:
FilterOpt 取值如下:
|
{"DimFilters": [ { "FilterOpt": "ALL", "FilterValues": [], "FilterKey": "rootIp" } ] } |
| AlertRuleContent |
string |
否 |
应用监控或前端监控的告警规则内容。AlertRuleContent 模板如下,模板中各字段含义请参见表格下方的补充说明。
说明
不同的 MetricsType,AlertRuleItems.MetricKey可使用的条件字段不同。应用监控和前端监控支持的指标类型以及各指标对应的告警规则字段,请参见表格下方的补充说明。 |
{ "Condition": "OR", "AlertRuleItems": [ { "Operator": "CURRENT_LTE", "MetricKey": "appstat.jvm.threadcount", "Value": 1000, "Aggregate": "AVG", "N": 10, "Tolerability": 169 } ] } |
| AlertCheckType |
string |
否 |
Prometheus 监控告警规则的告警检查类型。
|
STATIC |
| ClusterId |
string |
否 |
Prometheus 监控告警规则的集群 ID。 |
ceba9b9ea5b924dd0b6726d2de6****** |
| AlertGroup |
integer |
否 |
Prometheus 告警规则的告警分组 ID。
|
-1 |
| PromQL |
string |
否 |
Prometheus 告警规则的 PromQL 语句。 |
node_memory_MemAvailable_bytes{} / node_memory_MemTotal_bytes{} * 100 |
| Duration |
integer |
否 |
Prometheus 告警规则的持续时间,单位为分钟,取值范围[0,1440]。 |
1 |
| Level |
string |
否 |
Prometheus 告警规则的等级。
|
P2 |
| Message |
string |
否 |
Prometheus 告警规则的告警内容。 |
命名空间: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} 内存使用率超过80%, 当前值{{ printf \\\"%.2f\\\" $value }}% |
| Labels |
string |
否 |
Prometheus 告警规则的标签。 |
[ { "Value": "cms_polardb", "Name": "_aliyun_cloud_product" } ] |
| Annotations |
string |
否 |
Prometheus 告警规则的注释。 |
[ { "Value": "PolarDB 慢查询数量", "Name": "_aliyun_display_name" } |
| MetricsKey |
string |
否 |
告警指标。新建 Prometheus 告警规则时,如果 AlertCheckType 设置为 STATIC,MetricsKey 必填。 说明
不同的 AlertGroup,对应的告警指标不同,AlertGroup 和 MetricsKey 的对应关系请参见表格下方的补充说明。 |
pop.status.error |
| Tags |
array<object> |
否 |
告警规则标签(阿里云统一标签)。 |
|
|
object |
否 |
标签。 |
||
| Key |
string |
否 |
标签的键(key)。 |
owner |
| Value |
string |
否 |
标签的值(value)。 |
John |
| MarkTags |
array<object> |
否 |
应用标签。用于应用监控告警规则,筛选告警规则关联的应用。 |
|
|
object |
否 |
关联应用标签。 |
||
| Key |
string |
否 |
标签键。 |
service |
| Value |
string |
否 |
标签值。 |
proudct |
| DataConfig |
string |
否 |
数据配置。dataRevision 字段指定指标无数据时的数据修复方式。
|
{ "dataRevision": 2 } |
| Notice |
string |
否 |
生效时间及通知时间。用于兼容旧版规则。 |
- |
| AlertPiplines |
string |
否 |
报警发送通道配置。用于兼容旧版规则。 |
- |
| NotifyMode |
string |
否 |
通知模式。普通模式或极简模式。
|
NORMAL_MODE |
| Product |
string |
否 |
创建 Prometheus 告警规则时传入,后台会校验是否存在此产品,用于区分云产品过滤查询。 |
clickhouse |
| AutoAddTargetConfig |
string |
否 |
应用监控告警规则-告警应用自动追加配置。
|
{\"autoAddMatchType\":\"REGULAR\",\"autoAddMatchExp\":\".*cbw.*\"} |
| CheckCycle |
integer |
否 |
prometheus 的告警检查周期。 |
1 |
| aliyunLang |
string |
否 |
AlertRuleContent 模版字段说明
{
"Condition": "OR",
"AlertRuleItems": [
{ "Operator": "CURRENT_LTE",
"MetricKey": "appstat.jvm.threadcount",
"Value": 1000,
"Aggregate": "AVG",
"N": 10,
"Tolerability": 169
}
]
}
- Condition:多个告警条件之间的触发逻辑。
OR:满足下述任何一个条件。
AND:同时满足下述条件。
- Operator:告警条件的判断条件。
CURRENT_GTE:大于或等于
CURRENT_LTE:小于或等于
PREVIOUS_UP:环比上升百分比
PREVIOUS_DOWN:环比下降百分比
HOH_UP:与上小时同比上升百分比
HOH_DOWN:与上小时同比下降百分比
DOD_UP:与昨日同比上升百分比
DOD_DOWN:与昨日同比下降百分比
INTERVAL_EXCEED:区间检测。注意:区间检测不支持多条件触发。
MetricKey:具体告警条件的指标。不同的 MetricsType,对应的指标不同。对应关系请参见下方说明。
Value:告警条件阈值。
- Aggregate:告警条件聚合方式。
AVG:平均
SUM:求和
MAX:最大值
MIN:最小值
CONTINUOUS:持续
AVG_WEIGHTED:错误率加权平均值
N:最近 N 分钟。
Tolerability:表示区间容忍度,取值在 1~200 之间。
应用监控 MetricsType 和AlertRuleContent.AlertRuleItems.MetricKey对应关系
| MetricsType | 指标类型 | AlertRuleContent.AlertRuleItems.MetricKey |
| jvm | JVM 监控 | - appstat.jvm.gc.oldgccountinstant:JVM FullGC 次数(瞬时值) - appstat.jvm.gc.oldgctimeinstant:JVM FullGC 耗时(瞬时值) - appstat.jvm.gc.younggccountinstant:JVM YoungGC 次数(瞬时值) - appstat.jvm.gc.younggctimeinstant:JVM YoungGC 耗时(瞬时值) - appstat.jvm.heap_total:JVM 堆内总内存量 - appstat.jvm.heap_used:JVM 堆内使用内存量 - appstat.jvm.non_heap_committed:JVM 非堆内存提交值 - appstat.jvm.non_heap_init:JVM 非堆内存初始值 - appstat.jvm.non_heap_max:JVM 非堆内存最大值 - appstat.jvm.non_heap_used:JVM 非堆总使用内存量 - appstat.jvm.threadblockedcount:JVM 阻塞线程数 - appstat.jvm.threadcount:JVM 线程总数 - appstat.jvm.threaddeadlockcount:JVM 死锁线程数 - appstat.jvm.threadnewcount:JVM 新建线程数 - appstat.jvm.threadrunnablecount:JVM 可运行线程数 - appstat.jvm.threadterminatedcount:JVM 终结线程数 - appstat.jvm.threadtimedwaitcount:JVM 超时等待线程数 - appstat.jvm.threadwaitcount:JVM 等待线程数 |
| saehost | SAE 主机监控 | - appstat.infra.sae.systemcpu:CPU 使用率 - appstat.infra.sae.systemdiskiopsread:磁盘 IOPS 读 - appstat.infra.sae.systemdiskiopswrite:磁盘 IOPS 写 - appstat.infra.sae.systemdiskrate:磁盘使用率 - appstat.infra.sae.systemdiskread:磁盘 IO 吞吐率读 - appstat.infra.sae.systemdisktotal:磁盘总量 - appstat.infra.sae.systemdiskused:磁盘使用量 - appstat.infra.sae.systemdiskwrite:磁盘 IO 吞吐率写 - appstat.infra.sae.systemload:系统负载 - appstat.infra.sae.systemmemrate:内存使用率 - appstat.infra.sae.systemmemtotal:总内存 - appstat.infra.sae.systemmemused:已用内存 - appstat.infra.sae.systemnetrecv:网络接收字节 - appstat.infra.sae.systemnetrecvdrop:网络接收数据丢包 - appstat.infra.sae.systemnetrecverror:网络接收错误数据包 - appstat.infra.sae.systemnetrecvpacket:网络接收数据包 - appstat.infra.sae.systemnettran:网络发送字节 - appstat.infra.sae.systemnettrandrop:网络发送数据丢包 - appstat.infra.sae.systemnettranerror:网络发送错误数据包 - appstat.infra.sae.systemnettranpacket:网络发送数据包 |
| txn_db | SQL 指标 | - appstat.sql.count:数据库调用次数 - appstat.sql.error:数据库调用错误次数 - appstat.sql.rt:数据库调用响应时间 |
| db | 数据库指标 | - appstat.database.count:数据库调用次数 - appstat.database.errcount:数据库调用错误次数 - appstat.database.rt:数据库调用响应时间 |
| threadpool | 线程池监控 | - appstat.threadpool.threadcorepoolsize:核心线程数 - appstat.threadpool.threadmaxpoolsize:最大线程数 - appstat.threadpool.threadpoolactivecount:活跃线程数 - appstat.threadpool.threadpoolqueuesize:队列大小 - appstat.threadpool.threadpoolsize:当前线程数 - appstat.threadpool.threadpooltaskcount:已执行任务数 - appstat.threadpool.threadpoolusedpercent:线程池使用率 |
| exception | 异常接口调用 | - appstat.exception.count:应用异常接口调用次数 - appstat.exception.rt:应用异常接口调用响应时间 |
| txn_type | 应用依赖服务统计 | - appstat.outcall.count:应用依赖服务调用次数 - appstat.outcall.errorrate:应用依赖服务调用错误率 - appstat.outcall.rt:应用依赖服务调用响应时间 |
| txn | 应用提供服务统计 | - appstat.transaction.count:调用次数 - appstat.transaction.error:调用错误次数 - appstat.transaction.errorrate:调用错误率 - appstat.transaction.rt:调用响应时间 |
| host | 主机监控 | - appstat.jvm.systemcpuusage:节点机 CPU 使用率 - appstat.jvm.systemcpuuser:节点机 CPU 用户态占用率 - appstat.jvm.systemdiskfree:节点机空闲磁盘 - appstat.jvm.systemdiskusage:节点机磁盘利用率 - appstat.jvm.systemload:节点机系统负载 - appstat.jvm.systemmemfree:节点机空闲内存 - appstat.jvm.systemmemusage:节点机内存利用率 - appstat.jvm.systemnetinerrs:节点机接受错误报文数 - appstat.jvm.systemnetouterrs:节点机发送错误报文数 |
| scheduler | 定时任务 | - appstat.scheduler.rt:运行时间 - appstat.scheduler.count:运行次数 - appstat.scheduler.error:运行异常次数 - appstat.scheduler.delay:调度延迟时间 |
前端监控 MetricsType 和AlertRuleContent.AlertRuleItems.MetricKey对应关系
| MetricsType | 指标类型 | AlertRuleContent.AlertRuleItems.MetricKey |
| api | API 指标 | - webstat.api.detail.count:API 请求次数 - webstat.api.detail.fail_time:API 失败耗时 - webstat.api.detail.fail_uv:报错 API 的影响用户数 - webstat.api.detail.success_rate:API 成功率 - webstat.api.detail.success_time:API 成功耗时 |
| page.api | 页面 API 指标 | - webstat.api.detail.page_api.count:API 请求次数 - webstat.api.detail.page_api.fail_time:API 失败耗时 - webstat.api.detail.page_api.success_rate:API 成功率 - webstat.api.detail.page_api.success_time:API 成功耗时 |
| page | 页面指标 | - webstat.api.detail.page_api.fail_uv:报错 API 的影响用户数 - webstat.index.pv:页面访问量 - webstat.jserror.count:JS 错误数 - webstat.jserror.rate:JS 错误率 - webstat.msg.top.error_uv:JS 错误影响用户数 - webstat.resource.sum:资源错误数 - webstat.satisfy.satisfy:页面满意度 - webstat.speed.avg_cfpt:页面自定义首屏时间 - webstat.speed.avg_ctti:页面自定义可交互时间 - webstat.speed.avg_dns:页面 DNS 查询时间 - webstat.speed.avg_dom:页面 dom 解析时间 - webstat.speed.avg_fmp:页面首屏时间 - webstat.speed.avg_fpt:页面首次渲染耗时 - webstat.speed.avg_load:页面完全加载时间 - webstat.speed.avg_ready:ready 时间 - webstat.speed.avg_res:页面资源加载时间 - webstat.speed.avg_ssl:页面 SSL 建连时间 - webstat.speed.avg_t1:页面自定义 t1 时间 - webstat.speed.avg_t10:页面自定义 t10 时间 - webstat.speed.avg_t2:页面自定义 t2 时间 - webstat.speed.avg_t3:页面自定义 t3 时间 - webstat.speed.avg_t4:页面自定义 t4 时间 - webstat.speed.avg_t5:页面自定义 t5 时间 - webstat.speed.avg_t6:页面自定义 t6 时间 - webstat.speed.avg_t7:页面自定义 t7 时间 - webstat.speed.avg_t8:页面自定义 t8 时间 - webstat.speed.avg_t9:页面自定义 t9 时间 - webstat.speed.avg_tcp:页面 tcp 连接时间 - webstat.speed.avg_trans:页面内容传输时间 - webstat.speed.avg_ttfb:页面网络请求响应时间 - webstat.speed.avg_tti:页面首次可交互时间 |
| custom | 自定义指标 | - webstat.avg.avg_val:自定义上报均值 - webstat.sum.sum_val:自定义上报求和 |
Prometheus 监控 AlertGroup 和 MetricsKey 对应关系
| AlertGroup | 告警分组 | MetricsKey |
| 1 | Kubernetes 负载 | - prom.workload.container_cpu_usage:容器 CPU 使用率 - prom.workload.job_execute_error:Job 执行失败 - prom.workload.pod_cpu_usage:Pod 磁盘使用率 - prom.workload.pod_start_timeout:Pod 启动超时失败 - prom.workload.pod_restart_frequent:Pod 频繁重启 - prom.workload.pod_status_error:Pod 状态异常 - prom.workload.container_memory_usage:容器内存使用率 - prom.workload.deployment_pod_survival:Deployment Pod 可用率 |
| 15 | Kubernetes 节点 | - prom.node.node_memory_usage:节点内存使用率 - prom.node.node_cpu_usage:节点 CPU 使用率 - prom.node.node_disk_usage:节点磁盘使用率 - prom.node.node_status_error:节点状态异常 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
返回数据结构体 |
||
| RequestId |
string |
请求 ID。 |
337B8F7E-0A64-5768-9225-E9B3CF****** |
| AlertRule |
object |
告警规则对象。 |
|
| AlertId |
integer |
告警规则 ID。 |
5510445 |
| AlertName |
string |
告警规则名称。 |
arms-test |
| UserId |
string |
用户 UID。 |
1131971649****** |
| RegionId |
string |
地域 ID。 |
cn-hangzhou |
| AlertType |
string |
告警规则类型:
|
APPLICATION_MONITORING_ALERT_RULE |
| AlertStatus |
string |
告警规则运行状态。
说明
PAUSED 状态说明告警规则状态异常,被系统主动暂停,可能原因有告警规则唯独值过大或者关联集群已经被删除等。 |
RUNNING |
| CreatedTime |
integer |
告警规则创建时间的时间戳,单位为秒。 |
1641438611000 |
| UpdatedTime |
integer |
告警规则更新时间的时间戳,单位为秒。 |
1641438611000 |
| Extend |
string |
扩展字段。 |
{\"alarmContext\":\"{\\\"content\\\":\\\"报警名称:$报警名称\\\\n筛选条件: $筛选\\\\n报警时间: $报警时间\\\\n报警内容: $报警内容\\\\n注意!:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!\\\",\\\"subTitle\\\":\\\"\\\"}\",\"alertWays\":\"[0,1]\",\"contactGroupIds\":\"381,5075\",\"notice\":\"{\\\"endTime\\\":1480607940000,\\\"noticeEndTime\\\":1480607940000,\\\"noticeStartTime\\\":1480521600000,\\\"startTime\\\":1480521600000}\"} |
| NotifyStrategy |
string |
通知策略名称。 |
ALERT_MANAGER |
| Pids |
array |
应用监控或前端监控告警关联应用的 PID。 |
|
|
string |
应用的 PID。 |
b590lhguqs@40d8deedfa9****** |
|
| AutoAddNewApplication |
boolean |
应用监控或前端监控是否开启新创建应用追加到此告警规则功能。
|
false |
| MetricsType |
string |
应用监控或前端监控告警规则的告警指标类型。 |
JVM |
| AlertRuleContent |
object |
应用监控或前端监控的告警规则内容。 |
|
| Condition |
string |
应用监控或前端监控多个告警条件之间的触发逻辑。
|
OR |
| AlertRuleItems |
array<object> |
应用监控或前端监控告警规则的告警条件。 |
|
|
object |
告警条件对象。 |
||
| N |
number |
最近 N 分钟。 |
1 |
| MetricKey |
string |
具体告警条件的指标。 |
JVM非堆总使用内存量 |
| Aggregate |
string |
告警条件聚合方式。
|
AVG |
| Operator |
string |
告警条件的判断条件。
|
CURRENT_GTE |
| Value |
string |
告警条件阈值。 |
1 |
| Filters |
object |
应用监控或前端监控告警规则的过滤项。 |
|
| DimFilters |
array<object> |
应用监控或前端监控告警规则的过滤项信息。 |
|
|
object |
应用监控或前端监控告警规则的过滤条件对象。 |
||
| FilterKey |
string |
过滤条件 Key。 |
rootIp |
| FilterOpt |
string |
过滤条件操作关系。 |
ALL |
| FilterValues |
array |
过滤条件参数信息。 |
|
|
string |
过滤条件参数。 |
[] |
|
| CustomSLSFilters |
array<object> |
前端监控告警规则的自定义过滤条件。 |
|
|
object |
自定义过滤条件对象。 |
||
| Key |
string |
过滤条件 Key。 |
username |
| Opt |
string |
过滤条件操作关系。
|
= |
| Value |
string |
过滤条件参数值。 |
test |
| T |
string |
仅用于区分前端监控日志类型,其它过滤条件不包含此字段。 |
null |
| Show |
boolean |
此筛选条件是否在前端展示。 |
false |
| CustomSLSGroupByDimensions |
array |
聚合维度信息。 |
|
|
string |
聚合维度参数值。 |
["page"] |
|
| CustomSLSWheres |
array |
设置的筛选条件信息。 |
|
|
string |
设置的筛选条件参数值。 |
["t like '%api%'"] |
|
| AlertCheckType |
string |
Prometheus 监控告警规则的告警检查类型。
|
STATIC |
| ClusterId |
string |
Prometheus 监控告警规则的集群 ID。 |
ceba9b9ea5b924dd0b6726d2de6****** |
| AlertGroup |
integer |
Prometheus 告警规则的告警分组 ID。
|
-1 |
| PromQL |
string |
Prometheus 告警规则的 PromQL 语句。 |
node_memory_MemAvailable_bytes{} / node_memory_MemTotal_bytes{} * 100 |
| Duration |
string |
Prometheus 告警规则的持续时间,单位为分钟。 |
1 |
| Level |
string |
Prometheus 告警规则的等级。
|
P2 |
| Message |
string |
Prometheus 告警规则的告警内容。 |
命名空间: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} 内存使用率超过80%, 当前值{{ printf \\\"%.2f\\\" $value }}% |
| Labels |
array<object> |
Prometheus 告警规则的标签。 |
|
|
object |
标签结构体。 |
||
| Name |
string |
标签键。 |
123 |
| Value |
string |
标签值。 |
abc |
| Annotations |
array<object> |
Prometheus 告警规则的注释。 |
|
|
object |
注释结构体。 |
||
| Name |
string |
注释键。 |
123 |
| Value |
string |
注释值。 |
abc |
| Tags |
array<object> |
告警规则标签(阿里云统一标签)。 |
|
|
object |
标签。 |
||
| Key |
string |
标签键。 |
owner |
| Value |
string |
标签值。 |
John |
| NotifyMode |
string |
通知模式。 |
NORMAL_MODE |
示例
正常返回示例
JSON格式
{
"RequestId": "337B8F7E-0A64-5768-9225-E9B3CF******",
"AlertRule": {
"AlertId": 5510445,
"AlertName": "arms-test",
"UserId": "1131971649******",
"RegionId": "cn-hangzhou",
"AlertType": "APPLICATION_MONITORING_ALERT_RULE",
"AlertStatus": "RUNNING",
"CreatedTime": 1641438611000,
"UpdatedTime": 1641438611000,
"Extend": "{\\\"alarmContext\\\":\\\"{\\\\\\\"content\\\\\\\":\\\\\\\"报警名称:$报警名称\\\\\\\\n筛选条件: $筛选\\\\\\\\n报警时间: $报警时间\\\\\\\\n报警内容: $报警内容\\\\\\\\n注意!:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!\\\\\\\",\\\\\\\"subTitle\\\\\\\":\\\\\\\"\\\\\\\"}\\\",\\\"alertWays\\\":\\\"[0,1]\\\",\\\"contactGroupIds\\\":\\\"381,5075\\\",\\\"notice\\\":\\\"{\\\\\\\"endTime\\\\\\\":1480607940000,\\\\\\\"noticeEndTime\\\\\\\":1480607940000,\\\\\\\"noticeStartTime\\\\\\\":1480521600000,\\\\\\\"startTime\\\\\\\":1480521600000}\\\"}",
"NotifyStrategy": "ALERT_MANAGER",
"Pids": [
"b590lhguqs@40d8deedfa9******"
],
"AutoAddNewApplication": false,
"MetricsType": "JVM",
"AlertRuleContent": {
"Condition": "OR",
"AlertRuleItems": [
{
"N": 1,
"MetricKey": "JVM非堆总使用内存量",
"Aggregate": "AVG",
"Operator": "CURRENT_GTE",
"Value": "1"
}
]
},
"Filters": {
"DimFilters": [
{
"FilterKey": "rootIp",
"FilterOpt": "ALL",
"FilterValues": [
"[]"
]
}
],
"CustomSLSFilters": [
{
"Key": "username",
"Opt": "=",
"Value": "test",
"T": "null",
"Show": false
}
],
"CustomSLSGroupByDimensions": [
"[\"page\"]"
],
"CustomSLSWheres": [
"[\"t like '%api%'\"]"
]
},
"AlertCheckType": "STATIC",
"ClusterId": "ceba9b9ea5b924dd0b6726d2de6******",
"AlertGroup": -1,
"PromQL": "node_memory_MemAvailable_bytes{} / node_memory_MemTotal_bytes{} * 100",
"Duration": "1",
"Level": "P2",
"Message": "命名空间: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} 内存使用率超过80%, 当前值{{ printf \\\\\\\"%.2f\\\\\\\" $value }}%",
"Labels": [
{
"Name": "123",
"Value": "abc"
}
],
"Annotations": [
{
"Name": "123",
"Value": "abc"
}
],
"Tags": [
{
"Key": "owner",
"Value": "John"
}
],
"NotifyMode": "NORMAL_MODE"
}
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。