更新时间:2026-09-18 GMT+08:00

更新策略

功能说明

该接口用于修改策略规则。告警策略支持更新,定时和周期策略不支持更新。

URI

PUT /v1/{project_id}/pe/policy/{policy_id}

参数说明请参见表1

表1 参数说明

参数名称

是否必选

描述

project_id

是

项目ID

policy_id

是

策略ID

请求消息

请求消息头

请求消息头如表2

表2 请求消息头

参数

描述

是否为必选

示例

Content-Type

内容类型

该字段内容填为“application/json;charset=utf-8”

必选

application/json;charset=utf-8

Cluster-Id

集群ID

必选

-

Namespace

命名空间

必选

-

Deployment-Name

应用名

必选

-

请求参数

请求参数如表3

表3 请求参数

参数名称

是否必选

参数类型

取值范围

描述

id

是

String

-

策略ID

name

是

String

策略名称必须为以0~9、a~z、A~Z、下划线(_)或中划线(-)组成的1~64位字符串,且必须以字母开头。

策略名称(不支持修改)

policy_type

是

String

告警策略:ALARM

策略类型(当前只支持告警策略)

rule

是

参见表4

-

触发策略的规则

表4 rule字段数据结构说明

参数名称

是否必选

参数类型

取值范围

描述

conditions

是

参见表5

conditions最多5个,最少1个

匹配条件内容。一个规则可以有多个条件,多个条件之间的关系是“并且”,内部描述了多个详细匹配条件。一个条件可以描述一个metric的匹配方式。

actions

是

参见表6

actions最多5个,最少1个

指定策略匹配成功后执行的动作。

表5 conditions字段数据结构说明

参数名称

是否必选

参数类型

取值范围

描述

metric_namespace

是

String

  • PAAS.CONTAINER应用指标的命名空间
  • PAAS.CUSTOMMETRICS:自定义指标的命名空间

指标命名空间

metric_name

是

String

取值满足表达式[a-zA-Z_:][a-zA-Z0-9_:]*,即指标名称首字符必须为字母或_或:,其他字符由字母数字_:组成,长度为1~255个字符。

指标名称

metric_unit

是

String

-

单位。随指标名称变化而变化,具体信息从AMS接口获取。

period

是

Integer

分别包括20,60,300,900,1800,3600

统计周期,单位:秒

evaluation_periods

是

Integer

1,2,3,4,5

连续周期数

statistic

是

String

当前只支持平均值(average)

统计方式

metric_operation

是

String

包含“>”、“<”。

例如,“>”表示当metric大于metric_thresholdUpdate值时触发actions

指标操作符

metric_threshold

是

Float

[0,2147483647]

阈值条件

表6 actions字段数据结构说明

参数名称

是否必选

参数类型

取值范围

描述

type

是

String

  • scale_out_k8s
  • scale_out_vm
  • scale_in_k8s
  • scale_in_vm
  • scale_out_k8s、scale_out_vm表示扩容。
  • scale_in_k8s、scale_in_vm表示缩容。

含有k8s的表示容器应用,含有vm的表示进程应用。

parameters

是

参见表7

-

包含扩缩容的实例数。

表7 parameters字段数据结构说明

参数名称

是否必选

参数类型

取值范围

描述

scale_unit

是

Integer

在策略组的最小实例数与最大实例数之间

扩缩容的实例数

请求示例

修改告警策略示例

{   
    "id" : "5c2eecea-32ac-42c0-be30-f73b15d68429", 
    "name" : "policy_1", 
    "policy_type" : "ALARM", 
    "rule" : { 
        "conditions" : [{ 
                "metric_namespace" : "PAAS.CONTAINER", 
                "metric_name" : "cpuUsage", 
                "metric_unit" : "Percent", 
                "period" : 60, 
                "evaluation_periods" : 1, 
                "statistic" : "average", 
                "metric_operation" : ">", 
                "metric_threshold" : 70 
            } 
        ], 
        "actions" : [{ 
                "type" : "scale_out_k8s", 
                "parameters" : { 
                    "scale_unit" : 1 
                } 
            } 
        ] 
    } 
}

响应消息

响应参数

响应参数如表8

表8 响应参数

参数名称

参数类型

描述

errorCode

String

错误码

errorMessage

String

详细信息

context

String

修改后策略的详细信息

响应示例

{
   "errorCode": 0,  
   "errorMessage": "",
   "context": { 
        "id" : "5c2eecea-32ac-42c0-be30-f73b15d68429", 
        "name" : "policy_1", 
        "policy_type" : "ALARM", 
        "rule" : { 
            "conditions" : [{ 
                    "metric_namespace" : "PAAS.CONTAINER", 
                    "metric_name" : "cpuUsage", 
                    "metric_unit" : "Percent", 
                    "period" : 60, 
                    "evaluation_periods" : 1, 
                    "statistic" : "average", 
                    "metric_operation" : ">", 
                    "metric_threshold" : 70 
                } 
            ], 
            "actions" : [{ 
                    "type" : "scale_out_k8s", 
                    "parameters" : { 
                        "scale_unit" : 1 
                    }   
                } 
            ] 
        } 
    } 
}

错误码

表9 错误码

错误码

错误信息

处理措施

SVCSTG.PE.4001101

Invalid parameter.

请检查对应的参数是否符合要求。

SVCSTG.PE.4031012

Failed to verify the project ID.

请检查对应的参数是否符合要求。

SVCSTG.PE.4033008

Failed to update the scheduled or periodic policy.

请检查对应的参数是否符合要求。

SVCSTG.PE.5001201

Failed to insert or update data in the background.

请联系技术支持工程师解决。

SVCSTG.PE.5001203

Query error.

请联系技术支持工程师解决。

SVCSTG.PE.5003007

Failed to update the threshold rule.

请联系技术支持工程师解决。