文档

DescribeApplicationScalingRule

更新时间:

调用DescribeApplicationScalingRules接口查询应用的单个弹性伸缩策略。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求头

该接口使用公共请求头,无特殊请求头。更多信息,请参见公共请求和返回头

请求语法

GET /pop/v1/sam/scale/applicationScalingRule HTTP/1.1

请求参数

名称

类型

位置

是否必选

示例值

描述

AppId String Query a0d2e04c-159d-40a8-b240-d2f2c263****

应用ID。

ScalingRuleName String Query test

弹性伸缩策略名称。

返回数据

名称

类型

示例值

描述

RequestId String 73404D3D-EE4F-4CB2-B197-5C46F6A1****

请求ID。

TraceId String 0b57ff7e16243300839193068e****

调用链ID,用于精确查询调用信息。

Data Object

返回结果。

Timer Object

定时弹性伸缩。

EndDate String 2021-04-25

定时弹性伸缩策略的短期结束日期。取值说明如下:

  • BeginDateEndDate取值均为null时,表示长期执行,为默认值。
  • 当取值为具体日期时,例如BeginDate2021-03-25EndDate2021-04-25,表示执行有效期为1个月。
BeginDate String 2021-03-25

定时弹性伸缩策略的短期起始日期。取值说明如下:

  • BeginDateEndDate取值均为null时,表示长期执行,为默认值。
  • 当取值为具体日期时,例如BeginDate2021-03-25EndDate2021-04-25,表示执行有效期为1个月。
Schedules Array of Schedule

单天内触发时间点。

AtTime String 08:00

时间点。格式:时:分

TargetReplicas Integer 2

目标实例数。

MinReplicas Integer 1

最小实例数。

MaxReplicas Integer 10

最大实例数。

Period String * * *

执行定时弹性伸缩策略的周期。取值说明如下:

  • * * *:每天指定时间执行定时策略。
  • * * Fri,Mon:每周指定天数的指定时间执行定时策略,支持多选,GMT+8时区。取值说明如下:
    • Sun:星期日
    • Mon:星期一
    • Tue:星期二
    • Wed:星期三
    • Thu:星期四
    • Fri:星期五
    • Sat:星期六
  • 1,2,3,28,31 * *:每月指定日期的指定时间执行定时策略,支持多选。取值范围[1,31]。若当月无31日,则跳过该日期执行定时策略。
UpdateTime Long 1624330075827

弹性伸缩策略更新时间。单位:毫秒。

AppId String a0d2e04c-159d-40a8-b240-d2f2c263****

应用ID。

CreateTime Long 1624329843790

弹性伸缩策略创建时间。单位:毫秒。

LastDisableTime Long 1641882854484

最近一次禁用弹性伸缩策略的时间。

ScaleRuleEnabled Boolean true

弹性伸缩策略是否启用。取值说明如下:

  • true:启用状态。
  • false:禁用状态。
ScaleRuleType String timing

弹性伸缩策略类型。取值说明如下:

  • timing:定时弹性。
  • metric:监控指标弹性。
  • mix:混合弹性。
Metric Object

监控指标弹性伸缩。

Metrics Array of Metric

监控指标弹性伸缩列表。

MetricTargetAverageUtilization Integer 20

监控指标的目标值。

  • CPU使用率目标值,单位为百分比。
  • 内存使用率目标值,单位为百分比。
  • QPS,单位为秒。
  • 响应时间,单位为毫秒。
  • TCP活跃连接数平均值,单位为个/秒。
  • 公网SLB QPS,单位为秒。
  • 公网SLB响应时间,单位为毫秒。
  • 私网SLB QPS,单位为秒。
  • 私网SLB响应时间,单位为毫秒。
MetricType String CPU

监控指标的触发条件。取值说明如下:

  • CPU:CPU使用率。
  • MEMORY:内存使用率。
  • QPS:JAVA应用1分钟内单个实例的平均QPS。
  • RT:JAVA应用1分钟内应用所有服务接口平均RT值。
  • tcpActiveConn:30秒内单个实例的平均TCP活跃连接数。
  • SLB_QPS:15秒内单个实例的平均公网SLB QPS。
  • SLB_RT:15秒内公网SLB平均响应时间。
  • INTRANET_SLB_QPS:15秒内单个实例的平均私网SLB QPS。
  • INTRANET_SLB_RT:15秒内私网SLB平均响应时间。
SlbProject String test

SLB访问日志Project。

SlbLogstore String test

SLB访问日志Logstore。

Vport String 80

SLB实例端口。

SlbId String lb-xxx

SLB实例ID。

MetricsStatus Object

监控指标弹性状态。

DesiredReplicas Long 2

目标实例数。

NextScaleTimePeriod Integer 3

下一次监控指标弹性的周期。

CurrentReplicas Long 2

当前实例数。

LastScaleTime String 2022-01-11T08:14:32Z

最近一次弹性扩缩的时间。

CurrentMetrics Array of CurrentMetric

当前监控指标弹性数据。

Type String Resource

数据类型。与监控指标关联。

  • Resourcecpumemory的指标取值。
  • PodstcpActiveConn的指标取值。
  • Externalarmsslb的指标取值。
CurrentValue Long 0

当前值。

Name String cpu

触发条件的名称。

  • cpu:CPU使用率。
  • memory:内存使用率。
  • arms_incall_rt:JAVA应用1分钟内单个实例的平均QPS。
  • arms_incall_rt:JAVA应用1分钟内应用所有服务接口平均RT值。
  • tcpActiveConn:TCP活跃连接数。
  • slb_incall_qps:公网SLB QPS。
  • slb_incall_rt:公网SLB响应时间。
  • intranet_slb_incall_qps:私网SLB QPS。
  • intranet_slb_incall_rt:私网SLB响应时间。
NextScaleMetrics Array of NextScaleMetric

下一次监控指标弹性列表。

NextScaleOutAverageUtilization Integer 21

下一次触发扩容条件的监控指标弹性的百分比数值。

NextScaleInAverageUtilization Integer 10

下一次触发缩容条件的监控指标弹性的百分比数值。

Name String cpu

触发条件的名称。

  • cpu:CPU使用率。
  • memory:内存使用率。
  • arms_incall_rt:JAVA应用1分钟内单个实例的平均QPS。
  • arms_incall_rt:JAVA应用1分钟内应用所有服务接口平均RT值。
  • tcpActiveConn:TCP活跃连接数。
  • slb_incall_qps:公网SLB QPS。
  • slb_incall_rt:公网SLB响应时间。
  • intranet_slb_incall_qps:私网SLB QPS。
  • intranet_slb_incall_rt:私网SLB响应时间。
MaxReplicas Integer 3

最大实例数。

MinReplicas Integer 1

最小实例数。

ScaleUpRules Object

应用扩容规则。

Step Long 100

弹性扩容步长。单位时间内最多扩容的实例数。

StabilizationWindowSeconds Long 300

扩容冷却时间。取值范围[0, 3600],单位为秒。默认为0秒。

Disabled Boolean false

是否禁止缩容。取值说明如下:

  • true:开启。
  • false:关闭。
说明 开启后将永远不会缩容该应用的实例,能有效防止在流量高峰期缩容造成业务风险。默认关闭。
ScaleDownRules Object

应用缩容规则。

Step Long 100

弹性缩容步长。单位时间内最多缩容的实例数。

StabilizationWindowSeconds Long 300

缩容冷却时间。取值范围[0, 3600],单位为秒。默认为0秒。

Disabled Boolean false

是否禁止缩容。取值说明如下:

  • true:开启。
  • false:关闭。
说明 开启后将永远不会缩容该应用的实例,能有效防止在流量高峰期缩容造成业务风险。默认关闭。
ScaleRuleName String test

弹性伸缩策略名称。

MinReadyInstances Integer 1

最小存活实例数。取值说明如下:

  • 如果设置为0,应用在升级过程中将会中断业务。
  • 如果设置为-1,最小存活实例数将使用系统推荐值,即取现有实例数的25%。如果当前为5个实例,5×25%=1.25,向上取整后,最小存活实例数为2。
说明 每次滚动部署最小存活的实例数建议≥1,保证业务不中断。
MinReadyInstanceRatio Integer -1

最小存活实例数百分比。取值说明如下:

  • -1:初始化值,表示不采用百分比。
  • 0~100:单位为百分比,向上取整。例如设置为50%,如果当前为5个实例,则最小存活实例数为3。
说明 当和MinReadyInstanceRatio同时传递时,且MinReadyInstanceRatio的取值非-1时,以MinReadyInstanceRatio参数为准。假设MinReadyInstances取值为5MinReadyInstanceRatio取值为50,则会用50来计算最小存活实例数。
Message String success

附加信息。取值说明如下:

  • 请求正常,返回success
  • 请求异常,返回具体异常错误码。
ErrorCode String

错误码。取值说明如下:

  • 请求成功:不返回ErrorCode字段。
  • 请求失败:返回ErrorCode字段。具体信息,请参见本文的错误码列表。
Code String 200

接口状态或POP错误码。取值说明如下:

  • 2xx:成功。
  • 3xx:重定向。
  • 4xx:请求错误。
  • 5xx:服务器错误。
Success Boolean true

重启应用实例是否成功。取值说明如下:

  • true:重启成功。
  • false:重启失败。

示例

请求示例

GET /pop/v1/sam/scale/applicationScalingRule?AppId=a0d2e04c-159d-40a8-b240-d2f2c263****&ScalingRuleName=test HTTP/1.1
Host:sae.aliyuncs.com
Content-Type:application/json

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<DescribeApplicationScalingRuleResponse>
    <RequestId>73404D3D-EE4F-4CB2-B197-5C46F6A1****</RequestId>
    <TraceId>0b57ff7e16243300839193068e****</TraceId>
    <Data>
        <Timer>
            <EndDate>2021-04-25</EndDate>
            <BeginDate>2021-03-25</BeginDate>
            <Schedules>
                <AtTime>08:00</AtTime>
                <TargetReplicas>2</TargetReplicas>
                <MinReplicas>1</MinReplicas>
                <MaxReplicas>10</MaxReplicas>
            </Schedules>
            <Period>* * *</Period>
        </Timer>
        <UpdateTime>1624330075827</UpdateTime>
        <AppId>a0d2e04c-159d-40a8-b240-d2f2c263****</AppId>
        <CreateTime>1624329843790</CreateTime>
        <LastDisableTime>1641882854484</LastDisableTime>
        <ScaleRuleEnabled>true</ScaleRuleEnabled>
        <ScaleRuleType>timing</ScaleRuleType>
        <Metric>
            <Metrics>
                <MetricTargetAverageUtilization>20</MetricTargetAverageUtilization>
                <MetricType>CPU</MetricType>
                <SlbProject>test</SlbProject>
                <SlbLogstore>test</SlbLogstore>
                <Vport>80</Vport>
                <SlbId>lb-xxx</SlbId>
            </Metrics>
            <MetricsStatus>
                <DesiredReplicas>2</DesiredReplicas>
                <NextScaleTimePeriod>3</NextScaleTimePeriod>
                <CurrentReplicas>2</CurrentReplicas>
                <LastScaleTime>2022-01-11T08:14:32Z</LastScaleTime>
                <CurrentMetrics>
                    <Type>Resource</Type>
                    <CurrentValue>0</CurrentValue>
                    <Name>cpu</Name>
                </CurrentMetrics>
                <NextScaleMetrics>
                    <NextScaleOutAverageUtilization>21</NextScaleOutAverageUtilization>
                    <NextScaleInAverageUtilization>10</NextScaleInAverageUtilization>
                    <Name>cpu</Name>
                </NextScaleMetrics>
            </MetricsStatus>
            <MaxReplicas>3</MaxReplicas>
            <MinReplicas>1</MinReplicas>
            <ScaleUpRules>
                <Step>100</Step>
                <StabilizationWindowSeconds>300</StabilizationWindowSeconds>
                <Disabled>false</Disabled>
            </ScaleUpRules>
            <ScaleDownRules>
                <Step>100</Step>
                <StabilizationWindowSeconds>300</StabilizationWindowSeconds>
                <Disabled>false</Disabled>
            </ScaleDownRules>
        </Metric>
        <ScaleRuleName>test</ScaleRuleName>
        <MinReadyInstances>1</MinReadyInstances>
        <MinReadyInstanceRatio>-1</MinReadyInstanceRatio>
    </Data>
    <Message>success</Message>
    <Code>200</Code>
    <Success>true</Success>
</DescribeApplicationScalingRuleResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "73404D3D-EE4F-4CB2-B197-5C46F6A1****",
  "TraceId" : "0b57ff7e16243300839193068e****",
  "Data" : {
    "Timer" : {
      "EndDate" : "2021-04-25",
      "BeginDate" : "2021-03-25",
      "Schedules" : [ {
        "AtTime" : "08:00",
        "TargetReplicas" : 2,
        "MinReplicas" : 1,
        "MaxReplicas" : 10
      } ],
      "Period" : "* * *"
    },
    "UpdateTime" : 1624330075827,
    "AppId" : "a0d2e04c-159d-40a8-b240-d2f2c263****",
    "CreateTime" : 1624329843790,
    "LastDisableTime" : 1641882854484,
    "ScaleRuleEnabled" : true,
    "ScaleRuleType" : "timing",
    "Metric" : {
      "Metrics" : [ {
        "MetricTargetAverageUtilization" : 20,
        "MetricType" : "CPU",
        "SlbProject" : "test",
        "SlbLogstore" : "test",
        "Vport" : "80",
        "SlbId" : "lb-xxx"
      } ],
      "MetricsStatus" : {
        "DesiredReplicas" : 2,
        "NextScaleTimePeriod" : 3,
        "CurrentReplicas" : 2,
        "LastScaleTime" : "2022-01-11T08:14:32Z",
        "CurrentMetrics" : [ {
          "Type" : "Resource",
          "CurrentValue" : 0,
          "Name" : "cpu"
        } ],
        "NextScaleMetrics" : [ {
          "NextScaleOutAverageUtilization" : 21,
          "NextScaleInAverageUtilization" : 10,
          "Name" : "cpu"
        } ]
      },
      "MaxReplicas" : 3,
      "MinReplicas" : 1,
      "ScaleUpRules" : {
        "Step" : 100,
        "StabilizationWindowSeconds" : 300,
        "Disabled" : false
      },
      "ScaleDownRules" : {
        "Step" : 100,
        "StabilizationWindowSeconds" : 300,
        "Disabled" : false
      }
    },
    "ScaleRuleName" : "test",
    "MinReadyInstances" : 1,
    "MinReadyInstanceRatio" : -1
  },
  "Message" : "success",
  "Code" : "200",
  "Success" : true
}

错误码

访问错误中心查看更多错误码。

  • 本页导读 (1)
文档反馈