更新时间:2024-02-01 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.

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